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..5cd598b8 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 @@ -719,8 +719,9 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } // 封装会员信息 CuMember newMember = this.packageCuMember(registerParam); - newMember.setPkSettleGrade(registerParam.getPkGrade()); - newMember.setPkAwards(registerParam.getPkAwards()); + BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, registerParam.getPkGrade()); + newMember.setPkSettleGrade(tmpGrade.getPkId()); + newMember.setPkAwards(tmpGrade.getPkAwards()); saOrderExt.setPkMember(newMember.getPkId()); @@ -734,7 +735,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 2930ae75..31921788 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 @@ -2504,7 +2504,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; @@ -2540,7 +2540,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; @@ -3384,13 +3384,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();