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

This commit is contained in:
cabbage 2025-07-18 20:53:43 +08:00
parent ea3e4d923c
commit 92a7c650e7
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()) { 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); resultStr = this.payUpgOrder(saOrderExt, cuMember, null);
} else { } else {
// 其它订单 // 其它订单

View File

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

View File

@ -2503,7 +2503,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
// 注册专区直接算等级 // 注册专区直接算等级
bdGrade = this.getGradeByBox(boxNum, gradeList, null, true); 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) { if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理 // 支付时才进行处理
bdGrade = tmpGrade; bdGrade = tmpGrade;
@ -2539,7 +2539,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) { if (null != isPay && EYesNo.YES.getIntValue() == isPay) {
// 支付时才进行处理 // 支付时才进行处理
bdGrade = tmpGrade; bdGrade = tmpGrade;
@ -3383,13 +3383,16 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
* new 2025.06.25 V1-V3升级多送两级处理 * new 2025.06.25 V1-V3升级多送两级处理
* *
* @param gradeList * @param gradeList
* @param bdGrade * @param pkGrade
* @return * @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.14 添加新需求V1-V3购买多给两级
// new 2025.06.25 V1-V3升级多送两级可以继续购买升级 // new 2025.06.25 V1-V3升级多送两级可以继续购买升级
Integer pkGrade = bdGrade.getPkId();
// 临时处理等级 // 临时处理等级
BdGrade tmpGrade = gradeList.stream().filter(tmpData -> tmpData.getPkId().equals(pkGrade)).findFirst().get(); BdGrade tmpGrade = gradeList.stream().filter(tmpData -> tmpData.getPkId().equals(pkGrade)).findFirst().get();