## 1980升级的9900可以再购买9900但是等级不变(363);

This commit is contained in:
cabbage 2025-09-03 14:37:53 +08:00
parent 8961125532
commit 5ae87bebb0
1 changed files with 11 additions and 1 deletions

View File

@ -872,7 +872,17 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
}
// 验证等级原等级<新等级才可以进行升级 或者 累计升级
String upgradeWay = querySystemConfigByKey(saOrderExt.getPkCountry(), ESystemConfig.UPGRADE_WAY.getKey());
boolean checkUpgrade = false;
if (oldGradeDTO.getGradeValue() >= cuMember.getPkSettleGradeValue() && !Objects.equals(Integer.toString(EUpgradeWay.TOTAL.getValue()), upgradeWay)) {
if (EGrade.VIP.getValue() == oldGradeDTO.getGradeValue()) {
SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(cuMember.getPkId());
if (EGrade.MAKER.getValue() == gradeOrder.getGradeValue()) {
// 如果是1980赠送升级的9900可以再买一个9900但是等级不变
checkUpgrade = true;
}
}
}
if (!checkUpgrade) {
return false;
}
// 封装保存订单数据
@ -1120,7 +1130,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (grade.getGradeValue() < gradeDTO.getGradeValue()) {
orderReturn.setIsEnough(Boolean.TRUE);
} else {
// TODO 2025.07.17 为兼容注册送等级逻辑此处需要查询一下会员的实际订单对应等级
// 2025.07.17 为兼容注册送等级逻辑此处需要查询一下会员的实际订单对应等级
SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(member.getPkId());
if (null != gradeOrder) {
if (gradeOrder.getGradeValue() < gradeDTO.getGradeValue()