diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java index c4b592b2..0a7e4ffa 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/retail/sale/controller/api/ApiRetailOrderController.java @@ -79,7 +79,10 @@ public class ApiRetailOrderController { .isEnough(false) .build(); - if (ESpecialArea.RETAIL_UPGRADE.getValue() == levelParam.getSpecialArea()) { + if (ESpecialArea.REGISTER_AREA.getValue() == levelParam.getSpecialArea()) { + // 注册订单 + levelParam.setUpgradeMember(iMemberServiceApi.getMember(SecurityUtils.getUserId()).getData()); + } else if (ESpecialArea.RETAIL_UPGRADE.getValue() == levelParam.getSpecialArea()) { // 升级校验 if (StringUtils.isEmpty(levelParam.getUpgradeMemberCode())) { return AjaxResult.error("升级编号不能为空"); 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 5cd598b8..6cff3cb8 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,7 +719,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } // 封装会员信息 CuMember newMember = this.packageCuMember(registerParam); - BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, registerParam.getPkGrade()); + BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, registerParam.getPkGrade(), newMember.getPkVertex()); newMember.setPkSettleGrade(tmpGrade.getPkId()); newMember.setPkAwards(tmpGrade.getPkAwards()); @@ -735,7 +735,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService { } if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { // 升级订单 - BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, saOrderExt.getPkGrade()); + BdGrade tmpGrade = iSaOrderService.handleGradeEnd(null, saOrderExt.getPkGrade(), cuMember.getPkVertex()); 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 31a6e27c..ace9d6ea 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 @@ -648,6 +648,6 @@ public interface ISaOrderService extends IService { * @param pkGrade * @return */ - BdGrade handleGradeEnd(List gradeList, Integer pkGrade); + BdGrade handleGradeEnd(List gradeList, Integer pkGrade, Long pkVertex); } 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 31921788..1db786d5 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.getPkId()); + BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId(), updateGradeMember.getPkVertex()); if (null != isPay && EYesNo.YES.getIntValue() == isPay) { // 支付时才进行处理 bdGrade = tmpGrade; @@ -2518,13 +2518,17 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 当前会员等级 BdGrade memberGrade = gradeList.stream().filter(tmpGrade -> tmpGrade.getPkId().equals(updateGradeMember.getPkSettleGrade())).findFirst().get(); -// if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) { -// // 会员等级大于等于V3(卓越),不能通过升级进行购买了 -// throw new ServiceException("当前已经是可以购买的最高等级"); -// } - if (memberGrade.getGradeValue().compareTo(EGrade.S_VIP.getValue()) >= 0) { - // new 2025.06.25 V1-V3升级多送两级,后续还需要继续购买升级,此处调整逻辑,会员等级大于等于V5(合伙人),不能通过升级进行购买了 - throw new ServiceException("当前已经是可以购买的最高等级"); + if (RetailConstants.VERTEX_PK_ID.equals(updateGradeMember.getPkVertex())) { + if (memberGrade.getGradeValue().compareTo(EGrade.MAKER.getValue()) >= 0) { + // 会员等级大于等于V3(卓越),不能通过升级进行购买了 + throw new ServiceException("当前已经是可以购买的最高等级"); + } + } else { + // 2025.08.01 非雨汐团队会多升2级 + if (memberGrade.getGradeValue().compareTo(EGrade.S_VIP.getValue()) >= 0) { + // new 2025.06.25 V1-V3升级多送两级,后续还需要继续购买升级,此处调整逻辑,会员等级大于等于V5(合伙人),不能通过升级进行购买了 + throw new ServiceException("当前已经是可以购买的最高等级"); + } } // 获取升级盒数基数 @@ -2539,8 +2543,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl return null; } + // 2025.08.01 非雨汐团队会多升2级 // 特殊等级处理 - BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId()); + BdGrade tmpGrade = this.handleGradeEnd(gradeList, bdGrade.getPkId(), updateGradeMember.getPkVertex()); if (null != isPay && EYesNo.YES.getIntValue() == isPay) { // 支付时才进行处理 bdGrade = tmpGrade; @@ -3388,7 +3393,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl * @return */ @Override - public BdGrade handleGradeEnd(List gradeList, Integer pkGrade) { + public BdGrade handleGradeEnd(List gradeList, Integer pkGrade, Long pkVertex) { if (CollectionUtil.isEmpty(gradeList)) { gradeList = iGradeServiceApi.getRetailGradeList().getData(); } @@ -3397,6 +3402,11 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 临时处理等级 BdGrade tmpGrade = gradeList.stream().filter(tmpData -> tmpData.getPkId().equals(pkGrade)).findFirst().get(); + if (RetailConstants.VERTEX_PK_ID.equals(pkVertex)) { + // 2025.08.01 雨汐团队不参加多送两级活动 + return tmpGrade; + } + if (EGrade.HAI_FAN.getValue() == tmpGrade.getGradeValue()) { // V1 给 V3 tmpGrade = gradeList.stream().filter(tmpData -> EGrade.MAKER.getValue() == tmpData.getGradeValue()).findFirst().get();