|
@@ -79,21 +79,29 @@ public class StatisticsDataScheduler {
|
|
|
* 统计AppleOne数据
|
|
* 统计AppleOne数据
|
|
|
*/
|
|
*/
|
|
|
private void statisticsAppleOneData(Date yesZeroDate, Date thisZeroDate) {
|
|
private void statisticsAppleOneData(Date yesZeroDate, Date thisZeroDate) {
|
|
|
- //美区
|
|
|
|
|
- String americaAre = APPLE_ONE_AREA.get(0);
|
|
|
|
|
- //马来西亚区
|
|
|
|
|
- String malaysiaAre = APPLE_ONE_AREA.get(1);
|
|
|
|
|
- List<GoodsDonSku> americaSku = Optional.ofNullable(goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class).like(GoodsDonSku::getSpecVal, americaAre).select(GoodsDonSku::getId))).orElse(new ArrayList<>());
|
|
|
|
|
- List<GoodsDonSku> malaysiaSku = Optional.ofNullable(goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class).like(GoodsDonSku::getSpecVal, malaysiaAre).select(GoodsDonSku::getId))).orElse(new ArrayList<>());
|
|
|
|
|
- Map<String, List<Long>> areaDataMap = new HashMap<>();
|
|
|
|
|
- areaDataMap.put(americaAre, americaSku.stream().map(GoodsDonSku::getId).collect(Collectors.toList()));
|
|
|
|
|
- areaDataMap.put(malaysiaAre, malaysiaSku.stream().map(GoodsDonSku::getId).collect(Collectors.toList()));
|
|
|
|
|
|
|
+ GoodsDon goodsDon = goodsDonMapper.selectOne(Wrappers.lambdaQuery(GoodsDon.class).eq(GoodsDon::getTitle, APPLE_ONE).last("limit 1"));
|
|
|
|
|
+ List<GoodsDonSku> list = goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class).eq(GoodsDonSku::getGoodsId, goodsDon.getId()).select(GoodsDonSku::getId, GoodsDonSku::getSpecVal));
|
|
|
|
|
+ Set<String> area = new HashSet<>();
|
|
|
|
|
+ list.forEach(sku->{
|
|
|
|
|
+ String areaName = sku.getSpecVal().substring(0, sku.getSpecVal().indexOf("区") + 1);
|
|
|
|
|
+ if (!area.contains(areaName)) {
|
|
|
|
|
+ area.add(areaName);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ Map<String, List<GoodsDonSku>> areaDataMap = new HashMap<>();
|
|
|
|
|
+ for (String name : area) {
|
|
|
|
|
+ List<GoodsDonSku> sku = Optional.ofNullable(goodsDonSkuService.list(Wrappers.lambdaQuery(GoodsDonSku.class).like(GoodsDonSku::getSpecVal, name).select(GoodsDonSku::getId, GoodsDonSku::getGoodsId))).orElse(new ArrayList<>());
|
|
|
|
|
+ areaDataMap.put(name, sku);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
List<AbstractBackData> appleOneSave = new ArrayList<>();
|
|
List<AbstractBackData> appleOneSave = new ArrayList<>();
|
|
|
- areaDataMap.forEach((areaName, skuIds) -> {
|
|
|
|
|
|
|
+ areaDataMap.forEach((areaName, skus) -> {
|
|
|
AppleOneData appleOne = new AppleOneData();
|
|
AppleOneData appleOne = new AppleOneData();
|
|
|
appleOne.setAreaName(areaName);
|
|
appleOne.setAreaName(areaName);
|
|
|
//通过skuIds找到对应的appleOne统计数据
|
|
//通过skuIds找到对应的appleOne统计数据
|
|
|
- List<OrderDon> orderDons = Optional.ofNullable(orderDonService.getAppleOneOrderDons(APPLE_ONE, skuIds, noOrderStatus, yesZeroDate, thisZeroDate)).orElse(new ArrayList<>());
|
|
|
|
|
|
|
+ List<Long> skuIds = skus.stream().map(GoodsDonSku::getId).collect(Collectors.toList());
|
|
|
|
|
+ List<Long> goodsId = skus.stream().map(GoodsDonSku::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
|
|
+ List<OrderDon> orderDons = Optional.ofNullable(orderDonService.getAppleOneOrderDons(APPLE_ONE, skuIds, goodsId, noOrderStatus, yesZeroDate, thisZeroDate)).orElse(new ArrayList<>());
|
|
|
appleOneDataStatistics(orderDons, appleOne, appleOneSave);
|
|
appleOneDataStatistics(orderDons, appleOne, appleOneSave);
|
|
|
});
|
|
});
|
|
|
for (AbstractBackData appleOne : appleOneSave) {
|
|
for (AbstractBackData appleOne : appleOneSave) {
|