forked from angelo/java-retail-app
## Fix - 配送区域为伞下时,增加查询配送区域的日结
This commit is contained in:
parent
cb93e84848
commit
73d1983528
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue