From 5198013f320911f7808d65abbe1623962d87890b Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 22 Aug 2025 15:11:32 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=92=A4=E5=8D=95=E5=A4=84=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 7 +- .../detail/ICuMemberDetailServiceApi.java | 16 +- .../base/provider/MemberServiceProvider.java | 14 +- .../service/ICuMemberBusinessService.java | 9 +- .../impl/CuMemberBusinessServiceImpl.java | 96 ++++------ .../detail/mapper/CuMemberLevelMapper.java | 8 +- .../provider/CuMemberDetailProvider.java | 13 +- .../detail/service/ICuMemberLevelService.java | 7 +- .../impl/CuMemberLevelServiceImpl.java | 4 +- .../member/detail/CuMemberLevelMapper.xml | 3 + .../manager/SaOrderBusinessController.java | 168 +----------------- .../hzs/sale/order/param/OrderQueryParam.java | 9 +- .../order/service/IOrderBusinessService.java | 21 +-- .../impl/OrderBusinessServiceImpl.java | 34 +--- .../service/impl/SaOrderServiceImpl.java | 111 +++--------- .../core/constant/msg/CommonMsgConstants.java | 10 -- 16 files changed, 94 insertions(+), 436 deletions(-) diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index eacd699b..418936eb 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -61,12 +61,7 @@ public interface IMemberServiceApi { * @param pkApprove 审核人 * @param saOrder 销售订单 */ - R singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO); - - /** - * 自助撤单-注册单撤单 - **/ - R singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO); + R singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO, boolean selfBool); /** * 撤销订单,需要更新会员,合并撤单,直接删除会员 diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java index 69e0b516..646717cb 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/detail/ICuMemberDetailServiceApi.java @@ -1,7 +1,6 @@ package com.hzs.member.detail; import com.hzs.common.core.domain.R; -import com.hzs.common.domain.member.base.CuMemberRegister; import com.hzs.common.domain.member.detail.CuMemberLevel; import java.util.List; @@ -14,11 +13,12 @@ public interface ICuMemberDetailServiceApi { /** * 查询升级的最新一条 * - * @param pkMember 会员ID - * @param pkOrder 订单ID(可为null) + * @param pkMember 会员ID + * @param pkOrder 订单ID(可为null) + * @param notUpType 不查询的升级方式(可为null) * @return */ - R getLastUpgrade(Long pkMember, Long pkOrder); + R getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType); /** * 查询所有升级记录 @@ -28,12 +28,4 @@ public interface ICuMemberDetailServiceApi { */ R> getUpgradeList(Long pkMember); - /** - * 查询会员注册信息 - * - * @param pkMember 会员ID - * @return - */ - R getMemberRegister(Long pkMember); - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index b0b58ee1..15776092 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -78,9 +78,9 @@ public class MemberServiceProvider implements IMemberServiceApi { } @Override - public R singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) { + public R singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO, boolean selfBool) { try { - if (iCuMemberBusinessService.singleRevokeMemberByRegisterOrder(pkApprove, saOrder, businessCommissionDTO)) { + if (iCuMemberBusinessService.singleRevokeMemberByRegisterOrder(pkApprove, saOrder, businessCommissionDTO, selfBool)) { return R.ok(); } return R.fail("会员信息处理失败"); @@ -90,16 +90,6 @@ public class MemberServiceProvider implements IMemberServiceApi { } } - @Override - public R singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) { - try { - return R.ok(iCuMemberBusinessService.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrder, businessCommissionDTO)); - } catch (Exception e) { - log.error("singleRevokeMemberBySelfRevokeOrder error msg: {}", e.getMessage(), e); - return R.ok(false); - } - } - @Override public R mergeRevokeMemberByRegisterOrder(Long pkApprove, List memberList, Map saOrderMap, BusinessCommissionDTO businessCommissionDTO) { try { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java index 6ec903c7..9edbcb46 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java @@ -83,13 +83,10 @@ public interface ICuMemberBusinessService { * * @param pkApprove 审核人 * @param saOrder 销售订单 + * @param selfBool 是否自助撤单 */ - Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO); - - /** - * 自助撤单-注册单撤单 - **/ - Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO); + Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, + BusinessCommissionDTO businessCommissionDTO, boolean selfBool); /** diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index dc55cea2..953aea10 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -558,7 +558,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) { + public Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, + BusinessCommissionDTO businessCommissionDTO, boolean selfBool) { deductCancelOrderCost(businessCommissionDTO); Date currentDateTime = DateUtils.currentDateTime(); @@ -566,18 +567,36 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) { // 会员账号 验证会员账户是否存在金额 CuMember member = iCuMemberService.getMemberById(saOrder.getPkMember()); - // 会员变为死点 - member.setCategory(ECategory.LOGGED_OUT.getValue()); - member.setCustomerType(ECustomerType.DEAD_POINT.getValue()); - member.setPkModified(saOrder.getPkModified()); - member.setModifiedTime(DateUtils.currentDateTime()); - iCuMemberService.updateById(member); - // 撤销正常订单,修改 cu_member_register 账户状态为死点 - CuMemberRegister cuMemberRegister = new CuMemberRegister(); - cuMemberRegister.setPkMember(member.getPkId()); - cuMemberRegister.setPkCountry(saOrder.getPkCountry()); - cuMemberRegister.setPkModified(saOrder.getPkCreator()); - iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister); + if (selfBool) { + // 自助撤单,删除会员相关信息 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(CuMember::getMemberCode, CommonUtil.deleteMemberCode(member.getMemberCode())); + updateWrapper.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(CuMember::getModifiedTime, currentDateTime); + updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified()); + updateWrapper.eq(CuMember::getPkId, member.getPkId()); + iCuMemberService.update(updateWrapper); + // 删除会员注册表 + LambdaUpdateWrapper updateWrapperRegister = new LambdaUpdateWrapper<>(); + updateWrapperRegister.set(CuMemberRegister::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapperRegister.set(CuMemberRegister::getModifiedTime, currentDateTime); + updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified()); + updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId()); + iCuMemberRegisterService.update(updateWrapperRegister); + } else { + // 非自助撤单,会员变为死点 + member.setCategory(ECategory.LOGGED_OUT.getValue()); + member.setCustomerType(ECustomerType.DEAD_POINT.getValue()); + member.setPkModified(saOrder.getPkModified()); + member.setModifiedTime(DateUtils.currentDateTime()); + iCuMemberService.updateById(member); + // 撤销正常订单,修改 cu_member_register 账户状态为死点 + CuMemberRegister cuMemberRegister = new CuMemberRegister(); + cuMemberRegister.setPkMember(member.getPkId()); + cuMemberRegister.setPkCountry(saOrder.getPkCountry()); + cuMemberRegister.setPkModified(saOrder.getPkCreator()); + iCuMemberRegisterService.updateCuMemberRegister(cuMemberRegister); + } } // 处理推荐人等级 @@ -600,51 +619,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { return true; } - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO) { - deductCancelOrderCost(businessCommissionDTO); - Date currentDateTime = DateUtils.currentDateTime(); - // 回退给创建人 - CuMemberAccount payMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(saOrder.getPkCreator()); - if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) { - // 会员账号 验证会员账户是否存在金额 - CuMember member = iCuMemberService.getMember(saOrder.getPkMember()); - //删除会员 - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.set(CuMember::getMemberCode, CommonUtil.deleteMemberCode(member.getMemberCode())); - updateWrapper.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue()); - updateWrapper.set(CuMember::getModifiedTime, currentDateTime); - updateWrapper.set(CuMember::getPkModified, saOrder.getPkModified()); - updateWrapper.eq(CuMember::getPkId, member.getPkId()); - iCuMemberService.update(updateWrapper); - // 删除会员注册表 - LambdaUpdateWrapper updateWrapperRegister = new LambdaUpdateWrapper<>(); - updateWrapperRegister.set(CuMemberRegister::getDelFlag, EDelFlag.DELETE.getValue()); - updateWrapperRegister.set(CuMemberRegister::getModifiedTime, currentDateTime); - updateWrapperRegister.set(CuMemberRegister::getPkModified, saOrder.getPkModified()); - updateWrapperRegister.eq(CuMemberRegister::getPkMember, member.getPkId()); - iCuMemberRegisterService.update(updateWrapperRegister); - } - - // 处理推荐人等级 - handleParentLevel(saOrder, currentDateTime); - // 删除会员区域 - iCuMemberRetailRegionService.update(Wrappers.lambdaUpdate() - .eq(CuMemberRetailRegion::getPkMember, saOrder.getPkMember()) - .set(CuMemberRetailRegion::getDelFlag, EDelFlag.DELETE.getValue()) - .set(CuMemberRetailRegion::getModifiedTime, currentDateTime) - ); - if (saOrder.getPayType().equals(EOrderPayType.WALLET.getValue())) { - // 钱包支付,则需要回退金额 - cancelOrderBackAccount(pkApprove, saOrder, payMemberAccount); - } else { - // 在线支付,处理退款 - this.handleOnlineRefund(saOrder); - } - return true; - } - @Transactional(rollbackFor = Exception.class) @Override public void selfInsertMemberTrade(SaOrder saOrder, CuMemberAccount cuMemberAccount) { @@ -902,8 +876,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { if (EOrderType.RETAIL_UPGRADE.getValue() == saOrder.getOrderType()) { // 升级订单 - // 回退等级 + // 删除购买升级的升级记录 iCuMemberLevelService.deleteCuMemberLevelRecord(saOrder.getPkId(), pkApprove, currentDateTime); + + // TODO 处理会员自己等级 + + // 如果会员等级非代理,则需要删除会员区域 GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData(); if (gradeDTO.getGradeValue() != EGrade.REGION.getValue() diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java index 39503912..ceded13e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/mapper/CuMemberLevelMapper.java @@ -16,12 +16,14 @@ public interface CuMemberLevelMapper extends BaseMapper { /** * 查询最新升级记录 * - * @param pkMember 会员ID - * @param pkOrder 订单ID(可为null) + * @param pkMember 会员ID + * @param pkOrder 订单ID(可为null) + * @param notUpType 不查询的升级方式(可为null) * @return */ CuMemberLevel getLastUpgrade(@Param("pkMember") Long pkMember, - @Param("pkOrder") Long pkOrder); + @Param("pkOrder") Long pkOrder, + @Param("notUpType") Integer notUpType); /** * 查询所有升级记录 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java index d60772c4..89a579fc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/provider/CuMemberDetailProvider.java @@ -1,9 +1,7 @@ package com.hzs.member.detail.provider; import com.hzs.common.core.domain.R; -import com.hzs.common.domain.member.base.CuMemberRegister; import com.hzs.common.domain.member.detail.CuMemberLevel; -import com.hzs.member.base.service.ICuMemberRegisterService; import com.hzs.member.detail.ICuMemberDetailServiceApi; import com.hzs.member.detail.service.ICuMemberLevelService; import org.apache.dubbo.config.annotation.DubboService; @@ -19,12 +17,10 @@ public class CuMemberDetailProvider implements ICuMemberDetailServiceApi { @Autowired private ICuMemberLevelService iCuMemberLevelService; - @Autowired - private ICuMemberRegisterService iCuMemberRegisterService; @Override - public R getLastUpgrade(Long pkMember, Long pkOrder) { - return R.ok(iCuMemberLevelService.getLastUpgrade(pkMember, pkOrder)); + public R getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType) { + return R.ok(iCuMemberLevelService.getLastUpgrade(pkMember, pkOrder, notUpType)); } @Override @@ -32,9 +28,4 @@ public class CuMemberDetailProvider implements ICuMemberDetailServiceApi { return R.ok(iCuMemberLevelService.getUpgradeList(pkMember)); } - @Override - public R getMemberRegister(Long pkMember) { - return R.ok(iCuMemberRegisterService.queryCuMemberRegister(pkMember)); - } - } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java index 4fc787d0..a898bdf4 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/ICuMemberLevelService.java @@ -24,11 +24,12 @@ public interface ICuMemberLevelService extends IService { /** * 查询最新升级记录 * - * @param pkMember 会员ID - * @param pkOrder 订单ID(可为null) + * @param pkMember 会员ID + * @param pkOrder 订单ID(可为null) + * @param notUpType 不查询的升级方式(可为null) * @return */ - CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder); + CuMemberLevel getLastUpgrade(Long pkMember, Long pkOrder, Integer notUpType); /** * 查询所有升级记录 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java index 58f2e239..85976117 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/detail/service/impl/CuMemberLevelServiceImpl.java @@ -32,8 +32,8 @@ public class CuMemberLevelServiceImpl extends ServiceImpl and (cml.pk_order != #{pkOrder} or cml.pk_order is null ) + + and cml.up_type != #{notUpType} + and cml.pk_member = #{pkMember} order by cml.upgrade_time desc ) t 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 954c816f..37874a5f 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 @@ -16,7 +16,6 @@ import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; -import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderItemsExt; @@ -129,13 +128,7 @@ public class SaOrderBusinessController extends BaseController { for (OrderBusinessVO orderBusinessVO : list) { // 省市区处理 OrderUtil.handleOrderAddress(areaMap, orderBusinessVO); - - if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) { - if (null != orderBusinessVO.getInExchangeRate()) { - orderBusinessVO.setOrderAchieveRmb(orderBusinessVO.getOrderAchieve().multiply(orderBusinessVO.getInExchangeRate())); - } - } - + orderBusinessVO.setOrderAchieveRmb(orderBusinessVO.getOrderAchieve()); // 处理撤单时间 orderBusinessVO.setCancelTime(DateUtils.getStartTime(orderBusinessVO.getPayTime())); @@ -224,14 +217,6 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_EXIST)); } - // 如果已经转结算国,之前订单不能操作 - for (SaOrderExt saOrder : saOrderList) { - if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) { - // 用户已转结算国,不能进行操作 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE)); - } - } - // 本次业务修改费用 Map queryChargeMap = iOrderBusinessService.queryChargeLog(saOrderList, EApprovalBusiness.ORDER_CHANGE_ADDRESS, pkCountry); @@ -499,30 +484,14 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(orderCode + TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_EXIST)); } - // 如果已经转结算国,之前订单不能操作 - if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) { - // 用户已转结算国,不能进行操作 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE)); - } - -// // 过滤赠品,只有非赠品才能进行调换货 -// List orderItemsExtList = saOrder.getOrderItemsExtList().stream().filter(saOrderItemsExt -> EYesNo.NO.getIntValue() == saOrderItemsExt.getIsGift()).collect(Collectors.toList()); - // 业务修改费用 Map queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(saOrder), EApprovalBusiness.ORDER_CHANGE_PRODUCT, pkCountry); // 调换货物订单以及产品PV是否需要处理 if (saOrder.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { // 如果是中国订单 - // 汇率(目前只有中国需要由美金转人民币显示,其它国家显示就是美金不需要转换) - BigDecimal baseExchangeRate = saOrder.getInExchangeRate(); - if (null != baseExchangeRate) { - // 基础汇率不为空,则进行转换 - saOrder.setOrderAchieve(saOrder.getOrderAchieve().multiply(baseExchangeRate)); - - for (SaOrderItemsExt saOrderItemsExt : saOrder.getOrderItemsExtList()) { - saOrderItemsExt.setAchievementRmb(saOrderItemsExt.getAchievement().multiply(baseExchangeRate)); - } + for (SaOrderItemsExt saOrderItemsExt : saOrder.getOrderItemsExtList()) { + saOrderItemsExt.setAchievementRmb(saOrderItemsExt.getAchievement()); } } @@ -572,39 +541,14 @@ public class SaOrderBusinessController extends BaseController { if (orderQueryChargeDTO.getCost().compareTo(BigDecimal.ZERO) > 0) { // 扣款金额大于0,则进行处理 - // 扣款国家 - Integer costCountry = pkCountry; // 扣款账户 Integer costAccount = orderQueryChargeDTO.getPkAccount(); // 扣款金额 BigDecimal cost = orderQueryChargeDTO.getCost(); - // 订单下单人信息 - CuMember cuMember = iMemberServiceApi.getMember(saOrder.getPkCreator()).getData(); - if (!costCountry.equals(cuMember.getPkSettleCountry())) { - // 当前国家与订单创建人结算国家不同,跨国报单需要转换手续费 - costCountry = cuMember.getPkSettleCountry(); - - // 订单创建人所属国家业务扣款账户 - ServiceChargeDTO costServiceChargeDTO = iServiceChargeServiceApi.getServiceChargeByType(ServiceChargeDTO.builder() - .pkCountry(costCountry) - .type(EApprovalBusiness.ORDER_CHANGE_PRODUCT.getValue()) - .quantity(1) - .build()).getData(); - if (null == costServiceChargeDTO) { - return AjaxResult.success(); - } - costAccount = costServiceChargeDTO.getPkAccount(); - - // 根据汇率计算实际需要扣款金额 - CurrencyDTO costCurrencyDTO = iCurrencyServiceApi.getCurrency(costCountry).getData(); - // 扣款金额 = 订单结算国扣款金额 除 订单结算国汇率 乘 订单创建人结算国汇率 - cost = cost.multiply(costCurrencyDTO.getInExchangeRate()).divide(saOrder.getInExchangeRate(), 2, BigDecimal.ROUND_HALF_UP); - } - // 校验扣款金额是否足够 List memberBalanceDTOList = iBusinessCommission.selectBalanceNotEnoughMember(BusinessCommissionDTO.builder() - .pkCountry(costCountry) + .pkCountry(pkCountry) .pkAccount(costAccount) .memberAmountDTOList(Collections.singletonList(MemberAmountDTO.builder() // 订单创建人(下单人) @@ -653,7 +597,6 @@ public class SaOrderBusinessController extends BaseController { } Integer pkCountry = SecurityUtils.getPkCountry(); - // 校验订单是否存在进行中的签呈 String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry); if (null != checkStr) { @@ -698,7 +641,6 @@ public class SaOrderBusinessController extends BaseController { } Integer pkCountry = SecurityUtils.getPkCountry(); - // 校验订单是否存在进行中的签呈 String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry); if (null != checkStr) { @@ -732,19 +674,6 @@ public class SaOrderBusinessController extends BaseController { // 未支付订单,不能进行退单 return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_UNPAID_NOT_RETURN)); } - - // 如果已经转结算国,之前订单不能操作 - if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) { - // 用户已转结算国,不能进行操作 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE)); - } - - // 2023-09-06 00:00:00 之前的订单不能进行退单 - long dateLong = 1693929600000L; - if (saOrder.getCreationTime().getTime() < dateLong) { - return AjaxResult.error("历史订单撤单请联系管理员"); - } - return AjaxResult.success(saOrder); } @@ -768,7 +697,6 @@ public class SaOrderBusinessController extends BaseController { } Integer pkCountry = SecurityUtils.getPkCountry(); - // 校验订单是否存在进行中的签呈 String checkStr = iOrderBusinessService.checkBusinessExist(Collections.singletonList(param.getOrderCode()), pkCountry); if (null != checkStr) { @@ -803,38 +731,7 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_UNPAID_NOT_RETURN)); } -// if (EOrderType.REGISTER_ORDER.getValue() != saOrder.getOrderType() -// && EOrderType.FANS_ORDER.getValue() != saOrder.getOrderType()) { -// // 非 注册订单、嗨粉注册订单 不能进行合并退单 -// return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_NOT_RETURN)); -// } - - // 如果已经转结算国,之前订单不能操作 - if (!saOrder.getPkCountry().equals(saOrder.getPkSettleCountry())) { - // 用户已转结算国,不能进行操作 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.SETTLEMENT_COUNTRY_NOT_OPERATE)); - } - - // 2023-09-06 00:00:00 之前的订单不能进行退单 - long dateLong = 1693929600000L; - if (saOrder.getCreationTime().getTime() < dateLong) { - return AjaxResult.error("历史订单撤单请联系超级管理员"); - } - - List resultList = new ArrayList<>(); - resultList.add(saOrder); - -// if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType() -// || EOrderType.FANS_ORDER.getValue() == saOrder.getOrderType() -// || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType() -// ) { -// // 注册类订单,需要拉取所有订单 -// resultList.addAll(iSaOrderService.queryAllOrderByMember(saOrder.getPkMember(), pkCountry)); -// } - -// iSaOrderService.queryPlaceParentOrderList(saOrder.getPkMember()); - - return AjaxResult.success(resultList); + return AjaxResult.success(Collections.singletonList(saOrder)); } /** @@ -896,14 +793,8 @@ public class SaOrderBusinessController extends BaseController { return AjaxResult.error(validateCancelOrderVO.getMsg()); } // 本次业务修改费用 - List saOrderExtList = new ArrayList<>(); SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt(); - saOrderExtList.add(saOrderExt); - EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL; -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT; -// } - Map queryChargeMap = iOrderBusinessService.queryChargeLog(saOrderExtList, approveBusiness, SecurityUtils.getPkCountry()); + Map queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(saOrderExt), EApprovalBusiness.ORDER_CANCEL, SecurityUtils.getPkCountry()); OrderQueryChargeDTO dto = queryChargeMap.get(saOrderExt.getPkId()); // 撤销订单,撤销产品,撤销除升级订单 if (ECancelOrderType.MERGE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) { @@ -921,20 +812,6 @@ public class SaOrderBusinessController extends BaseController { .orderCode(saOrderExt.getOrderCode()) .build(); List orderCancelDetailVOList = new ArrayList<>(); -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// saOrderExt.getOrderItemsList().forEach(saOrderItems -> { -// String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName(); -// OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder() -// .pkId(saOrderItems.getPkId()) -// .productName(productName) -// .orderAmount(saOrderItems.getPrice()) -// .number(saOrderItems.getQuantity()) -// .achievement(saOrderItems.getAchievement()) -// .assAchievement(saOrderItems.getAssAchievement()) -// .build(); -// orderCancelDetailVOList.add(orderCancelDetailVO); -// }); -// } else { saOrderExt.getOrderItemsExtList().forEach(saOrderItems -> { OrderCancelDetailVO orderCancelDetailVO = OrderCancelDetailVO.builder() .pkId(saOrderItems.getPkId()) @@ -946,7 +823,6 @@ public class SaOrderBusinessController extends BaseController { .build(); orderCancelDetailVOList.add(orderCancelDetailVO); }); -// } orderCancelVO.setOrderCancelDetailVOList(orderCancelDetailVOList); orderCancelVO.setMemberCode(saOrderExt.getMemberCode()); orderCancelVO.setMemberName(saOrderExt.getMemberName()); @@ -967,11 +843,6 @@ public class SaOrderBusinessController extends BaseController { @Log(module = EOperationModule.CANCEL_ORDER_CONFIRM, method = EOperationMethod.INSERT) public AjaxResult cancelOrder(@RequestBody OrderCancelParam orderCancelParam) { orderCancelParam.setPkCountry(SecurityUtils.getPkCountry()); -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// if (orderCancelParam.getOrderCancelDetailParamList() == null || orderCancelParam.getOrderCancelDetailParamList().size() == 0) { -// return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); -// } -// } ValidateCancelOrderVO validateCancelOrderVO = iOrderBusinessService.validateCancelOrder(orderCancelParam); AjaxResult validateCancelOrder = validateCancelOrderVO(orderCancelParam, validateCancelOrderVO); if (validateCancelOrder != null) { @@ -982,7 +853,7 @@ public class SaOrderBusinessController extends BaseController { } /** - * 撤销订单并入库,全免 + * 撤销订单并入库,全免 -- 目前撤单使用 * * @param orderCancelParam 参数 */ @@ -990,11 +861,6 @@ public class SaOrderBusinessController extends BaseController { @Log(module = EOperationModule.CANCEL_ORDER_CONFIRM, method = EOperationMethod.INSERT) public AjaxResult freeCostCancelOrder(@RequestBody OrderCancelParam orderCancelParam) { orderCancelParam.setPkCountry(SecurityUtils.getPkCountry()); -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// if (orderCancelParam.getOrderCancelDetailParamList() == null || orderCancelParam.getOrderCancelDetailParamList().size() == 0) { -// return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); -// } -// } if (orderCancelParam.getCancelRoad() == null || (orderCancelParam.getCancelRoad() != 1 && orderCancelParam.getCancelRoad() != 3)) { return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.REQUIRED_NOT_EMPTY)); } @@ -1012,22 +878,6 @@ public class SaOrderBusinessController extends BaseController { if (validateCancelOrderVO.getSaOrderExt() == null) { return AjaxResult.error(validateCancelOrderVO.getMsg()); } -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// SaOrderExt saOrderExt = validateCancelOrderVO.getSaOrderExt(); -// if (saOrderExt.getOrderItemsList() == null) { -// return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_EMPTY)); -// } -// Map productMap = new HashMap<>(ComputeUtil.mapInitCapacity(orderCancelParam.getOrderCancelDetailParamList().size())); -// saOrderExt.getOrderItemsList().forEach(saOrderItems -> { -// String productName = productServiceApi.getProduct(saOrderItems.getPkProduct()).getData().getProductName(); -// productMap.put(saOrderItems.getPkId(), productName); -// }); -// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> { -// if (productMap.containsKey(orderCancelDetailParam.getPkId())) { -// orderCancelDetailParam.setProductName(productMap.get(orderCancelDetailParam.getPkId())); -// } -// }); -// } return null; } @@ -1042,9 +892,6 @@ public class SaOrderBusinessController extends BaseController { public TableDataInfo selfOrderList(@RequestBody SelfPickUpParam selfPickUpParam) { startPage(); selfPickUpParam.setPkSettleCountry(SecurityUtils.getPkCountry()); -// if (selfPickUpParam.getApproveStatus() == null) { -// selfPickUpParam.setApproveStatus(EApproveRechargeStatus.SUBMIT.getValue()); -// } if (selfPickUpParam.getEndDate() != null) { selfPickUpParam.setEndDate(DateUtils.afterDate(1, ChronoUnit.DAYS, selfPickUpParam.getEndDate())); } @@ -1170,7 +1017,6 @@ public class SaOrderBusinessController extends BaseController { */ @PostMapping("/validate-bind") public AjaxResult validateOrderBindBarCode(@RequestBody OrderQueryParam orderQueryParam) { - log.info(orderQueryParam.getOrderCode()); // 验证订单编号、订单类型是否存在 if (StringUtils.isEmpty(orderQueryParam.getOrderCode())) { return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_CODE_EMPTY)); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderQueryParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderQueryParam.java index bc7d719f..fd1c959f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderQueryParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/param/OrderQueryParam.java @@ -1,8 +1,5 @@ package com.hzs.sale.order.param; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.hzs.common.core.annotation.Transaction; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.Data; import java.io.Serializable; @@ -10,11 +7,7 @@ import java.util.Date; import java.util.List; /** - * @Description: 订单查询参数 - * @Author: sui q - * @Time: 2022/10/19 16:49 - * @Classname: OrderQueryParam - * @PackageName: com.hzs.sale.order.param + * 订单查询参数 */ @Data public class OrderQueryParam implements Serializable { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/IOrderBusinessService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/IOrderBusinessService.java index 32e3562f..480d6137 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/IOrderBusinessService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/IOrderBusinessService.java @@ -16,11 +16,7 @@ import java.util.List; import java.util.Map; /** - * @Description: 订单业务办理服务 - * @Author: jiang chao - * @Time: 2023/2/1 17:49 - * @Classname: IOrderBusinessService - * @PackageName: com.hzs.sale.order.service + * 订单业务办理服务 */ public interface IOrderBusinessService { @@ -161,9 +157,6 @@ public interface IOrderBusinessService { * * @param orderCancelParam 参数 * @param businessCode 审核验证的时候需要去掉自己 - * @return: Boolean - * @Author: sui q - * @Date: 2023/3/22 11:40 */ ValidateCancelOrderVO validateCancelOrder(OrderCancelParam orderCancelParam, String... businessCode); @@ -191,9 +184,6 @@ public interface IOrderBusinessService { * * @param approvalBusinessResultDTO 参数 * @param approvalBusiness 审核类型 - * @return: void - * @Author: sui q - * @Date: 2023/3/25 10:43 */ String cancelOrderApprovalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness); @@ -202,9 +192,6 @@ public interface IOrderBusinessService { * * @param approvalBusinessResultDTO 参数 * @param approvalBusiness 审核类型 - * @return: void - * @Author: sui q - * @Date: 2023/3/25 10:43 */ String cancelOrderApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, Integer approvalBusiness); @@ -241,11 +228,7 @@ public interface IOrderBusinessService { EAgentApprovalStatus approvalStatus, String remark); /** - * @description: 校验自助撤单 - * @author: zhang jing - * @date: 2023/11/21 15:24 - * @param: [orderCancelParam, businessCode] - * @return: com.hzs.sale.order.vo.ValidateCancelOrderVO + * 校验自助撤单 **/ MyOrderVO checkSelfOrder(Long userId, MyOrderVO myOrderVO); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java index daead204..fa861c3a 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java @@ -203,7 +203,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { dto.setPkAccount(serviceChargeDTO.getPkAccount()); dto.setAccountKey(serviceChargeDTO.getAccountKey()); } - break; } } @@ -323,7 +322,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { throw new ServiceException(tmpR.getMsg()); } } - // 推送业务操作日志 rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, dtoList); @@ -1013,7 +1011,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { } } - @Override public String returnOrderApprovalSubmit(OrderReturnParam param, LoginUser loginUser) { // 所属国家 @@ -1109,7 +1106,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 订单变动日志 List saOrderChargeLogList = new ArrayList<>(); for (SaOrder tmpSaOrder : saOrderList) { - SaOrderChargeLog saOrderChargeLog = new SaOrderChargeLog(); saOrderChargeLog.setPkOrder(saOrder.getPkId()); saOrderChargeLog.setChargeType(EApprovalBusiness.ORDER_RETURN.getValue()); @@ -1149,7 +1145,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 推送业务操作日志 rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, dtoList); } - return submitStr; } return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED); @@ -1248,23 +1243,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { return validateCancelOrderVO; } int approveBusiness = EApprovalBusiness.ORDER_CANCEL.getValue(); - SaOrderExt saOrderExt; -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT.getValue(); -// SaOrder orderQuery = SaOrder.builder().orderStatus(EOrderStatus.PAY.getValue()).orderCode(orderCancelParam.getOrderCode()).build(); -// orderQuery.setPkCountry(orderCancelParam.getPkCountry()); -//// List itemIdList = new ArrayList<>(); -//// if (orderCancelParam.getOrderCancelDetailParamList() != null && orderCancelParam.getOrderCancelDetailParamList().size() > 0) { -//// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> -//// itemIdList.add(orderCancelDetailParam.getPkId())); -//// } -// saOrderExt = iSaOrderService.querySaleOrderExtByOrderCode(orderQuery, new ArrayList<>()); -// CuMember cuMember = iSaOrderService.getCuMemberByKey(saOrderExt.getPkMember()); -// saOrderExt.setMemberCode(cuMember.getMemberCode()); -// saOrderExt.setMemberName(cuMember.getMemberName()); -// } else { - saOrderExt = iSaOrderService.queryOrderByCode(orderCancelParam.getOrderCode(), orderCancelParam.getPkCountry()); -// } + SaOrderExt saOrderExt = iSaOrderService.queryOrderByCode(orderCancelParam.getOrderCode(), orderCancelParam.getPkCountry()); if (saOrderExt == null || EOrderStatus.WAIT_PAY.getValue() == saOrderExt.getOrderStatus()) { validateCancelOrderVO.setMsg(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_EMPTY)); return validateCancelOrderVO; @@ -1272,7 +1251,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { if (orderCancelParam.getCancelType().equals(ECancelOrderType.SINGLE_CANCEL_ORDER.getValue()) || orderCancelParam.getCancelType().equals(ECancelOrderType.MERGE_CANCEL_ORDER.getValue()) || orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_ORDER.getValue()) -// || orderCancelParam.getCancelType().equals(ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue()) ) { // 验证订单时间,只能撤销7天以内的支付订单 // 周结只能撤销当前期间的订单,不能撤销上个期间的订单 @@ -1460,9 +1438,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.DEFAULT); // 修改类型 EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL; -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT; -// } // 封装修改地址业务日志 List dtoList = new ArrayList<>(); @@ -1549,13 +1524,6 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { orderCancelParam.setMemberCode(cuMember.getMemberCode()); orderCancelParam.setMemberName(cuMember.getMemberName()); EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL; -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT; -//// List orderCancelDetailParamList = new ArrayList<>(); -//// orderCancelParam.getOrderCancelDetailParamList().forEach(orderCancelDetailParam -> -//// orderCancelDetailParamList.add(BeanUtil.copyProperties(orderCancelDetailParam, OrderCancelDetailParam.class))); -//// orderCancelParam.setOrderCancelDetailParamList(orderCancelDetailParamList); -// } // 本次业务修改费用 Map queryChargeMap = null; if (orderCancelParam.getCancelRoad() == null || orderCancelParam.getCancelRoad() != 2) { 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 92ab013e..df2f72c4 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 @@ -1265,9 +1265,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl BusinessCommissionDTO businessCommissionDTO = null; if (orderCancelParam.getCancelRoad() == 1) { EApprovalBusiness approveBusiness = EApprovalBusiness.ORDER_CANCEL; -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT; -// } Map queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()), approveBusiness, orderCancelParam.getPkCountry()); if (queryChargeMap != null && queryChargeMap.containsKey(saOrderExt.getPkId())) { @@ -1296,47 +1293,6 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } -// if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { -// List orderCancelDetailParamList = orderCancelParam.getOrderCancelDetailParamList(); -// List pkOrderItemList = orderCancelDetailParamList.stream().map(OrderCancelDetailParam::getPkId).collect(Collectors.toList()); -// // 第二次封装订单,根据明细表计算订单主表金额、业绩 -// saOrderExt.setOrderAmount(BigDecimal.ZERO); -// saOrderExt.setOrderAchieve(BigDecimal.ZERO); -// saOrderExt.setOrderAssAchieve(BigDecimal.ZERO); -// saOrderExt.setBackOrderAmount(BigDecimal.ZERO); -// List saOrderItemsList = new ArrayList<>(); -// saOrderExt.getOrderItemsList().forEach(saOrderItems -> { -// if (pkOrderItemList.contains(saOrderItems.getPkId())) { -// saOrderExt.setBackOrderAmount(ComputeUtil.computeAddMultiply(saOrderExt.getBackOrderAmount(), saOrderItems.getPrice(), saOrderItems.getQuantity())); -// return; -// } -// // 总价; -// saOrderExt.setOrderAmount(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAmount(), saOrderItems.getPrice(), saOrderItems.getQuantity())); -// // 总业绩 -// saOrderExt.setOrderAchieve(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAchieve(), saOrderItems.getAchievement(), saOrderItems.getQuantity())); -// // 总考核业绩 -// saOrderExt.setOrderAssAchieve(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAssAchieve(), saOrderItems.getAssAchievement(), saOrderItems.getQuantity())); -// saOrderItemsList.add(saOrderItems); -// }); -// saOrderExt.setUploadAchieve(saOrderExt.getOrderAchieve()); -// if (saOrderItemsList.size() == 0) { -// saOrderExt.setDelFlag(EDelFlag.DELETE.getValue()); -// } else { -// saOrderExt.setOrderItemsList(saOrderItemsList); -// } -// // 修改订单 -// Date currentDateTime = DateUtils.currentDateTime(); -// // 删除发货单 -// iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList); -// updateSaOrder(pkApprove, saOrderExt, currentDateTime); -// // 删除订单明细 -// if (!iSaOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) { -// throw new ServiceException("更新订单失败"); -// } -// if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, businessCommissionDTO).getData()) { -// throw new ServiceException("撤单失败"); -// } -// } else { // 删除订单 saOrderExt.setDelFlag(EDelFlag.DELETE.getValue()); Date currentDate = DateUtils.currentDateTime(); @@ -1355,7 +1311,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 撤销注册订单 单点撤单 if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) { // 单点撤单,变死点 - R tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO); + R tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO, false); if (!tmpR.isSuccess()) { throw new ServiceException("撤单失败 " + tmpR.getMsg()); } @@ -1375,9 +1331,8 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } else { // 其他撤单 - this.handleCancelUpgradeOrder(saOrderExt, validateCancelOrderVO.getUpdSaOrder(), pkApprove, businessCommissionDTO); + this.handleCancelUpgradeOrder(saOrderExt, pkApprove, businessCommissionDTO); } -// } try { // 推送MQ的列表 @@ -1811,12 +1766,13 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 撤销注册订单 if (myOrderVO.getOrderType() == EOrderType.RETAIL_REGISTER.getValue()) { // 逻辑删除会员 - if (!iMemberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) { - throw new ServiceException("撤单失败"); + R tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO, true); + if (!tmpR.isSuccess()) { + throw new ServiceException("撤单失败 " + tmpR.getMsg()); } } else { // 其他撤单 - this.handleCancelUpgradeOrder(saOrderExt, myOrderVO.getUpdSaOrder(), pkApprove, businessCommissionDTO); + this.handleCancelUpgradeOrder(saOrderExt, pkApprove, businessCommissionDTO); } try { @@ -2026,59 +1982,32 @@ public class SaOrderServiceImpl extends ServiceImpl impl return flag; } - /** - * 计算新零售撤单等级 - * - * @param cuMember 会员信息 - * @param saOrder 订单信息 - * @return - */ - private GradeDTO calculateRetailCancelGrade(CuMember cuMember, SaOrder saOrder) { - // 查询会员最新升级记录 - 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 iGradeServiceApi.getGrade(cuMemberRegister.getPkRegisterGrade()).getData(); - } - /** * 处理撤销订单 * * @param saOrderExt 订单信息 - * @param updSaOrder 升级订单 * @param pkApprove 操作人 * @param businessCommissionDTO 业务处理DTO */ - private void handleCancelUpgradeOrder(SaOrderExt saOrderExt, SaOrder updSaOrder, Long pkApprove, BusinessCommissionDTO businessCommissionDTO) { + private void handleCancelUpgradeOrder(SaOrderExt saOrderExt, Long pkApprove, BusinessCommissionDTO businessCommissionDTO) { // 其他撤单 撤销升级订单 CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember()); if (EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()) { // 计算等级 - // 空单注册,从cu_member_register中获取 - if (updSaOrder == null) { - CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData(); - cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade()); - cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade()); - cuMember.setConsumeMoney(BigDecimal.ZERO); - cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve()); - - // 查询会员最新升级记录 - CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrderExt.getPkId()).getData(); - if (null != cuMemberLevel) { - cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel()); - } - } else { - // 传的订单是当前撤的订单 - GradeDTO gradeDTO = calculateRetailCancelGrade(cuMember, saOrderExt); - cuMember.setPkSettleGrade(gradeDTO.getPkId()); + // 查询会员最新升级记录(主要是手动升级记录) + CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.getLastUpgrade(cuMember.getPkId(), saOrderExt.getPkId(), null).getData(); + if (null != cuMemberLevel) { + cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel()); } + // 当前订单之前没有注册、升级订单,从空单注册cu_member_register中获取 + CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(cuMember.getPkId()).getData(); + if (null == cuMemberRegister) { + throw new ServiceException("没有会员注册信息"); + } + cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade()); + cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade()); + cuMember.setConsumeMoney(BigDecimal.ZERO); + cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve()); Date firstDate = baseMapper.getFirstPayTime(cuMember.getPkId()); if (null == firstDate) { diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java index 06d0e2a2..9096df4c 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java @@ -15,16 +15,6 @@ public class CommonMsgConstants { */ public static final String OPERATION_FAILED = "操作失败"; - /** - * 一般用于三方对接,处理失败,用户刷新后可以重新进行操作提示 -- 操作失败,请刷新后重试 - */ - public static final String OPERATION_FAILED_FLUSH = "操作失败,请刷新后重试"; - - /** - * 用户已转结算国,不能进行处理相关操作 -- 用户已转结算国,不能进行操作 - */ - public static final String SETTLEMENT_COUNTRY_NOT_OPERATE = "用户已转结算国,不能进行操作"; - /** * 签呈处理失败 -- 签呈处理失败 */