diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java index 18ad4017..9ff3781e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/service/impl/RetailOrderServiceImpl.java @@ -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 { // 其它订单 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java index c804cd8d..31a6e27c 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderService.java @@ -642,4 +642,12 @@ public interface ISaOrderService extends IService { List gradeList, CuMember updateGradeMember, Integer systemType, Integer isPay); + /** + * 处理最终等级(多送2级) + * @param gradeList + * @param pkGrade + * @return + */ + BdGrade handleGradeEnd(List gradeList, Integer pkGrade); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index fadb6922..260280fe 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -2503,7 +2503,7 @@ public class SaOrderServiceImpl extends ServiceImpl 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; @@ -2539,7 +2539,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } // 特殊等级处理 - BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade); + BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId()); if (null != isPay && EYesNo.YES.getIntValue() == isPay) { // 支付时才进行处理 bdGrade = tmpGrade; @@ -3383,13 +3383,16 @@ public class SaOrderServiceImpl extends ServiceImpl impl * new 2025.06.25 V1-V3升级多送两级处理 * * @param gradeList - * @param bdGrade + * @param pkGrade * @return */ - private BdGrade handleGradeEnd(List gradeList, BdGrade bdGrade) { + @Override + public BdGrade handleGradeEnd(List 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();