From c63ba961c1c2a239ddf1933adb1355209cdd6d61 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 12 Aug 2025 15:43:25 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=90=8C=E6=AD=A5=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=A4=B1=E8=B4=A5=E6=B7=BB=E5=8A=A0=E6=97=A5?= =?UTF-8?q?=E5=BF=97=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sale/order/mapper/SaOrderSyncMapper.java | 11 + .../order/service/ISaOrderSyncService.java | 11 + .../service/impl/SaOrderServiceImpl.java | 188 +++++++++--------- .../service/impl/SaOrderSyncServiceImpl.java | 15 ++ .../mapper/sale/order/SaOrderSyncMapper.xml | 5 + .../hzs/common/domain/sale/order/SaOrder.java | 3 - .../common/domain/sale/order/SaOrderSync.java | 60 ++++++ 7 files changed, 199 insertions(+), 94 deletions(-) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderSyncMapper.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderSyncService.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderSyncServiceImpl.java create mode 100644 bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderSyncMapper.xml create mode 100644 bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrderSync.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderSyncMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderSyncMapper.java new file mode 100644 index 00000000..ff8dfead --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/mapper/SaOrderSyncMapper.java @@ -0,0 +1,11 @@ +package com.hzs.sale.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hzs.common.domain.sale.order.SaOrderSync; + +/** + * 订单产品同步记录 Mapper 接口 + */ +public interface SaOrderSyncMapper extends BaseMapper { + +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderSyncService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderSyncService.java new file mode 100644 index 00000000..ce5897bc --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderSyncService.java @@ -0,0 +1,11 @@ +package com.hzs.sale.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.hzs.common.domain.sale.order.SaOrderSync; + +/** + * 订单产品同步记录 服务类 + */ +public interface ISaOrderSyncService extends IService { + +} 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 8e605c69..08126079 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 @@ -107,29 +107,29 @@ import java.util.stream.Collectors; public class SaOrderServiceImpl extends ServiceImpl implements ISaOrderService { @DubboReference - IMemberServiceApi memberServiceApi; + IMemberServiceApi iMemberServiceApi; @DubboReference IGradeServiceApi iGradeServiceApi; @DubboReference IAwardsServiceApi iAwardsServiceApi; @DubboReference - IAreaServiceApi areaServiceApi; + IAreaServiceApi iAreaServiceApi; @DubboReference - IMemberBankServiceApi memberBankServiceApi; + IMemberBankServiceApi iMemberBankServiceApi; @DubboReference - IMemberAccountServiceApi memberAccountServiceApi; + IMemberAccountServiceApi iMemberAccountServiceApi; @DubboReference - IAreaCurrencyServiceApi areaCurrencyServiceApi; + IAreaCurrencyServiceApi iAreaCurrencyServiceApi; @DubboReference - ICountryServiceApi countryServiceApi; + ICountryServiceApi iCountryServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; @DubboReference - IMemberAchieveServiceApi memberAchieveServiceApi; + IMemberAchieveServiceApi iMemberAchieveServiceApi; @DubboReference - ISystemConfigServiceApi systemConfigServiceApi; + ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi; @DubboReference @@ -137,46 +137,47 @@ public class SaOrderServiceImpl extends ServiceImpl impl @DubboReference ICuMemberDetailServiceApi iCuMemberDetailServiceApi; @DubboReference - ICuMemberAgreementWhiteApi cuMemberAgreementWhiteApi; + ICuMemberAgreementWhiteApi iCuMemberAgreementWhiteApi; @Autowired private IBdWaresService iBdWaresService; @Autowired private IBdWaresExtendService iBdWaresExtendService; @Autowired + private IBdWaresSpecsRelationService iBdWaresSpecsRelationService; + @Autowired private SaOrderHandle saOrderHandle; @Autowired - private ISaOrderItemsService saOrderItemsService; + private ISaOrderItemsService iSaOrderItemsService; @Autowired - private UserTokenService userTokenService; + private ISaOrderChargeLogService iSaOrderChargeLogService; @Autowired - private IBdProductExtendService productExtendService; + private ISaDeliverItemsService iSaDeliverItemsService; @Autowired - private RabbitTemplate rabbitTemplate; - @Autowired - private IBdWaresSpecsRelationService waresSpecsRelationService; + private IOrderBusinessService iOrderBusinessService; @Autowired private IBdProductService iBdProductService; @Autowired - private ISaDeliverItemsService saDeliverItemsService; + private IBdProductExtendService iBdProductExtendService; @Autowired private IAcPickService iAcPickService; @Autowired - private IOrderBusinessService orderBusinessService; - @Autowired - private ISaOrderChargeLogService saOrderChargeLogService; + private UserTokenService userTokenService; @Autowired private RedisService redisService; - + @Autowired + private RabbitTemplate rabbitTemplate; + @Autowired + private ISaOrderSyncService iSaOrderSyncService; @Override public List queryMemberExtByCondition(CuMember cuMember) { - return memberServiceApi.getMemberInfo(cuMember).getData(); + return iMemberServiceApi.getMemberInfo(cuMember).getData(); } @Override public List querySponsorOnUmbrella(Long placeParentId, String phone) { - return memberServiceApi.querySponsorOnUmbrella(placeParentId, null, phone).getData(); + return iMemberServiceApi.querySponsorOnUmbrella(placeParentId, null, phone).getData(); } /** @@ -186,7 +187,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl */ @Override public List selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List cuMemberExtList) { - return memberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData(); + return iMemberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData(); } /** @@ -195,7 +196,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl */ @Override public List queryPlaceSponsorUnderUmbrella(Long memberId, String placeParent) { - return memberServiceApi.queryPlaceSponsorUnderUmbrella(memberId, placeParent).getData(); + return iMemberServiceApi.queryPlaceSponsorUnderUmbrella(memberId, placeParent).getData(); } /** @@ -206,7 +207,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl */ @Override public CuMemberExt queryPlaceSponsorLastLeft(Long memberId, Integer placeDept) { - return memberServiceApi.queryPlaceSponsorLastLeft(memberId, placeDept).getData(); + return iMemberServiceApi.queryPlaceSponsorLastLeft(memberId, placeDept).getData(); } @Override @@ -235,7 +236,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (CollectionUtil.isNotEmpty(itemIdList)) { orderItemsQueryWrapper.in(SaOrderItems::getPkId, itemIdList); } - saOrderExt.setOrderItemsList(saOrderItemsService.list(orderItemsQueryWrapper)); + saOrderExt.setOrderItemsList(iSaOrderItemsService.list(orderItemsQueryWrapper)); return saOrderExt; } @@ -273,7 +274,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public Integer queryCuMemberByPkMember(Long pkReference) { - return memberServiceApi.queryCuMemberByPkMember(pkReference).getData(); + return iMemberServiceApi.queryCuMemberByPkMember(pkReference).getData(); } @Override @@ -288,12 +289,12 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public CuMember getCuMemberByKey(Long pkId) { - return memberServiceApi.getMemberById(pkId).getData(); + return iMemberServiceApi.getMemberById(pkId).getData(); } @Override public CuMember getCuMemberByCode(String code) { - return memberServiceApi.getMemberByCode(code).getData(); + return iMemberServiceApi.getMemberByCode(code).getData(); } @Override @@ -310,14 +311,14 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMemberAccount.setMemberCode(creator.getMemberCode()); // 查询专区所属币种 - List areaCurrencyDTOListOld = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData(); + List areaCurrencyDTOListOld = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData(); List areaCurrencyDTOList = areaCurrencyDTOListOld; if (cuMemberAccount.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { //休止期的奖金账户(不在白名单内)不允许报单 Integer expireStatus = creator.getExpireStatus(); if (expireStatus.equals(EExpireStatus.REST.getValue())) { //查询配置是否休止期可以报单 - Integer num = cuMemberAgreementWhiteApi.selectAgreementWhiteByPkMember(creator.getPkId()).getData(); + Integer num = iCuMemberAgreementWhiteApi.selectAgreementWhiteByPkMember(creator.getPkId()).getData(); if (num == null || num == 0) { areaCurrencyDTOList = areaCurrencyDTOListOld.stream().filter(item -> !item.getFieldValue().equals(EAccount.BONUS.getValue())).collect(Collectors.toList()); } @@ -337,7 +338,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (saOrderItems.getPkSpecialCurrency() != null) { BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity()); payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney); - List areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); + List areaCurrencyDtoList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); if (!handleSaOrderAmount(saOrder, orderItemList, cuMemberAccount, orderItemPayMoney, BigDecimal.ZERO, areaCurrencyDtoList)) { return null; @@ -358,7 +359,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public List queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) { - return memberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData(); + return iMemberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData(); } private Boolean handleSaOrderAmount(SaOrder saOrder, List orderItemList, @@ -579,15 +580,15 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Transactional(rollbackFor = Exception.class) public Boolean confirmRegSaOrderByOrderParam(OrderParam orderParam) { boolean isToBePay = getIsToBePayByOrderType(orderParam.getPkSettleCountry(), orderParam.getSpecialArea()); - CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, memberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); + CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); // 获取会员编号、会员主键 if (isToBePay) { - cuMember = memberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); + cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); } else if ((CountryConstants.CHINA_COUNTRY.equals(orderParam.getPkSettleCountry())) && (EOrderType.REGISTER_ORDER.getValue() == orderParam.getSpecialArea() || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == orderParam.getSpecialArea())) { // 2023.10.16按最新需求,注册订单需要在支付前需要显示会员编号 - cuMember = memberServiceApi.createRegisterMemberCode(cuMember).getData(); + cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData(); } SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember); @@ -599,7 +600,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (isToBePay && !orderParam.getIsHaiFun()) { processOrder(saOrderExt); // 调用其他服务保存会员信息、会员注册信息 - R saveResult = memberServiceApi.saveMember(cuMember); + R saveResult = iMemberServiceApi.saveMember(cuMember); if (saveResult.isSuccess()) { if (!saveResult.getData()) { log.error("confirmRegSaOrderByOrderParam 保存会员失败."); @@ -662,9 +663,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderParam.setPlaceParentId(placeMember.getPkId()); } } - CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, memberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); + CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); // 获取会员编号、会员主键 - cuMember = memberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); + cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); return cuMember; } @@ -749,7 +750,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl List waresNumberList = waresNumberParamList.stream().filter(DeduplicationUtil.distinctByKey(WaresNumberParam::getPkWares)).collect(Collectors.toList()); waresSalesAccrual(waresNumberList); // 保存订单明细 - saOrderItemsService.saveBatch(saOrderExt.getOrderItemsList()); + iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList()); } @Override @@ -881,7 +882,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl newCuMember.setStopDate(DateUtils.addMonths(newCuMember.getExpireDate(), 6)); // 调用其他服务保存会员信息、会员注册信息 - R saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt); + R saveResult = iMemberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt); if (saveResult.isSuccess()) { if (!saveResult.getData()) { log.error("payRegSaOrder 保存会员失败!."); @@ -940,7 +941,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) { saOrderItems.setPkOrder(saOrderExt.getPkId()); } - saOrderItemsService.saveBatch(saOrderExt.getOrderItemsList()); + iSaOrderItemsService.saveBatch(saOrderExt.getOrderItemsList()); } finally { redisService.unlock(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode()); } @@ -950,7 +951,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl redisService.lockKeyMany(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode()); try { updateById(saOrderExt); - saOrderItemsService.updateBatchById(saOrderExt.getOrderItemsList()); + iSaOrderItemsService.updateBatchById(saOrderExt.getOrderItemsList()); } finally { redisService.unlock(CacheConstants.MEMBER_ORDER + saOrderExt.getOrderCode()); } @@ -1013,7 +1014,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 更新订单信息 updateSaOrder(saOrderExt); // 处理会员信息,更新会员等级,扣款 - R saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt); + R saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt); if (saveResult.isSuccess()) { if (!saveResult.getData()) { log.error("payUpgradeSaOrder 保存会员失败!!!"); @@ -1111,7 +1112,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMember.setStopDate(DateUtils.addMonths(member.getStopDate(), 12)); } - R saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt); + R saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt); if (saveResult.isSuccess()) { if (!saveResult.getData()) { log.error("payRepurchaseSaOrder 保存订单失败!"); @@ -1181,7 +1182,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (productIdList.size() > 0 && saOrderExt.getRecProvince() != null) { // 根据产品,先查看是否由仓库,有仓库的话修改仓库 - List bdProductStorehouseList = areaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData(); + List bdProductStorehouseList = iAreaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData(); Map bdProductStorehouseMap = new HashMap<>(); if (CollectionUtil.isNotEmpty(bdProductStorehouseList)) { bdProductStorehouseList.forEach(bdProductStorehouse -> bdProductStorehouseMap.put(bdProductStorehouse.getPkProduct(), bdProductStorehouse)); @@ -1338,7 +1339,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl //创建用户 CuMemberExt memberExt = createMember(orderBlankRegParams); - R member = memberServiceApi.createEmptyOrderMember(memberExt); + R member = iMemberServiceApi.createEmptyOrderMember(memberExt); if (member.getData() == null) { throw new RuntimeException("保存会员失败"); } @@ -1359,7 +1360,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl .businessCode(code) .signType(ESignType.getEnumByValue(orderBlankRegParams.getSignType())) .remark(orderBlankRegParams.getRemark()).pkMemberList(memberSet).build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new RuntimeException(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_PETITION)); @@ -1392,7 +1393,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrder.setOrderCode(orderCode); // 虚拟订单 saOrder.setOrderType(EOrderType.FICTITIOUS_ORDER.getValue()); - R currency = currencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry()); + R currency = iCurrencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry()); saOrder.setPkRate(currency.getData().getPkId()); saOrder.setOrderAmount(orderBlankRegParams.getRegisterPrice()); saOrder.setOrderAchieve(orderBlankRegParams.getRegisterPv()); @@ -1425,7 +1426,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl for (SaOrderItems orderItem : orderItems) { orderItem.setPkOrder(saOrder.getPkId()); BdWares wares = iBdWaresService.getWares(orderItem.getPkWares()); - BdProductExtendExt productExtend = productExtendService.queryExtendAndProduct(orderItem.getPkProduct()); + BdProductExtendExt productExtend = iBdProductExtendService.queryExtendAndProduct(orderItem.getPkProduct()); orderItem.setPkWares(wares.getPkId()); orderItem.setPrice(wares.getWaresPrice().multiply(new BigDecimal(orderItem.getQuantity()))); orderItem.setPkRate(currency.getData().getPkId()); @@ -1436,7 +1437,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderItem.setOrderStatus(EOrderStatus.PAY.getValue()); orderItem.setCreationTime(DateUtils.currentDateTime()); // 填充冗余产品规格 - List waresSpecsRelationList = waresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku().intValue()); + List waresSpecsRelationList = iBdWaresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku().intValue()); // 规格名称 List specsNames = new ArrayList<>(); // 规格id @@ -1451,7 +1452,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderItem.setPkCreator(SecurityUtils.getUserId()); orderItem.setSkuCode(CommonUtil.createSkuCode(productExtend.getProductCode(), orderItem.getSpecsNameId())); } - saOrderItemsService.saveBatch(orderItems); + iSaOrderItemsService.saveBatch(orderItems); // 设置用户银行卡信息 国内页面隐藏 if (loginUser.getDataCountry() != 1) { CuMemberBankParam memberBank = new CuMemberBankParam(); @@ -1464,7 +1465,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl memberBank.setPhone(orderBlankRegParams.getReservedPhone()); memberBank.setIdCard(orderBlankRegParams.getIdCard()); memberBank.setPkMember(member.getPkId()); - memberBankServiceApi.addBankInfo(memberBank); + iMemberBankServiceApi.addBankInfo(memberBank); } return saOrder; } @@ -1529,7 +1530,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) { approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT; } - Map queryChargeMap = orderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()), + Map queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()), approveBusiness, orderCancelParam.getPkCountry()); if (queryChargeMap != null && queryChargeMap.containsKey(saOrderExt.getPkId())) { List memberAmountDTOList = new ArrayList<>(); @@ -1588,13 +1589,13 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 修改订单 Date currentDateTime = DateUtils.currentDateTime(); // 删除发货单 - saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList); + iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), pkOrderItemList); updateSaOrder(pkApprove, saOrderExt, currentDateTime); // 删除订单明细 - if (!saOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) { + if (!iSaOrderItemsService.updateOrderItemsById(pkOrderItemList, pkApprove, currentDateTime)) { throw new RuntimeException("更新订单失败"); } - if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, pkOrderItemList, businessCommissionDTO).getData()) { + if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, null, pkOrderItemList, businessCommissionDTO).getData()) { throw new RuntimeException("撤单失败"); } } else { @@ -1602,17 +1603,17 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrderExt.setDelFlag(EDelFlag.DELETE.getValue()); Date currentDate = DateUtils.currentDateTime(); // 删除发货单 - saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null); + iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null); // 修改订单 updateSaOrder(pkApprove, saOrderExt, currentDate); // 删除订单明细 - if (!saOrderItemsService.updateOrderItems(saOrderExt)) { + if (!iSaOrderItemsService.updateOrderItems(saOrderExt)) { throw new RuntimeException("更新订单失败"); } // 撤销注册订单 单点撤单 if (ECancelOrderType.SINGLE_CANCEL_ORDER.getValue() == orderCancelParam.getCancelType()) { // 单点撤单,变死点 - R tmpR = memberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO); + R tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO); if (!tmpR.isSuccess()) { throw new RuntimeException("撤单失败 " + tmpR.getMsg()); } @@ -1621,12 +1622,12 @@ public class SaOrderServiceImpl extends ServiceImpl impl List memberList = validateCancelOrderVO.getMemberList().stream().map(OrderCancelRegisterMemberVO::getPkMember).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(memberList)) { // 撤销所有订单明细表 - saOrderItemsService.updateOrderItemsByMemberList(memberList, pkApprove, currentDate); + iSaOrderItemsService.updateOrderItemsByMemberList(memberList, pkApprove, currentDate); // 撤销所有订单主表 baseMapper.updateSaOrderByMember(memberList, pkApprove, currentDate); } - R tmpR = memberServiceApi.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, validateCancelOrderVO.getSaOrderMap(), businessCommissionDTO); + R tmpR = iMemberServiceApi.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, validateCancelOrderVO.getSaOrderMap(), businessCommissionDTO); if (!tmpR.isSuccess()) { throw new RuntimeException("撤单失败 " + tmpR.getMsg()); } @@ -1641,7 +1642,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 获取升级订单 // 空单注册,从cu_member_register中获取 if (updSaOrder == null) { - CuMemberRegister cuMemberRegister = memberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData(); + CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData(); cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade()); cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade()); cuMember.setConsumeMoney(BigDecimal.ZERO); @@ -1722,7 +1723,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } - if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) { + if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) { throw new RuntimeException("撤单处理会员失败"); } } @@ -1807,7 +1808,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (isFirst == null) { isFirst = validateFirstOrder(cuMember.getPkParent(), cuMember.getPkSettleCountry()); } - cuMember = memberAchieveServiceApi.queryCuMemberAchieveByPkMember(cuMember, isFirst, isFirstAchieve).getData(); + cuMember = iMemberAchieveServiceApi.queryCuMemberAchieveByPkMember(cuMember, isFirst, isFirstAchieve).getData(); // 验证是否推荐过人,没有推荐只能放入极左极下 return cuMember; } @@ -1880,7 +1881,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public String querySystemConfigByKey(Integer pkCountry, String key) { - return systemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData(); + return iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData(); } @Override @@ -1951,7 +1952,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl updateWrapper.set(SaOrderItems::getOrderStatus, EOrderStatus.RECEIVED.getValue()); updateWrapper.set(SaOrderItems::getPkModified, memberId); updateWrapper.set(SaOrderItems::getModifiedTime, new Date()); - return saOrderItemsService.update(updateWrapper); + return iSaOrderItemsService.update(updateWrapper); } @Transactional(rollbackFor = Exception.class) @@ -1964,7 +1965,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType() ) { // 注册类订单,需要校验是否推荐过人或者安置过人,如果有则不允许进行取消 - if (memberServiceApi.checkLowerMember(saOrder.getPkMember()).getData()) { + if (iMemberServiceApi.checkLowerMember(saOrder.getPkMember()).getData()) { // 订单所属会员下存在用户不能取消 return TransactionUtils.getContent(MemberMsgConstants.EXIST_MEMBER_NOT_CANCEL); } @@ -1978,7 +1979,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl updateItemsWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue()); updateItemsWrapper.set(SaOrderItems::getPkModified, memberId); updateItemsWrapper.set(SaOrderItems::getModifiedTime, nowDate); - saOrderItemsService.update(updateItemsWrapper); + iSaOrderItemsService.update(updateItemsWrapper); // 删除订单 LambdaUpdateWrapper updateOrderWrapper = new LambdaUpdateWrapper<>(); @@ -1992,7 +1993,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType() || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrder.getOrderType() ) { - if (!memberServiceApi.cancelMember(saOrder.getPkMember()).getData()) { + if (!iMemberServiceApi.cancelMember(saOrder.getPkMember()).getData()) { throw new RuntimeException("取消订单失败"); } } @@ -2035,7 +2036,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderItemsUpdateWrapper.set(SaOrderItems::getDelFlag, EDelFlag.DELETE.getValue()); orderItemsUpdateWrapper.set(SaOrderItems::getPkModified, userId); orderItemsUpdateWrapper.set(SaOrderItems::getModifiedTime, nowDate); - saOrderItemsService.update(orderItemsUpdateWrapper); + iSaOrderItemsService.update(orderItemsUpdateWrapper); } /** @@ -2076,7 +2077,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl orderParam.setPhone(cuMemberShare.getPhone()); orderParam.setParentId(cuMemberShare.getPkParent()); orderParam.setCenterCodeId(cuMemberShare.getPkParent()); - CuMember parentMember = memberServiceApi.queryMember(cuMemberShare.getPkParent()).getData(); + CuMember parentMember = iMemberServiceApi.queryMember(cuMemberShare.getPkParent()).getData(); if (parentMember == null) { return null; } @@ -2161,7 +2162,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public CuMemberShare queryCuMemberShare(Long pkMember) { - return memberServiceApi.queryCuMemberShare(pkMember).getData(); + return iMemberServiceApi.queryCuMemberShare(pkMember).getData(); } /** @@ -2206,7 +2207,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl newCuMember.setPkPlaceParent(cuMember.getPkPlaceParent()); newCuMember.setPlaceDept(cuMember.getPlaceDept()); // 调用其他服务保存会员信息、会员注册信息 - R saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt); + R saveResult = iMemberServiceApi.saveMember(newCuMember, saOrderExt); if (saveResult.isSuccess()) { if (!saveResult.getData()) { log.error("payShareSaOrder 保存会员失败!"); @@ -2293,9 +2294,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl */ @Override public void closeOrder() { - R> configMap = systemConfigServiceApi.getSystemConfig(); + R> configMap = iSystemConfigServiceApi.getSystemConfig(); Map configDate = configMap.getData(); - R> all = countryServiceApi.getAllCountryMap(); + R> all = iCountryServiceApi.getAllCountryMap(); Set> entries = all.getData().entrySet(); for (Map.Entry entry : entries) { @@ -2325,7 +2326,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl ESpecialAreaTime specialAreaTime = ESpecialAreaTime.getSpecialAreaTime(date); if (orderType != null && specialAreaTime != null) { if (baseMapper.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType) > 0) { - saOrderItemsService.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType); + iSaOrderItemsService.closeOrder(country.getPkId(), specialAreaTime.getAttributeValue(), orderType); } } } @@ -2389,7 +2390,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl public int insertBach(List orderList, List orderItemsList) { int i = baseMapper.insertBach(orderList); if (i > 0 && CollectionUtil.isNotEmpty(orderItemsList)) { - saOrderItemsService.insertBach(orderItemsList); + iSaOrderItemsService.insertBach(orderItemsList); } return i; } @@ -2409,11 +2410,11 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrderExt.setDelFlag(EDelFlag.DELETE.getValue()); Date currentDate = DateUtils.currentDateTime(); // 删除发货单 - saDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null); + iSaDeliverItemsService.deleteSaDeliverItems(saOrderExt.getPkId(), null); // 修改订单 updateSaOrder(pkApprove, saOrderExt, currentDate); // 删除订单明细 - if (!saOrderItemsService.updateOrderItems(saOrderExt)) { + if (!iSaOrderItemsService.updateOrderItems(saOrderExt)) { throw new RuntimeException("更新订单失败"); } @@ -2428,13 +2429,13 @@ public class SaOrderServiceImpl extends ServiceImpl impl mo.setPkCreator(pkApprove); saOrderChargeLog.setAfterData(JSONUtil.toJsonStr(mo)); saOrderChargeLog.setSource(ESignSource.MEMBER.getValue()); - saOrderChargeLogService.save(saOrderChargeLog); + iSaOrderChargeLogService.save(saOrderChargeLog); // 撤销注册订单(注册订单,海粉订单,特殊注册订单) if (myOrderVO.getOrderType() == EOrderType.REGISTER_ORDER.getValue() || myOrderVO.getOrderType() == EOrderType.SPECIAL_REGISTER_ORDER.getValue()) { // 逻辑删除会员 - if (!memberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) { + if (!iMemberServiceApi.singleRevokeMemberBySelfRevokeOrder(pkApprove, saOrderExt, businessCommissionDTO).getData()) { throw new RuntimeException("撤单失败"); } } else { @@ -2448,7 +2449,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 获取升级订单 // 空单注册,从cu_member_register中获取 if (updSaOrder == null) { - CuMemberRegister cuMemberRegister = memberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData(); + CuMemberRegister cuMemberRegister = iMemberServiceApi.queryCuMemberRegister(saOrderExt.getPkMember()).getData(); cuMember.setPkRegisterGrade(cuMemberRegister.getPkRegisterGrade()); cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade()); cuMember.setConsumeMoney(BigDecimal.ZERO); @@ -2536,7 +2537,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } - if (!memberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) { + if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, null, businessCommissionDTO).getData()) { throw new RuntimeException("撤单失败"); } } @@ -2663,19 +2664,24 @@ public class SaOrderServiceImpl extends ServiceImpl impl httpRequest.header("authorization", header); httpRequest.body(JSONUtil.toJsonStr(bodyMap)); httpRequest.setReadTimeout(5000); - String resultStr; try { - resultStr = httpRequest.execute().body(); + // 同步产品接口返回 + String resultStr = httpRequest.execute().body(); AjaxResult ajaxResult = JSONUtil.toBean(resultStr, AjaxResult.class); log.info("同步产品,resultStr: {}", resultStr); if (!ajaxResult.isSuccess()) { + // 同步产品失败,250毫秒后重试 + Thread.sleep(250); resultStr = httpRequest.execute().body(); log.info("同步产品失败重试,resultStr: {}", resultStr); } } catch (Exception e) { - log.error("同步产品库存失败", e); - resultStr = httpRequest.execute().body(); - log.info("同步产品异常重试,resultStr: {}", resultStr); + log.error("同步产品库存异常", e); + // 保存订单产品同步记录 + iSaOrderSyncService.save(SaOrderSync.builder() + .orderCode(saOrderExt.getOrderCode()) + .bodyDetail(JSONUtil.toJsonStr(bodyDetailList)) + .build()); } }); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderSyncServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderSyncServiceImpl.java new file mode 100644 index 00000000..bce905ad --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderSyncServiceImpl.java @@ -0,0 +1,15 @@ +package com.hzs.sale.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.domain.sale.order.SaOrderSync; +import com.hzs.sale.order.mapper.SaOrderSyncMapper; +import com.hzs.sale.order.service.ISaOrderSyncService; +import org.springframework.stereotype.Service; + +/** + * 订单产品同步记录 服务实现类 + */ +@Service +public class SaOrderSyncServiceImpl extends ServiceImpl implements ISaOrderSyncService { + +} diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderSyncMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderSyncMapper.xml new file mode 100644 index 00000000..f4ef63e1 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderSyncMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java index d4bc9b77..e3115638 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrder.java @@ -14,9 +14,6 @@ import lombok.experimental.Accessors; /** * 销售订单-主表 - * - * @author hzs - * @since 2022-08-31 */ @Data @ToString(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrderSync.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrderSync.java new file mode 100644 index 00000000..a4bca769 --- /dev/null +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/order/SaOrderSync.java @@ -0,0 +1,60 @@ +package com.hzs.common.domain.sale.order; + +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; + +import java.io.Serializable; + +import lombok.*; +import lombok.experimental.Accessors; + +/** + * 订单产品同步记录 + */ +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("SA_ORDER_SYNC") +public class SaOrderSync implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId("PK_ID") + private Long pkId; + + /** + * 订单编号 + */ + @TableField("ORDER_CODE") + private String orderCode; + + /** + * 产品明细列表 + */ + @TableField("BODY_DETAIL") + private String bodyDetail; + + /** + * 创建时间 + */ + @TableField("CREATION_TIME") + private Date creationTime; + + /** + * 同步状态(1=失败) + */ + @TableField("STATUS") + private Integer status; + + +}