## 赠送等级之后可以继续购买升级;
This commit is contained in:
parent
313cc89cb3
commit
17d57f4ff8
|
@ -2628,6 +2628,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
if (ESpecialArea.RETAIL_REGISTER.getValue() == specialArea) {
|
||||
// 注册专区直接算等级
|
||||
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
|
||||
// 特殊等级处理
|
||||
this.handleGradeEnd(gradeList, bdGrade);
|
||||
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
||||
// 升级专区,一次性补差升级
|
||||
if (boxNum == 0) {
|
||||
|
@ -2651,31 +2653,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 计算等级
|
||||
bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true);
|
||||
|
||||
// 会员等级 大于等于 购买盒数等级,则不充足升级条件
|
||||
if (memberGrade.getGradeValue().compareTo(bdGrade.getGradeValue()) >= 0) {
|
||||
// 特殊等级处理
|
||||
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade);
|
||||
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
|
||||
// 支付时才进行处理
|
||||
bdGrade = tmpGrade;
|
||||
}
|
||||
|
||||
// 会员等级 大于等于 购买盒数等级,则不满足升级条件
|
||||
if (memberGrade.getGradeValue().compareTo(tmpGrade.getGradeValue()) >= 0) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO 2025.06.14 添加新需求,V1-V3,购买多给两级
|
||||
// new 2025.06.25 V1-V3升级多送两级
|
||||
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
|
||||
// 支付时才进行处理
|
||||
if (null != bdGrade) {
|
||||
if (EGrade.HAI_FAN.getValue() == bdGrade.getGradeValue()) {
|
||||
// V1 给 V3
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.YOU_KE.getValue() == bdGrade.getGradeValue()) {
|
||||
// V2 给 V4
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.MAKER.getValue() == bdGrade.getGradeValue()) {
|
||||
// V3 给 V5
|
||||
bdGrade = gradeList.stream().filter(tmpData -> EGrade.S_VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return bdGrade;
|
||||
}
|
||||
|
||||
|
@ -3498,4 +3487,32 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
return cuMemberLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* new 2025.06.25 V1-V3升级多送两级处理
|
||||
*
|
||||
* @param gradeList
|
||||
* @param bdGrade
|
||||
* @return
|
||||
*/
|
||||
private BdGrade handleGradeEnd(List<BdGrade> gradeList, BdGrade bdGrade) {
|
||||
// new 2025.06.14 添加新需求,V1-V3,购买多给两级
|
||||
// new 2025.06.25 V1-V3升级多送两级,可以继续购买升级
|
||||
Integer pkGrade = bdGrade.getPkId();
|
||||
// 临时处理等级
|
||||
BdGrade tmpGrade = gradeList.stream().filter(tmpData -> tmpData.getPkId().equals(pkGrade)).findFirst().get();
|
||||
|
||||
if (EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) {
|
||||
// V1 给 V3
|
||||
tmpGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.YOU_KE.getValue() == tmpGrade.getGradeValue()) {
|
||||
// V2 给 V4
|
||||
tmpGrade = gradeList.stream().filter(tmpData -> EGrade.VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
} else if (EGrade.MAKER.getValue() == tmpGrade.getGradeValue()) {
|
||||
// V3 给 V5
|
||||
tmpGrade = gradeList.stream().filter(tmpData -> EGrade.S_VIP.getValue() == tmpData.getGradeValue()).findFirst().get();
|
||||
}
|
||||
|
||||
return tmpGrade;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue