فهرست منبع

fix 修改月、季、年统计数据

zoujiajian 3 سال پیش
والد
کامیت
da4b2d0658

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

@@ -19,7 +19,7 @@
     </select>
 
     <select id="getAppleOneOrderDons" resultType="com.cyksj.model.entity.OrderDon">
-        select distinct s.* from (select id,user_id,money from `order_don`
+        select distinct s.* from (select id,sku_id,user_id,money from `order_don`
         where sku_id in
         <foreach collection="skuIds" item="item" open="(" separator="," close=")">
             #{item}

+ 4 - 4
netflix-service/src/main/java/com/cyksj/task/StatisticsDataScheduler.java

@@ -49,7 +49,7 @@ public class StatisticsDataScheduler {
 
 	public static List<String> noOrderStatus = List.of("close", "noPayment");
 
-	public static List<String> payType = List.of("拼车/月", "拼车/季", "拼车/年");
+	public static List<String> payType = List.of("月", "季", "年");
 
 	private final static List<String> APPLE_ONE_AREA = List.of("美区", "马来西亚区");
 
@@ -93,7 +93,7 @@ public class StatisticsDataScheduler {
 			AppleOneData appleOne = new AppleOneData();
 			appleOne.setAreaName(areaName);
 			//通过skuIds找到对应的appleOne统计数据
-			List<OrderDon> orderDons = orderDonService.getAppleOneOrderDons(APPLE_ONE, skuIds, noOrderStatus, yesZeroDate, thisZeroDate);
+			List<OrderDon> orderDons = Optional.ofNullable(orderDonService.getAppleOneOrderDons(APPLE_ONE, skuIds, noOrderStatus, yesZeroDate, thisZeroDate)).orElse(new ArrayList<>());
 			appleOneDataStatistics(orderDons, appleOne, appleOneSave);
 		});
 		for (AbstractBackData appleOne : appleOneSave) {
@@ -186,7 +186,7 @@ public class StatisticsDataScheduler {
 			streamingAccountData.setNumOfUser(userIds.size());
 			List<OrderDon> orderDons = new ArrayList<>();
 			if (CollUtil.isNotEmpty(userIds)) {
-				orderDons = orderDonService.list(Wrappers.lambdaQuery(OrderDon.class).in(OrderDon::getUserId, userIds).notIn(OrderDon::getStatus, noOrderStatus).between(OrderDon::getPayTime, yesZeroDate, thisZeroDate).select(OrderDon::getId, OrderDon::getMoney, OrderDon::getSkuId));
+				orderDons = Optional.ofNullable(orderDonService.list(Wrappers.lambdaQuery(OrderDon.class).in(OrderDon::getUserId, userIds).notIn(OrderDon::getStatus, noOrderStatus).between(OrderDon::getPayTime, yesZeroDate, thisZeroDate).select(OrderDon::getId, OrderDon::getMoney, OrderDon::getSkuId))).orElse(new ArrayList<>());
 				getNumOfOrderByPayType(orderDons, streamingAccountData);
 			}
 			streamingAccountData.setNumOfOrder(orderDons.size());
@@ -208,7 +208,7 @@ public class StatisticsDataScheduler {
 		Integer numOfMonthOrder = 0;
 		Integer numOfSeasonOrder = 0;
 		Integer numOfYearOrder = 0;
-		Map<Long, List<OrderDon>> skuIdMaps = orderDons.stream().collect(Collectors.groupingBy(OrderDon::getSkuId));
+		Map<Long, List<OrderDon>> skuIdMaps = Optional.ofNullable(orderDons.stream().collect(Collectors.groupingBy(OrderDon::getSkuId))).orElse(new HashMap<>());
 		if (!skuIdMaps.isEmpty()) {
 			List<GoodsDonSku> goodsDonSkus = Optional.ofNullable(goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class).in(GoodsDonSku::getId, skuIdMaps.keySet()))).orElse(new ArrayList<>());
 			for (GoodsDonSku donSkus : goodsDonSkus) {