## 在线支付处理升级多送两级问题;

This commit is contained in:
cabbage 2025-07-18 20:53:43 +08:00
parent e7a339a69a
commit 3afae49d92
3 changed files with 18 additions and 6 deletions

View File

@ -734,7 +734,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
}
if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) {
// 升级订单
cuMember.setPkSettleGrade(saOrderExt.getPkGrade());
BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, saOrderExt.getPkGrade());
cuMember.setPkSettleGrade(tmpGrade.getPkId());
resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
} else {
// 其它订单

View File

@ -642,4 +642,12 @@ public interface ISaOrderService extends IService<SaOrder> {
List<BdGrade> gradeList, CuMember updateGradeMember,
Integer systemType, Integer isPay);
/**
* 处理最终等级多送2级
* @param gradeList
* @param pkGrade
* @return
*/
BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade);
}

View File

@ -2504,7 +2504,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 注册专区直接算等级
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true);
// 特殊等级处理
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade);
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId());
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理
bdGrade = tmpGrade;
@ -2540,7 +2540,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
}
// 特殊等级处理
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade);
BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId());
if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理
bdGrade = tmpGrade;
@ -3384,13 +3384,16 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
* new 2025.06.25 V1-V3升级多送两级处理
*
* @param gradeList
* @param bdGrade
* @param pkGrade
* @return
*/
private BdGrade handleGradeEnd(List<BdGrade> gradeList, BdGrade bdGrade) {
@Override
public BdGrade handleGradeEnd(List<BdGrade> gradeList, Integer pkGrade) {
if (CollectionUtil.isEmpty(gradeList)) {
gradeList = iGradeServiceApi.getRetailGradeList().getData();
}
// 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();