Selaa lähdekoodia

fix 分销人数展示以及明细

zoujiajian 3 vuotta sitten
vanhempi
sitoutus
b459f57ea9

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/distribute/UserDistributeMapper.java

@@ -11,4 +11,6 @@ import com.cyksj.model.entity.UserDistribute;
  */
 public interface UserDistributeMapper extends BaseMapper<UserDistribute> {
 	Integer count(Long userId);
+
+	Integer countUserNum(Long userId);
 }

+ 56 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RegisterDistributeOrdersDetailView.java

@@ -0,0 +1,56 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.OrderDon;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/*
+ *项目名: netflix
+ *文件名: RegisterDistributeOrdersDetailView
+ *创建者: JavaZou
+ *创建时间:2022/12/15 11:22
+ */
+@Getter
+@Setter
+@SearchBean(tables = "distribute_waiting_send_points dp left join order_don od on od.id = dp.order_id" +
+		" left join goods_don gd on gd.id = od.goods_id")
+public class RegisterDistributeOrdersDetailView {
+
+	@DbField("od.created_time")
+	private Date createdTime;
+
+	@DbField("od.money")
+	private BigDecimal money;
+
+	@DbField("od.status")
+	private OrderDon.Status status;
+
+	@DbField("dp.shared_id")
+	@JsonIgnore
+	private Long sharedId;
+
+	@DbField("dp.user_id")
+	private Long userId;
+
+	@DbIgnore
+	private String nickname;
+
+	@DbField("gd.id")
+	private Long goodsId;
+
+	@DbField("gd.title")
+	private String platform;
+
+	@DbField("od.sku_id")
+	private Long skuId;
+
+	@DbIgnore
+	private String specVal;
+}

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserDistributeViews.java

@@ -38,6 +38,12 @@ public class UserDistributeViews {
 	@TableField(exist = false)
 	private Integer orders;
 
+	/**
+	 * 分销人数
+	 */
+	@DbIgnore
+	private Integer distributeUserNum;
+
 	@DbIgnore
 	@TableField(exist = false)
 	private BigDecimal availableMoney;

+ 6 - 0
netflix-dao/src/main/resources/mapper/UserDistributeMapper.xml

@@ -12,4 +12,10 @@
         where us.shared_id = #{userId}
           and od.status not in ('close', 'noPayment')
     </select>
+
+    <select id="countUserNum" resultType="java.lang.Integer">
+        select count(distinct us.user_id)
+        from `user_distribute_shared` us
+        where us.shared_id = #{userId}
+    </select>
 </mapper>

+ 19 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -6,6 +6,7 @@ import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GoodsDonMapper;
+import com.cyksj.mapper.GoodsDonSkuMapper;
 import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.mapper.manage.distribute.DistributeMoneyApplyMapper;
@@ -60,6 +61,8 @@ public class DistributeController {
 
 	private final UserMapper userMapper;
 
+	private final GoodsDonSkuMapper goodsDonSkuMapper;
+
 	/**
 	 * 添加固定推广者
 	 */
@@ -116,6 +119,7 @@ public class DistributeController {
 			view.setGotMoney(money.isPresent() ? money.get() : BigDecimal.ZERO);
 			Integer orders = userDistributeMapper.count(view.getUserId());
 			view.setOrders(orders);
+			view.setDistributeUserNum(userDistributeMapper.countUserNum(view.getUserId()));
 		}));
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
@@ -137,6 +141,21 @@ public class DistributeController {
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
 
+	/**
+	 * 获取新注册的分销用户订单数据
+	 */
+	@GetMapping("/get/register/distribute/order/detail")
+	public Result<SearchResult<RegisterDistributeOrdersDetailView>> getRegisterDistributeOrderDetail(HttpServletRequest request) {
+		SearchResult<RegisterDistributeOrdersDetailView> search = beanSearcher.search(RegisterDistributeOrdersDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		search.getDataList().forEach(data -> {
+			User user = userMapper.selectById(data.getUserId());
+			GoodsDonSku sku = goodsDonSkuMapper.selectById(data.getSkuId());
+			data.setNickname(user != null ? user.getNickname() : "");
+			data.setSpecVal(sku != null ? sku.getSpecVal() : "");
+		});
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
 	/**
 	 * 平台分销比例修改
 	 */