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;
|
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.achieve.service.ICuMemberRetailRangeService;
|
||||||
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
||||||
import com.hzs.bonus.detail.service.ICuMemberGradeService;
|
import com.hzs.bonus.detail.service.ICuMemberGradeService;
|
||||||
|
@ -46,6 +48,8 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
private IBonusOrderService iBonusOrderService;
|
private IBonusOrderService iBonusOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberGradeService iCuMemberGradeService;
|
private ICuMemberGradeService iCuMemberGradeService;
|
||||||
|
@Autowired
|
||||||
|
private CuMemberRetailRangeMapper cuMemberRetailRangeMapper;
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
|
ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi;
|
||||||
|
@ -201,7 +205,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
// 计算配送收益
|
// 计算配送收益
|
||||||
if (regionMap.size() != 0) {
|
if (regionMap.size() != 0) {
|
||||||
cuMemberBonusDetailList.addAll(calculateRetailRepurRegionBonus(memberRangeExtMap, cuMemberBonusMap,
|
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,
|
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<>();
|
List<CuMemberBonusDetail> memberBonusDetailList = new ArrayList<>();
|
||||||
|
|
||||||
// 订单下单人自己
|
// 订单下单人自己
|
||||||
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
CuMemberRetailRangeExt sourceMemberRangeExt = memberRangeExtMap.get(saOrderExt.getPkMember());
|
||||||
|
|
||||||
// 配送区域配置
|
// 配送区域配置
|
||||||
CuMemberRetailRegion retailRegion = regionMap.get(saOrderExt.getRecCounty());
|
CuMemberRetailRegion retailRegion = regionMap.get(saOrderExt.getRecCounty());
|
||||||
if (null != retailRegion) {
|
if (null != retailRegion) {
|
||||||
|
@ -813,6 +817,10 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
||||||
if (bonusIncome.compareTo(BigDecimal.ZERO) > 0) {
|
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(),
|
CuMemberBonus cuMemberBonus = getCuMemberBonus(period, cuMemberBonusMap, targetMemberRangeExt.getPkMember(),
|
||||||
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
|
targetMemberRangeExt.getIncomeStatus(), targetMemberRangeExt.getPkSettleCountry(), targetMemberRangeExt.getPkRate() == null ? saOrderExt.getPkRate() : targetMemberRangeExt.getPkRate());
|
||||||
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_REPURCHASE_DELIVERY_INCOME.getValue());
|
int pkBonusItems = getPkBonusItems(bonusConfigDTO, targetMemberRangeExt.getPkSettleCountry(), EBonusItems.RETAIL_REPURCHASE_DELIVERY_INCOME.getValue());
|
||||||
|
|
Loading…
Reference in New Issue