zoujiajian 10 mesiacov pred
rodič
commit
f4181b8d4f

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/mapper/OrderDonMapper.java

@@ -95,4 +95,6 @@ public interface OrderDonMapper extends BaseMapper<OrderDon> {
 	Integer checkUserHasPaidMjMirror(@Param("list") List<Long> userIdList);
 
 	Map<String, Object> selectUserMIrrorShopDistributeOrderDetail(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+
+	List<DistributeOrderStatisticsDataView> getDistributeOrderView(@Param("goodsId") Long goodsId, @Param("start") String start, @Param("end") String end, @Param("isGeneral") Boolean isGeneral);
 }

+ 20 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributeOrderStatisticsDataView.java

@@ -0,0 +1,20 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+@Getter
+@Setter
+public class DistributeOrderStatisticsDataView {
+	private String title;
+
+	private Long goodsId;
+
+	private BigDecimal money;
+
+	private Long userId;
+
+	private String nickname;
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributeOrderStatisticsView.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.views;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: DistributeOrderStatisticsView
+ * 创建者: JavaZou
+ * 创建时间:2025/10/16 17:38
+ */
+@Getter
+@Setter
+public class DistributeOrderStatisticsView {
+
+	/**
+	 * 渠道分销订单数据
+	 */
+	private List<DistributeOrderStatisticsDataView> dataList;
+}

+ 25 - 0
netflix-dao/src/main/resources/mapper/OrderDonMapper.xml

@@ -535,4 +535,29 @@
             and o.created_time &lt; #{endDate}
         </if>
     </select>
+
+    <select id="getDistributeOrderView"
+            resultType="com.cyksj.model.views.DistributeOrderStatisticsDataView">
+        select us.shared_id as user_id,
+        (select nickname from `user` where id = us.shared_id limit 1) as nickname,
+        sum(money)/100 as money
+        from user_distribute_shared us
+        <if test="isGeneral != null">
+            left join user_distribute ud on ud.user_id = us.shared_id and ud.deleted
+        </if>
+        inner join order_don o on o.user_Id = us.user_id
+        where o.`status` not in ('close','noPayment','refund')
+        and o.created_time BETWEEN #{start} and #{end}
+        and o.goods_id = 1 and o.is_fixed_distribute
+        <if test="isGeneral != null">
+            <if test="isGeneral">
+                and ud.id is null
+            </if>
+            <if test="!isGeneral">
+                and ud.id is not null
+            </if>
+        </if>
+        group by us.shared_id,o.goods_id
+        order by sum(money) desc limit 5
+    </select>
 </mapper>

+ 10 - 27
netflix-web/src/main/java/com/cyksj/web/controller/manage/statistics/StatisticsDataController.java

@@ -669,10 +669,13 @@ public class StatisticsDataController {
 	}
 
 	/**
-	 * 平台分销趋势
+	 * 商品渠道分销趋势
+	 *
+	 * @param isGeneral true 普通推广 false 渠道推广
+	 * @return
 	 */
-	@GetMapping("/get/newUserStatistics/brokenLine")
-	public Result<NewUserStatisticsView> getNewUserStatisticsView(Long firstDate, Long lastDate) {
+	@GetMapping("/get/distributeOrder/brokenLine")
+	public Result<DistributeOrderStatisticsView> getDistributeOrderView(Long goodsId, Long firstDate, Long lastDate, Boolean isGeneral) {
 		String first = null;
 		String end = null;
 		if (firstDate != null) {
@@ -681,30 +684,10 @@ public class StatisticsDataController {
 		if (lastDate != null) {
 			end = DateUtil.format(DateTime.of(lastDate), "yyyy-MM-dd");
 		}
-		NewUserStatisticsView newUserStatisticsView = new NewUserStatisticsView();
-
-		List<NewAllUserView> newAllUserViews = beanSearcher.searchAll(NewAllUserView.class, MapUtils.builder().field(NewAllUserView::getDate, first, end).build());
-
-		if (CollUtil.isNotEmpty(newAllUserViews)) {
-			newUserStatisticsView.setFirstDate(newAllUserViews.get(0).getDate());
-			newUserStatisticsView.setLastDate(newAllUserViews.get(newAllUserViews.size() - 1).getDate());
-		}
-
-		List<NewUserView> newUserViews = beanSearcher.searchAll(NewUserView.class, MapUtils.builder().field(NewUserView::getDate, first, end).op(Operator.Between).build());
-		newUserStatisticsView.setNewUserData(newUserViews);
-
-		List<NewPcUserView> newPcUserViews = beanSearcher.searchAll(NewPcUserView.class, MapUtils.builder().field(NewPcUserView::getDate, first, end).op(Operator.Between).build());
-		newUserStatisticsView.setNewPcUserData(newPcUserViews);
-
-		List<NewDistributeUserView> newDistributeUserViews = beanSearcher.searchAll(NewDistributeUserView.class, MapUtils.builder().field(NewDistributeUserView::getDate, first, end).op(Operator.Between).build());
-		newUserStatisticsView.setNewDistributeUserData(newDistributeUserViews);
-
-		List<NewCorpUserView> newCorpUserViews = beanSearcher.searchAll(NewCorpUserView.class, MapUtils.builder().field(NewCorpUserView::getDate, first, end).op(Operator.Between).build());
-		newUserStatisticsView.setNewCorpUserData(newCorpUserViews);
-
-		List<NewRedBookUsersView> newRedBookUserViews = beanSearcher.searchAll(NewRedBookUsersView.class, MapUtils.builder().field(NewRedBookUsersView::getDate, first, end).op(Operator.Between).build());
-		newUserStatisticsView.setNewRedBookUserData(newRedBookUserViews);
-		return GatewayResponse.SUCCESS.newBuilder().toResult(newUserStatisticsView);
+		DistributeOrderStatisticsView distributeOrderStatisticsView = new DistributeOrderStatisticsView();
+		List<DistributeOrderStatisticsDataView> dataList = orderDonMapper.getDistributeOrderView(goodsId, first, end, isGeneral);
+		distributeOrderStatisticsView.setDataList(dataList);
+		return GatewayResponse.SUCCESS.newBuilder().toResult(distributeOrderStatisticsView);
 	}
 
 }