From 3a279b7948ffdc61f15de12bd5b2dc5c21fdfa35 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 19 Aug 2025 09:08:20 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E9=9B=A8=E6=B1=90=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=AE=A2=E5=8D=95=E6=92=A4=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0V3=E4=BB=A5=E4=B8=8A=E4=B8=8D=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=A0=A1=E9=AA=8C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/system/config/dto/GradeDTO.java | 6 +-- .../manager/SaOrderBusinessController.java | 2 +- .../service/impl/SaOrderServiceImpl.java | 40 ++++++++++--------- .../sale/order/vo/ValidateCancelOrderVO.java | 7 +--- .../common/domain/system/config/BdGrade.java | 3 -- 5 files changed, 25 insertions(+), 33 deletions(-) diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java index b9d10657..200e7803 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/config/dto/GradeDTO.java @@ -11,11 +11,7 @@ import java.math.BigDecimal; import java.util.List; /** - * @Description: 等级的dto - * @Author: sui q - * @Time: 2022/9/24 15:06 - * @Classname: GradeDTO - * @PackageName: com.hzs.system.config.dto + * 等级的dto */ @Data @Builder diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java index 7f33d91f..402637e0 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderBusinessController.java @@ -1005,7 +1005,7 @@ public class SaOrderBusinessController extends BaseController { } /** - * 撤销订单并入库,全免 + * 撤销订单并入库,全免 -- 现用撤单 * * @param orderCancelParam 参数 */ 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 1dffb0c4..c914fa69 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 @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.activity.pick.service.IAcRetailPickService; -import com.hzs.common.core.config.BdConfig; import com.hzs.common.core.constant.*; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.constant.msg.MemberMsgConstants; @@ -87,7 +86,6 @@ import java.math.RoundingMode; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.concurrent.TimeUnit; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -100,9 +98,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl @DubboReference IMemberServiceApi memberServiceApi; @DubboReference - IGradeServiceApi gradeServiceApi; + IGradeServiceApi iGradeServiceApi; @DubboReference - IAwardsServiceApi awardsServiceApi; + IAwardsServiceApi iAwardsServiceApi; @DubboReference IAreaServiceApi areaServiceApi; @DubboReference @@ -127,8 +125,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl IMemberTradeServiceApi memberTradeServiceApi; @DubboReference ICuMemberDetailServiceApi iCuMemberDetailServiceApi; - @DubboReference - IGradeServiceApi iGradeServiceApi; @Autowired private IBdWaresService iBdWaresService; @@ -596,8 +592,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMember.setPkSettleGradeValue(gradeDTO.getGradeValue()); // 判断奖衔,原会员有奖衔的话判断哪个大,使用大的 if (pkAwards != null && gradeDTO.getGradeValue() != null) { - BdAwards bdAwards = awardsServiceApi.getAwardsOne(pkAwards).getData(); - BdAwards newAwards = awardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData(); + BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(pkAwards).getData(); + BdAwards newAwards = iAwardsServiceApi.getAwardsOne(gradeDTO.getPkAwards()).getData(); if (bdAwards.getAwardsValue() < newAwards.getAwardsValue()) { cuMember.setPkAwards(gradeDTO.getPkAwards()); } @@ -852,7 +848,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class) public Boolean payUpgradeSaOrder(SaOrderExt saOrderExt, CuMemberAccountExt cuMemberAccountExt) { CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember()); - GradeDTO oldGradeDTO = gradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); + GradeDTO oldGradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); // 封装等级,重新计算会员等级 if (setLastCuMemberGrade(cuMember, saOrderExt)) { return false; @@ -1077,7 +1073,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (orderParam.getIsEnough() != null && orderParam.getIsEnough()) { orderReturn.setIsEnough(Boolean.TRUE); CuMember member = getCuMemberByKey(orderParam.getCenterCodeId()); - GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData(); + GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData(); orderReturn.setPkGrade(grade.getPkTransaction()); return orderReturn; } @@ -1089,7 +1085,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } else { member = getCuMemberByKey(orderParam.getCenterCodeId()); } - GradeDTO grade = gradeServiceApi.getGrade(member.getPkSettleGrade()).getData(); + GradeDTO grade = iGradeServiceApi.getGrade(member.getPkSettleGrade()).getData(); if (grade.getGradeValue() < gradeDTO.getGradeValue()) { orderReturn.setIsEnough(Boolean.TRUE); } else { @@ -2218,25 +2214,33 @@ public class SaOrderServiceImpl extends ServiceImpl impl * @return */ private GradeDTO calculateRetailCancelGrade(CuMember cuMember, SaOrder saOrder) { - // 查询会员升级记录表最终数据 - CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData(); - if (null != cuMemberLevel) { - return gradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData(); + if (RetailConstants.VERTEX_PK_ID.equals(cuMember.getPkVertex())) { + // 2025.08.18 雨汐体系改为累计升级,撤单需要单独处理等级计算 + GradeDTO memberGrade = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); + if (memberGrade.getGradeValue() > EGrade.MAKER.getValue()) { + // 会员等级大于卓越,直接返回当前等级 + return memberGrade; + } + } else { + // 查询会员升级记录表最终数据 + CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrder.getPkId()).getData(); + if (null != cuMemberLevel) { + return iGradeServiceApi.getGrade(cuMemberLevel.getNewLevel()).getData(); + } } - // 没有升级记录,直接查会员注册信息表 CuMemberRegister cuMemberRegister = iCuMemberDetailServiceApi.getMemberRegister(cuMember.getPkId()).getData(); if (null == cuMemberRegister) { throw new ServiceException("没有会员注册信息"); } - return gradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData(); + return iGradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData(); } /** * 处理撤销升级订单 * * @param saOrderExt 订单信息 - * @param updSaOrder 升级订单 + * @param updSaOrder 升级订单(上一个升级订单) * @param pkApprove 操作人 * @param businessCommissionDTO 业务处理DTO */ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/ValidateCancelOrderVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/ValidateCancelOrderVO.java index 914601c6..75febbe1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/ValidateCancelOrderVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/ValidateCancelOrderVO.java @@ -1,6 +1,5 @@ package com.hzs.sale.order.vo; -import com.hzs.common.domain.member.account.CuMemberAccount; import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.order.SaOrder; import lombok.AllArgsConstructor; @@ -13,11 +12,7 @@ import java.util.List; import java.util.Map; /** - * @Description: 验证撤单信息,返回的实体 - * @Author: sui q - * @Time: 2023/3/22 13:47 - * @Classname: ValidateCancelOrderVO - * @PackageName: com.hzs.sale.order.vo + * 验证撤单信息,返回的实体 */ @Data @Builder diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java index e87ccc42..1904ed87 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdGrade.java @@ -17,9 +17,6 @@ import java.math.BigDecimal; /** * 等级配置表 - * - * @author zhangjing - * @since 2022-09-08 */ @Data @EqualsAndHashCode(callSuper = true)