zoujiajian 7 mēneši atpakaļ
vecāks
revīzija
bd0743c789

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GoodsDonSkuStatisticsDataMapper.java

@@ -2,6 +2,10 @@ package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.GoodsDonSkuStatisticsData;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * 项目名: yhlxj11111111
@@ -10,4 +14,5 @@ import com.cyksj.model.entity.GoodsDonSkuStatisticsData;
  * 创建时间:2026/1/21 17:46
  */
 public interface GoodsDonSkuStatisticsDataMapper extends BaseMapper<GoodsDonSkuStatisticsData> {
+	List<GoodsDonSkuStatisticsData> statisticsStreamingSkuData(@Param("goodsId") Long goodsId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 30 - 0
netflix-dao/src/main/resources/mapper/GoodsDonSkuStatisticsDataMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.cyksj.mapper.GoodsDonSkuStatisticsDataMapper">
+
+    <select id="statisticsStreamingSkuData" resultType="com.cyksj.model.entity.GoodsDonSkuStatisticsData">
+        select goods_id,
+        `type`,
+        sum(num_of_user) as num_of_user,
+        sum(num_of_order) as num_of_order,
+        cast(sum(money)/100 as decimal(20,2)) as money,
+        sum(num_of_month_order) as num_of_month_order,
+        sum(num_of_season_order) as num_of_season_order,
+        sum(num_of_year_order) as num_of_year_order,
+        sum(num_of_code_order) as num_of_code_order,
+        sum(num_of_distribute_order) as numOfDistributeOrder,
+        sum(distribute_order_money) as distributeOrderMoney
+        from `goods_don_sku_statistics_data`
+        <where>
+            goods_id = #{goodsId}
+            <if test="startDate != null">
+                and statistics_date >= #{startDate}
+            </if>
+            <if test="endDate != null">
+                and statistics_date &lt; #{endDate}
+            </if>
+        </where>
+        group by goods_id,`type`
+    </select>
+</mapper>

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/mange/statistics/impl/StatisticsDataServiceImpl.java

@@ -1027,7 +1027,7 @@ public class StatisticsDataServiceImpl implements StatisticsDataService {
 				}
 				//开启规格详情数据统计
 				if (goodsDon.getIsSkuStatistics()) {
-					data.setSubDataList(goodsDonSkuStatisticsDataMapper.selectList(Wrappers.lambdaQuery(GoodsDonSkuStatisticsData.class).eq(GoodsDonSkuStatisticsData::getGoodsId, goodsDon.getId()).eq(GoodsDonSkuStatisticsData::getStatisticsDate, data.getStatisticsDate())));
+					data.setSubDataList(goodsDonSkuStatisticsDataMapper.statisticsStreamingSkuData(goodsDon.getId(), startDate, endDate));
 				}
 				data.setRefundMoney(getRefundMoney(data.getGoodsId(), null, startDate, endDate));
 			}));