From 73d1983528ed00a01c40d0ea3d9b792adb7ae504 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Thu, 14 Aug 2025 10:38:30 +0800 Subject: [PATCH] =?UTF-8?q?##=20Fix=20-=20=E9=85=8D=E9=80=81=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E4=B8=BA=E4=BC=9E=E4=B8=8B=E6=97=B6,=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9F=A5=E8=AF=A2=E9=85=8D=E9=80=81=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/service/impl/BonusSettleRangeHandle.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java index 7bb7f0a1..c5c45354 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettleRangeHandle.java @@ -1,5 +1,7 @@ package com.hzs.bonus.bonus.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper; import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService; import com.hzs.bonus.bonus.vo.BonusRecordDetailVO; import com.hzs.bonus.detail.service.ICuMemberGradeService; @@ -46,6 +48,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { private IBonusOrderService iBonusOrderService; @Autowired private ICuMemberGradeService iCuMemberGradeService; + @Autowired + private CuMemberRetailRangeMapper cuMemberRetailRangeMapper; @DubboReference ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi; @@ -201,7 +205,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { // 计算配送收益 if (regionMap.size() != 0) { cuMemberBonusDetailList.addAll(calculateRetailRepurRegionBonus(memberRangeExtMap, cuMemberBonusMap, - bonusConfigDTO, period, saOrderExt, regionMap)); + bonusConfigDTO, period, saOrderExt, regionMap, rangeTableName)); } } } @@ -786,13 +790,13 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { * 计算复购配送区域收益 */ List calculateRetailRepurRegionBonus(Map memberRangeExtMap, Map cuMemberBonusMap, - BonusConfigDTO bonusConfigDTO, Integer period, SaOrderExt saOrderExt, Map regionMap) { + BonusConfigDTO bonusConfigDTO, Integer period, SaOrderExt saOrderExt, Map regionMap, + String rangeTableName) { // 复购配送区域返回数据 List memberBonusDetailList = new ArrayList<>(); // 订单下单人自己 CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember()); - // 配送区域配置 CuMemberRetailRegion retailRegion = regionMap.get(saOrderExt.getRecCounty()); if (null != retailRegion) { @@ -813,6 +817,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle { if (bonusIncome.compareTo(BigDecimal.ZERO) > 0) { // 处理复购级差收益 // 会员奖金 + if(ObjectUtil.isEmpty(targetMemberRangeExt)){ + List memberRetailRangeExtList = cuMemberRetailRangeMapper.queryCuMemberRetailRangeParent(rangeTableName, Arrays.asList(retailRegion.getPkMember())); + targetMemberRangeExt = memberRetailRangeExtList.stream().filter(e -> e.getPkMember().equals(retailRegion.getPkMember())).findFirst().get(); + } CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(), targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate()); int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_REPURCHASE_DELIVERY_INCOME.getValue());