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);