From 75a1b222c9afc2cea14c9cc229e492fcba5e1072 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 1 Aug 2025 16:38:36 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=9B=A8=E6=B1=90=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E5=A4=9A=E9=80=812=E7=BA=A7?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiRetailOrderController.java | 5 +++- .../service/impl/RetailOrderServiceImpl.java | 4 +-- .../sale/order/service/ISaOrderService.java | 2 +- .../service/impl/SaOrderServiceImpl.java | 30 ++++++++++++------- 4 files changed, 27 insertions(+), 14 deletions(-) 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();