## 同步产品库存失败添加日志;

This commit is contained in:
cabbage 2025-08-12 15:43:25 +08:00
parent fec3bc2530
commit f29852aba8
7 changed files with 199 additions and 94 deletions

View File

@ -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<SaOrderSync> {
}

View File

@ -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<SaOrderSync> {
}

View File

@ -107,29 +107,29 @@ import java.util.stream.Collectors;
public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<CuMemberExt> queryMemberExtByCondition(CuMember cuMember) {
return memberServiceApi.getMemberInfo(cuMember).getData();
return iMemberServiceApi.getMemberInfo(cuMember).getData();
}
@Override
public List<CuMemberExt> 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<SaOrderMapper, SaOrder> impl
*/
@Override
public List<CuMemberExt> selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List<CuMemberExt> cuMemberExtList) {
return memberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData();
return iMemberServiceApi.selectPlaceSponsorUnderUmbrellaByCondition(memberId, cuMemberExtList).getData();
}
/**
@ -195,7 +196,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
*/
@Override
public List<CuMemberExt> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
cuMemberAccount.setMemberCode(creator.getMemberCode());
// 查询专区所属币种
List<AreaCurrencyDTO> areaCurrencyDTOListOld = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData();
List<AreaCurrencyDTO> areaCurrencyDTOListOld = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData();
List<AreaCurrencyDTO> 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<SaOrderMapper, SaOrder> impl
if (saOrderItems.getPkSpecialCurrency() != null) {
BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity());
payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney);
List<AreaCurrencyDTO> areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData();
List<AreaCurrencyDTO> 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<SaOrderMapper, SaOrder> impl
@Override
public List<CuMemberAccountExt> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) {
return memberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData();
return iMemberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData();
}
private Boolean handleSaOrderAmount(SaOrder saOrder, List<SaOrderItems> orderItemList,
@ -579,15 +580,15 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
if (isToBePay && !orderParam.getIsHaiFun()) {
processOrder(saOrderExt);
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("confirmRegSaOrderByOrderParam 保存会员失败.");
@ -662,9 +663,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
List<WaresNumberParam> 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<SaOrderMapper, SaOrder> impl
newCuMember.setStopDate(DateUtils.addMonths(newCuMember.getExpireDate(), 6));
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt, isToBePay, cuMemberAccountExt);
R<Boolean> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
// 更新订单信息
updateSaOrder(saOrderExt);
// 处理会员信息更新会员等级,扣款
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payUpgradeSaOrder 保存会员失败!!!");
@ -1111,7 +1112,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
cuMember.setStopDate(DateUtils.addMonths(member.getStopDate(), 12));
}
R<Boolean> saveResult = memberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(cuMember, saOrderExt, cuMemberAccountExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payRepurchaseSaOrder 保存订单失败!");
@ -1181,7 +1182,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
if (productIdList.size() > 0 && saOrderExt.getRecProvince() != null) {
// 根据产品先查看是否由仓库有仓库的话修改仓库
List<BdProductStorehouseExt> bdProductStorehouseList = areaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData();
List<BdProductStorehouseExt> bdProductStorehouseList = iAreaServiceApi.queryBdProductStorehouseByCondition(productIdList, saOrderExt.getRecProvince()).getData();
Map<Integer, BdProductStorehouseExt> bdProductStorehouseMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(bdProductStorehouseList)) {
bdProductStorehouseList.forEach(bdProductStorehouse -> bdProductStorehouseMap.put(bdProductStorehouse.getPkProduct(), bdProductStorehouse));
@ -1338,7 +1339,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
//创建用户
CuMemberExt memberExt = createMember(orderBlankRegParams);
R<CuMember> member = memberServiceApi.createEmptyOrderMember(memberExt);
R<CuMember> member = iMemberServiceApi.createEmptyOrderMember(memberExt);
if (member.getData() == null) {
throw new RuntimeException("保存会员失败");
}
@ -1359,7 +1360,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
.businessCode(code)
.signType(ESignType.getEnumByValue(orderBlankRegParams.getSignType()))
.remark(orderBlankRegParams.getRemark()).pkMemberList(memberSet).build();
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser);
R<String> 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<SaOrderMapper, SaOrder> impl
saOrder.setOrderCode(orderCode);
// 虚拟订单
saOrder.setOrderType(EOrderType.FICTITIOUS_ORDER.getValue());
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry());
R<CurrencyDTO> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
orderItem.setOrderStatus(EOrderStatus.PAY.getValue());
orderItem.setCreationTime(DateUtils.currentDateTime());
// 填充冗余产品规格
List<BdWaresSpecsRelationExt> waresSpecsRelationList = waresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku().intValue());
List<BdWaresSpecsRelationExt> waresSpecsRelationList = iBdWaresSpecsRelationService.selectByWaresSpecsSku(orderItem.getPkWaresSpecsSku().intValue());
// 规格名称
List<String> specsNames = new ArrayList<>();
// 规格id
@ -1451,7 +1452,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
if (ECancelOrderType.OTHER_CANCEL_PART_ORDER.getValue() == orderCancelParam.getCancelType()) {
approveBusiness = EApprovalBusiness.ORDER_CANCEL_PRODUCT;
}
Map<Long, OrderQueryChargeDTO> queryChargeMap = orderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()),
Map<Long, OrderQueryChargeDTO> queryChargeMap = iOrderBusinessService.queryChargeLog(Collections.singletonList(validateCancelOrderVO.getSaOrderExt()),
approveBusiness, orderCancelParam.getPkCountry());
if (queryChargeMap != null && queryChargeMap.containsKey(saOrderExt.getPkId())) {
List<MemberAmountDTO> memberAmountDTOList = new ArrayList<>();
@ -1588,13 +1589,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<Boolean> tmpR = memberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
R<Boolean> tmpR = iMemberServiceApi.singleRevokeMemberByRegisterOrder(pkApprove, saOrderExt, businessCommissionDTO);
if (!tmpR.isSuccess()) {
throw new RuntimeException("撤单失败 " + tmpR.getMsg());
}
@ -1621,12 +1622,12 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
List<Long> 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<Boolean> tmpR = memberServiceApi.mergeRevokeMemberByRegisterOrder(pkApprove, memberList, validateCancelOrderVO.getSaOrderMap(), businessCommissionDTO);
R<Boolean> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrder> updateOrderWrapper = new LambdaUpdateWrapper<>();
@ -1992,7 +1993,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
newCuMember.setPkPlaceParent(cuMember.getPkPlaceParent());
newCuMember.setPlaceDept(cuMember.getPlaceDept());
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = memberServiceApi.saveMember(newCuMember, saOrderExt);
R<Boolean> saveResult = iMemberServiceApi.saveMember(newCuMember, saOrderExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payShareSaOrder 保存会员失败!");
@ -2293,9 +2294,9 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
*/
@Override
public void closeOrder() {
R<Map<String, String>> configMap = systemConfigServiceApi.getSystemConfig();
R<Map<String, String>> configMap = iSystemConfigServiceApi.getSystemConfig();
Map<String, String> configDate = configMap.getData();
R<Map<Integer, BdCountry>> all = countryServiceApi.getAllCountryMap();
R<Map<Integer, BdCountry>> all = iCountryServiceApi.getAllCountryMap();
Set<Map.Entry<Integer, BdCountry>> entries = all.getData().entrySet();
for (Map.Entry<Integer, BdCountry> entry : entries) {
@ -2325,7 +2326,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> impl
public int insertBach(List<SaOrder> orderList, List<SaOrderItems> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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<SaOrderMapper, SaOrder> 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());
}
});
}

View File

@ -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<SaOrderSyncMapper, SaOrderSync> implements ISaOrderSyncService {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzs.sale.order.mapper.SaOrderSyncMapper">
</mapper>

View File

@ -14,9 +14,6 @@ import lombok.experimental.Accessors;
/**
* 销售订单-主表
*
* @author hzs
* @since 2022-08-31
*/
@Data
@ToString(callSuper = true)

View File

@ -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;
}