diff --git a/bd-business/bd-business-report/src/main/java/com/hzs/report/order/service/impl/CuMemberPerformanceSummaryServiceImpl.java b/bd-business/bd-business-report/src/main/java/com/hzs/report/order/service/impl/CuMemberPerformanceSummaryServiceImpl.java index 44487796..b41f97e5 100644 --- a/bd-business/bd-business-report/src/main/java/com/hzs/report/order/service/impl/CuMemberPerformanceSummaryServiceImpl.java +++ b/bd-business/bd-business-report/src/main/java/com/hzs/report/order/service/impl/CuMemberPerformanceSummaryServiceImpl.java @@ -1,6 +1,8 @@ package com.hzs.report.order.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.core.enums.EOrderType; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.report.CuMemberPerformanceSummary; import com.hzs.common.domain.sale.order.SaOrder; @@ -35,37 +37,45 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(CuMemberPerformanceSummary::getSummaryDate, startDate); baseMapper.delete(queryWrapper); - List orderTypeList = Arrays.asList(41, 42, 43); + List orderTypeList = Arrays.asList(EOrderType.RETAIL_REGISTER.getValue(), EOrderType.RETAIL_UPGRADE.getValue(), EOrderType.RETAIL_REPURCHASE.getValue()); List orderList = baseMapper.getOrderByDay(startDate, endDate, orderTypeList); Map> groupedOrders = orderList.stream().collect(Collectors.groupingBy(SaOrder::getOrderType)); CuMemberPerformanceSummary summary = CuMemberPerformanceSummary.getInitCuMemberPerformanceSummary(startDate); - for (SaOrder saOrder : groupedOrders.get(41)) { - summary.setRetailRegisterAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount())); - summary.setRetailRegisterPv(summary.getRetailDiscountPv().add(saOrder.getOrderAchieve())); + if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue()))) { + for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_REGISTER.getValue())) { + summary.setRetailRegisterAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount())); + summary.setRetailRegisterPv(summary.getRetailDiscountPv().add(saOrder.getOrderAchieve())); - summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); - summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); + summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + } } - for (SaOrder saOrder : groupedOrders.get(42)) { - summary.setRetailUpgradeAmount(summary.getRetailUpgradeAmount().add(saOrder.getOrderAmount())); - summary.setRetailUpgradePv(summary.getRetailUpgradePv().add(saOrder.getOrderAchieve())); + if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_UPGRADE.getValue()))) { + for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_UPGRADE.getValue())) { + summary.setRetailUpgradeAmount(summary.getRetailUpgradeAmount().add(saOrder.getOrderAmount())); + summary.setRetailUpgradePv(summary.getRetailUpgradePv().add(saOrder.getOrderAchieve())); - summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); - summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); + summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + } } - for (SaOrder saOrder : groupedOrders.get(43)) { - summary.setRetailRepurchaseAmount(summary.getRetailRepurchaseAmount().add(saOrder.getOrderAmount())); - summary.setRetailRepurchasePv(summary.getRetailRepurchasePv().add(saOrder.getOrderAchieve())); + if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_REPURCHASE.getValue()))) { + for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_REPURCHASE.getValue())) { + summary.setRetailRepurchaseAmount(summary.getRetailRepurchaseAmount().add(saOrder.getOrderAmount())); + summary.setRetailRepurchasePv(summary.getRetailRepurchasePv().add(saOrder.getOrderAchieve())); - summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); - summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); + summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + } } - for (SaOrder saOrder : groupedOrders.get(44)) { - summary.setRetailDiscountAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount())); - summary.setDividendPv(summary.getDividendPv().add(saOrder.getOrderAchieve())); + if(ObjectUtil.isNotEmpty(groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue()))){ + for (SaOrder saOrder : groupedOrders.get(EOrderType.RETAIL_CONSUME.getValue())) { + summary.setRetailDiscountAmount(summary.getRetailDiscountAmount().add(saOrder.getOrderAmount())); + summary.setDividendPv(summary.getDividendPv().add(saOrder.getOrderAchieve())); - summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); - summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); + summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); + } } summary.setDividendPv(summary.getTotalPv().multiply(new BigDecimal("0.015"))); baseMapper.insert(summary);