3
0
Fork 0

## Fix - 配送区域为伞下时,增加查询配送区域的日结

This commit is contained in:
sangelxiu1 2025-08-14 10:38:30 +08:00
parent 76c41feed5
commit a4b8ef1931
1 changed files with 11 additions and 3 deletions

View File

@ -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<CuMemberBonusDetail> calculateRetailRepurRegionBonus(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, Map<Long, CuMemberBonus> cuMemberBonusMap,
BonusConfigDTO bonusConfigDTO, Integer period, SaOrderExt saOrderExt, Map<Integer, CuMemberRetailRegion> regionMap) {
BonusConfigDTO bonusConfigDTO, Integer period, SaOrderExt saOrderExt, Map<Integer, CuMemberRetailRegion> regionMap,
String rangeTableName) {
// 复购配送区域返回数据
List<CuMemberBonusDetail> 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<CuMemberRetailRangeExt> 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());