From dd74371be2b803881320f9790f22b1b79828748f Mon Sep 17 00:00:00 2001 From: Tankaikai Date: Mon, 3 Mar 2025 16:27:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=A8=A1=E5=9D=97=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/czg/mq/OrderMqListener.java | 1 + .../service/impl/OrderInfoRpcServiceImpl.java | 19 +++++++++++++++---- .../service/impl/ProductRpcServiceImpl.java | 1 + 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java b/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java index 03c90c842..d431fa994 100644 --- a/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java +++ b/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java @@ -33,6 +33,7 @@ public class OrderMqListener { try { orderInfoRpcService.paySuccessCallback(Long.valueOf(orderId)); } catch (Exception e) { + e.printStackTrace(); log.error("订单支付成功扣减库存失败", e); String errorInfo = ExceptionUtil.stacktraceToString(e); mqLog.setErrInfo(errorInfo); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoRpcServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoRpcServiceImpl.java index 405188e6c..408da23b9 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoRpcServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoRpcServiceImpl.java @@ -112,6 +112,7 @@ public class OrderInfoRpcServiceImpl implements OrderInfoRpcService { } @Override + //@GlobalTransactional public void paySuccessCallback(Long orderId) { // 下单后商品库存扣减,耗材扣减,流水记录 OrderInfo orderInfo = orderInfoMapper.selectOneById(orderId); @@ -136,8 +137,13 @@ public class OrderInfoRpcServiceImpl implements OrderInfoRpcService { data.put("num", NumberUtil.sub(num, refundNum)); dataList.add(data); } - // 调用商品服务扣减库存 - productRpcService.paySuccessSubtractStock(shopId, orderId, dataList); + try { + // 调用商品服务扣减库存 + productRpcService.paySuccessSubtractStock(shopId, orderId, dataList); + } catch (Exception e) { + log.error("调用商品服务扣减库存失败", e); + throw e; + } } @Override @@ -167,8 +173,13 @@ public class OrderInfoRpcServiceImpl implements OrderInfoRpcService { data.put("num", NumberUtil.sub(num, refundNum)); dataList.add(data); } - // 调用商品服务恢复库存 - productRpcService.orderCancelRecoverStock(shopId, orderId, dataList); + try { + // 调用商品服务扣减库存 + productRpcService.orderCancelRecoverStock(shopId, orderId, dataList); + } catch (Exception e) { + log.error("调用商品服务恢复库存", e); + throw e; + } } @Override diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductRpcServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductRpcServiceImpl.java index 2a4e43967..c1300ef2e 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductRpcServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/ProductRpcServiceImpl.java @@ -56,6 +56,7 @@ public class ProductRpcServiceImpl implements ProductRpcService { @Override @Transactional(rollbackFor = Exception.class) + //@GlobalTransactional @CacheEvict(value = {CacheConstant.USER_CLIENT_HOTS_PRODUCT, CacheConstant.USER_CLIENT_GROUPS_PRODUCT}, key = "#shopId", allEntries = true, beforeInvocation = true) public void paySuccessSubtractStock(Long shopId, Long orderId, List> dataList) { List list = BeanUtil.copyToList(dataList, ProductStockSubtractDTO.class);