## 赠送等级之后可以继续购买升级;
This commit is contained in:
parent
4d352ea2bf
commit
18f2f1e17b
|
@ -2628,6 +2628,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
if (ESpecialArea.RETAIL_REGISTER.getValue() == specialArea) {
|
if (ESpecialArea.RETAIL_REGISTER.getValue() == specialArea) {
|
||||||
// 注册专区直接算等级
|
// 注册专区直接算等级
|
||||||
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
|
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
|
||||||
|
// 特殊等级处理
|
||||||
|
this.handleGradeEnd(gradeList, bdGrade);
|
||||||
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
} else if (ESpecialArea.RETAIL_UPGRADE.getValue() == specialArea) {
|
||||||
// 升级专区,一次性补差升级
|
// 升级专区,一次性补差升级
|
||||||
if (boxNum == 0) {
|
if (boxNum == 0) {
|
||||||
|
@ -2651,31 +2653,18 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
// 计算等级
|
// 计算等级
|
||||||
bdGrade = this.getGradeByBox(boxNum + baseBoxNum, gradeList, memberGrade, true);
|
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;
|
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;
|
return bdGrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2738,7 +2727,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList,
|
private int handleBaseBoxNum(CuMember cuMember, BdGrade memberGrade, List<BdGrade> gradeList, List<String> boxProductList,
|
||||||
Integer systemType) {
|
Integer systemType) {
|
||||||
// 升级盒数基数
|
// 升级盒数基数
|
||||||
int baseBoxNum = 0;
|
int baseBoxNum = 0;
|
||||||
// 会员所有升级记录
|
// 会员所有升级记录
|
||||||
|
@ -3498,4 +3487,32 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
return cuMemberLevel;
|
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