|
|
@@ -97,6 +97,7 @@ public class StatisticsDataScheduler {
|
|
|
appleOneDataStatistics(orderDons, appleOne, appleOneSave);
|
|
|
});
|
|
|
for (AbstractBackData appleOne : appleOneSave) {
|
|
|
+ appleOne.setStatisticsDate(yesZeroDate);
|
|
|
appleOneDataMapper.insert((AppleOneData) appleOne);
|
|
|
}
|
|
|
}
|
|
|
@@ -132,6 +133,7 @@ public class StatisticsDataScheduler {
|
|
|
streamingAccountDataStatistics(accountList, streamingAccount, StreamingAccountDataSave, yesZeroDate, thisZeroDate);
|
|
|
});
|
|
|
for (StreamingAccountData streamingAccountData : StreamingAccountDataSave) {
|
|
|
+ streamingAccountData.setStatisticsDate(yesZeroDate);
|
|
|
streamingAccountDataMapper.insert(streamingAccountData);
|
|
|
}
|
|
|
}
|
|
|
@@ -152,13 +154,15 @@ public class StatisticsDataScheduler {
|
|
|
realGoodsData.setGoodsTitle(goods.getTitle());
|
|
|
realGoodsData.setSkuId(sku.getId());
|
|
|
realGoodsData.setSpecVal(sku.getSpecVal());
|
|
|
- //用户数
|
|
|
- List<OrderDon> orderDon = Optional.ofNullable(orderDonService.list(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getSkuId, sku.getId()).between(OrderDon::getCreatedTime, yesZeroDate, thisZeroDate))).orElse(new ArrayList<>());
|
|
|
+ //订单
|
|
|
+ List<OrderDon> orderDon = Optional.ofNullable(orderDonService.list(Wrappers.lambdaQuery(OrderDon.class).eq(OrderDon::getSkuId, sku.getId()).between(OrderDon::getCreatedTime, yesZeroDate, thisZeroDate).notIn(OrderDon::getStatus, noOrderStatus).select(OrderDon::getUserId, OrderDon::getMoney, OrderDon::getId))).orElse(new ArrayList<>());
|
|
|
Set<Long> userList = Optional.ofNullable(orderDon.stream().map(OrderDon::getUserId).collect(Collectors.toSet())).orElse(new HashSet<>());
|
|
|
+ //用户数
|
|
|
realGoodsData.setNumOfUser(userList.size());
|
|
|
- List<OrderDon> collect = orderDon.stream().filter((order) -> !noOrderStatus.contains(order.getStatus())).collect(Collectors.toList());
|
|
|
- realGoodsData.setNumOfOrder(collect.size());
|
|
|
- Optional<BigDecimal> money = collect.stream().map(OrderDon::getMoney).reduce(BigDecimal::add);
|
|
|
+ //订单数
|
|
|
+ realGoodsData.setNumOfOrder(orderDon.size());
|
|
|
+ //金额
|
|
|
+ Optional<BigDecimal> money = orderDon.stream().map(OrderDon::getMoney).reduce(BigDecimal::add);
|
|
|
realGoodsData.setMoney(money.isPresent() ? money.get() : BigDecimal.ZERO);
|
|
|
realGoodsDataList.add(realGoodsData);
|
|
|
});
|
|
|
@@ -166,7 +170,10 @@ public class StatisticsDataScheduler {
|
|
|
});
|
|
|
}
|
|
|
if (!realGoodsDataList.isEmpty()) {
|
|
|
- realGoodsDataList.forEach(data -> realGoodsDataMapper.insert(data));
|
|
|
+ realGoodsDataList.forEach(data -> {
|
|
|
+ data.setStatisticsDate(yesZeroDate);
|
|
|
+ realGoodsDataMapper.insert(data);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -181,14 +188,10 @@ public class StatisticsDataScheduler {
|
|
|
//主账号
|
|
|
List<Long> accountIds = accounts.stream().map(Account::getId).collect(Collectors.toList());
|
|
|
if (CollUtil.isNotEmpty(accountIds)) {
|
|
|
- List<Integer> userIds = Optional.ofNullable(accountService.getNumOfUser(accountIds, yesZeroDate, thisZeroDate)).orElse(new ArrayList<>());
|
|
|
+ List<OrderDon> orderDons = Optional.ofNullable(accountService.getNoAppleOneOrderDon(accountIds, yesZeroDate, thisZeroDate, noOrderStatus)).orElse(new ArrayList<>());
|
|
|
//用户数
|
|
|
- streamingAccountData.setNumOfUser(userIds.size());
|
|
|
- List<OrderDon> orderDons = new ArrayList<>();
|
|
|
- if (CollUtil.isNotEmpty(userIds)) {
|
|
|
- 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.setNumOfUser(orderDons.stream().map(OrderDon::getUserId).collect(Collectors.toSet()).size());
|
|
|
+ getNumOfOrderByPayType(orderDons, streamingAccountData);
|
|
|
streamingAccountData.setNumOfOrder(orderDons.size());
|
|
|
Optional<BigDecimal> reduce = orderDons.stream().map(OrderDon::getMoney).reduce(BigDecimal::add);
|
|
|
BigDecimal totalMoney = BigDecimal.valueOf(0);
|