forked from angelo/java-retail-app
				
			## Fix - 配送区域为伞下时,增加查询配送区域的日结
This commit is contained in:
		
							parent
							
								
									0dde1ab400
								
							
						
					
					
						commit
						ad9f120f52
					
				| 
						 | 
				
			
			@ -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