From ddf974e33cada18c38de44b7740057f75441f0c3 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Mon, 29 Sep 2025 11:00:45 +0800 Subject: [PATCH] =?UTF-8?q?##=20Opt=20-=20=E4=B8=9A=E7=BB=A9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=BB=86=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CuMemberPerformanceSummaryServiceImpl.java | 46 ++++++++++-- .../common/core/constant/RetailConstants.java | 15 ++++ .../report/CuMemberPerformanceSummary.java | 71 +++++++++++++++++-- sql/2025年9月22日_业绩统计.sql | 25 +++++++ 4 files changed, 148 insertions(+), 9 deletions(-) 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 b7695955..3b192d3c 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 @@ -3,6 +3,7 @@ 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.constant.MagicNumberConstants; +import com.hzs.common.core.constant.RetailConstants; import com.hzs.common.core.enums.EOrderType; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.report.CuMemberPerformanceSummary; @@ -42,10 +43,24 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl orderList = baseMapper.getOrderByDay(startDate, endDate, orderTypeList); Map> groupedOrders = orderList.stream().collect(Collectors.groupingBy(SaOrder::getOrderType)); CuMemberPerformanceSummary summary = CuMemberPerformanceSummary.getInitCuMemberPerformanceSummary(startDate); + + BigDecimal dvSource; + 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.setRetailRegisterAmount(summary.getRetailRegisterAmount().add(saOrder.getOrderAmount())); + summary.setRetailRegisterPv(summary.getRetailRegisterPv().add(saOrder.getOrderAchieve())); + + dvSource = getDvSource(summary.getRetailRegisterPv()); + BigDecimal dvUL = dvSource; + if(saOrder.getOrderAmount().compareTo(RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_AMOUNT) > 0){ + dvUL = RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_VALUE; + } + summary.setRetailRegisterDvSource(dvSource); + summary.setRetailRegisterDvUL(dvUL); + + summary.setTotalDvSource(summary.getTotalDvSource().add(dvSource)); + summary.setTotalDvUL(summary.getTotalDvUL().add(dvUL)); summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); @@ -56,6 +71,17 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl 0){ + dvUL = RetailConstants.SPECIAL_AREA_41_MAX_ORDER_DIVIDEND_PV_VALUE; + } + summary.setRetailUpgradeDvSource(dvSource); + summary.setRetailUpgradeDvUL(dvUL); + + summary.setTotalDvSource(summary.getTotalDvSource().add(dvSource)); + summary.setTotalDvUL(summary.getTotalDvUL().add(dvUL)); + summary.setTotalAmount(summary.getTotalAmount().add(saOrder.getOrderAmount())); summary.setTotalPv(summary.getTotalPv().add(saOrder.getOrderAmount())); } @@ -65,12 +91,19 @@ public class CuMemberPerformanceSummaryServiceImpl extends ServiceImpl