## Opt - 单笔PV大于20000给金牌,大于10000给银牌.(只处理41/42类型订单)

This commit is contained in:
sangelxiu1 2025-10-27 14:44:55 +08:00
parent 732b50ce0d
commit 60400f5399
1 changed files with 28 additions and 26 deletions

View File

@ -677,33 +677,35 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
return resultStr;
}
public void processMemberLevel(CuMember gradeMember, SaOrderExt saOrderExt){
// 处理等级
GradeDTO bdGrade = iGradeServiceApi.getGrade(gradeMember.getPkSettleGrade()).getData();
List<BdGrade> gradeDTOList = iGradeServiceApi.getRetailGradeList().getData();
CuMemberLevel memberLevel = null;
if(bdGrade.getGradeValue() < EGrade.YOU_KE.getValue()){
if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.GOLD_CARD_PV) >= 0){
// 拿金牌等级
BdGrade goldGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.YOU_KE.getValue())).findFirst().get();
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, goldGrade.getPkId());
gradeMember.setPkSettleGrade(goldGrade.getPkId());
gradeMember.setPkSettleGradeValue(goldGrade.getGradeValue());
}else if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.SILVER_CARD_PV) >= 0){
// 拿银牌等级
BdGrade silverGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.HAI_FAN.getValue())).findFirst().get();
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, silverGrade.getPkId());
gradeMember.setPkSettleGrade(silverGrade.getPkId());
gradeMember.setPkSettleGradeValue(silverGrade.getGradeValue());
if(EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()){
// 处理等级
GradeDTO bdGrade = iGradeServiceApi.getGrade(gradeMember.getPkSettleGrade()).getData();
List<BdGrade> gradeDTOList = iGradeServiceApi.getRetailGradeList().getData();
CuMemberLevel memberLevel = null;
if(bdGrade.getGradeValue() < EGrade.YOU_KE.getValue()){
if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.GOLD_CARD_PV) >= 0){
// 拿金牌等级
BdGrade goldGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.YOU_KE.getValue())).findFirst().get();
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, goldGrade.getPkId());
gradeMember.setPkSettleGrade(goldGrade.getPkId());
gradeMember.setPkSettleGradeValue(goldGrade.getGradeValue());
}else if(saOrderExt.getOrderAchieve().compareTo(RetailConstants.SILVER_CARD_PV) >= 0){
// 拿银牌等级
BdGrade silverGrade = gradeDTOList.stream().filter(item -> item.getGradeValue().equals(EGrade.HAI_FAN.getValue())).findFirst().get();
memberLevel = getCuMemberLevel(gradeMember, saOrderExt, silverGrade.getPkId());
gradeMember.setPkSettleGrade(silverGrade.getPkId());
gradeMember.setPkSettleGradeValue(silverGrade.getGradeValue());
}
}
}
if(ObjectUtil.isNotEmpty(memberLevel)){
Boolean saveMemberLevelFlag = iMemberServiceApi.saveMemberLevel(memberLevel).getData();
if(!saveMemberLevelFlag){
throw new ServiceException("记录用户升级信息异常!");
}
Boolean saveMemberFlag = iMemberServiceApi.saveMember(gradeMember).getData();
if(!saveMemberFlag){
throw new ServiceException("更新用户结算等级异常!");
if(ObjectUtil.isNotEmpty(memberLevel)){
Boolean saveMemberLevelFlag = iMemberServiceApi.saveMemberLevel(memberLevel).getData();
if(!saveMemberLevelFlag){
throw new ServiceException("记录用户升级信息异常!");
}
Boolean saveMemberFlag = iMemberServiceApi.saveMember(gradeMember).getData();
if(!saveMemberFlag){
throw new ServiceException("更新用户结算等级异常!");
}
}
}
}