## Fix - 收益区域 -> 奖衔判断逻辑

This commit is contained in:
sangelxiu1 2025-07-25 14:46:58 +08:00
parent 4155c917e5
commit 45b0ba3800
1 changed files with 44 additions and 14 deletions

View File

@ -3384,7 +3384,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
// 计算小区 -> 判断业绩是否达标
// 如果达标至BD_AWARDS_REGION_CONFIG获取可选择的配置
CuMemberExt cuMember = this.getMemberById(userId);
BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
BdAwards bdAwards = awardsMap.entrySet().stream().filter( o -> o.getValue().getPkId().equals(cuMember.getPkAwards())).findFirst().get().getValue();
// BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
R<List<BdAwardsRegionConfig>> r = iBdAwardsRegionConfigServiceApi.getMatchList(bdAwards.getAwardsValue());
List<BdAwardsRegionConfig> regionConfigList = null;
if(r.isSuccess()){
@ -3395,27 +3397,55 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
if(CollUtil.isNotEmpty(regionConfigList)){
// 匹配到的区域配置
for (BdAwardsRegionConfig config : regionConfigList) {
bdAwards = iAwardsServiceApi.getAwardsOne(config.getPkAwards().intValue()).getData();
// BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(config.getPkAwards().intValue()).getData();
// 判断业绩
if(smallPv.compareTo(bdAwards.getSmallAssess()) >= 0){
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, config.getAreaType());
if(ObjectUtil.isEmpty(regionDetail)){
if(config.getAwardsValue() == EAwards.HEADER.getValue()){
checkRegionVO.setCounty(true);
}else if(config.getAwardsValue() == EAwards.MANAGER.getValue()){
checkRegionVO.setCity(true);
}else if(config.getAwardsValue() == EAwards.HIGH_MANAGER.getValue()){
if(bdAwards.getAwardsValue() >= config.getAwardsValue()){
switch (config.getAreaType()){
case 1:
checkRegionVO.setProvince(true);
break;
case 2:
checkRegionVO.setCity(true);
break;
case 3:
checkRegionVO.setCounty(true);
break;
default: break;
}
}
// if(config.getAwardsValue() >= EAwards.HEADER.getValue()){
// checkRegionVO.setCounty(true);
// }else if(config.getAwardsValue() >= EAwards.MANAGER.getValue()){
// checkRegionVO.setCity(true);
// }else if(config.getAwardsValue() >= EAwards.HIGH_MANAGER.getValue()){
// checkRegionVO.setProvince(true);
// }
}else{
if(config.getAwardsValue() == EAwards.HEADER.getValue()){
checkRegionVO.getData().setCountyData(regionDetail);
}else if(config.getAwardsValue() == EAwards.MANAGER.getValue()){
checkRegionVO.getData().setCityData(regionDetail);
}else if(config.getAwardsValue() == EAwards.HIGH_MANAGER.getValue()){
if(bdAwards.getAwardsValue() >= config.getAwardsValue()){
switch (config.getAreaType()){
case 1:
checkRegionVO.getData().setProvinceData(regionDetail);
break;
case 2:
checkRegionVO.getData().setCityData(regionDetail);
break;
case 3:
checkRegionVO.getData().setCountyData(regionDetail);
break;
default: break;
}
}
// if(config.getAwardsValue() == EAwards.HEADER.getValue()){
// checkRegionVO.getData().setCountyData(regionDetail);
// }else if(config.getAwardsValue() == EAwards.MANAGER.getValue()){
// checkRegionVO.getData().setCityData(regionDetail);
// }else if(config.getAwardsValue() == EAwards.HIGH_MANAGER.getValue()){
// checkRegionVO.getData().setProvinceData(regionDetail);
// }
}
}
}
}