From 74a49426a60df1a696384fbb8b37d280a1c8cb7d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 13 Apr 2026 15:05:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=8F=9C=20=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=95=86=E5=93=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderPayServiceImpl.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderPayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderPayServiceImpl.java index 61bccad67..9d85fa5f3 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderPayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderPayServiceImpl.java @@ -441,7 +441,11 @@ public class OrderPayServiceImpl implements OrderPayService { } orderDetailService.updateById(orderDetail); if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) { - productStockMap.put(orderDetail.getProductId(), refundDetail.getNum()); + if (productStockMap.containsKey(orderDetail.getProductId())) { + productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(refundDetail.getNum())); + } else { + productStockMap.put(orderDetail.getProductId(), refundDetail.getNum()); + } } } long count = orderDetailService.count(QueryWrapper.create().eq(OrderDetail::getOrderId, orderInfo.getId()) @@ -459,14 +463,22 @@ public class OrderPayServiceImpl implements OrderPayService { for (OrderDetail orderDetail : orderDetails) { if (isPay) { if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) { - productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum())); + if (productStockMap.containsKey(orderDetail.getProductId())) { + productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()))); + } else { + productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum())); + } } orderDetail.setReturnAmount(orderDetail.getPayAmount()); orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum())); orderDetail.setStatus(OrderStatusEnums.REFUND.getCode()); } else { if (orderDetail.getProductId() != null && orderDetail.getProductId() > 0) { - productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum())); + if (productStockMap.containsKey(orderDetail.getProductId())) { + productStockMap.put(orderDetail.getProductId(), productStockMap.get(orderDetail.getProductId()).add(orderDetail.getNum().subtract(orderDetail.getReturnNum()))); + } else { + productStockMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum())); + } } orderDetail.setReturnNum(orderDetail.getNum()); orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());