diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 662c2e09b..2d48ccf27 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -4,10 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.exceptions.ValidateException; import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.*; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; @@ -33,6 +30,7 @@ import com.czg.order.service.OrderInfoService; import com.czg.order.service.OrderPaymentService; import com.czg.order.vo.*; import com.czg.product.entity.Product; +import com.czg.product.service.ProductRpcService; import com.czg.product.service.ProductService; import com.czg.resp.CzgResult; import com.czg.sa.StpKit; @@ -89,6 +87,8 @@ public class OrderInfoServiceImpl extends ServiceImpl details = orderDetailService.list(QueryWrapper.create().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getPlaceNum, placeNum)); + List> dataList = new ArrayList<>(); + for (OrderDetail detail : details) { + Map data = new HashMap<>(); + data.put("shopId", shopId); + data.put("productId", detail.getProductId()); + data.put("num", NumberUtil.sub(detail.getNum(), detail.getReturnNum())); + dataList.add(data); + } orderDetailService.remove(new QueryWrapper().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getPlaceNum, placeNum)); + if (CollUtil.isNotEmpty(dataList)) { + productRpcService.orderCancelRecoverStock(shopId, orderId, dataList); + } List list = orderDetailService.queryChain().eq(OrderDetail::getOrderId, orderId).eq(OrderDetail::getShopId, shopId).list(); if (CollUtil.isEmpty(list)) { updateChain()