From 28cc0617c373754521ed246016ccf3e6da32dbc1 Mon Sep 17 00:00:00 2001 From: chc <1501738723@qq.com> Date: Tue, 23 Sep 2025 18:06:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=A2=E5=8D=95=E8=B4=A7?= =?UTF-8?q?=E7=89=A9=E5=94=AE=E5=90=8E=E6=95=B0=E9=87=8F=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E9=98=B2=E6=AD=A2=E7=94=B3=E8=AF=B7=E5=94=AE?= =?UTF-8?q?=E5=90=8E=E6=9C=AA=E5=AE=A1=E6=A0=B8=E4=BE=9D=E7=84=B6=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/impl/OrderStatusHandlerExecute.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java b/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java index 54beb2e5c..3daeb241f 100644 --- a/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/OrderStatusHandlerExecute.java @@ -4,6 +4,8 @@ import cn.lili.common.utils.CurrencyUtil; import cn.lili.event.AfterSaleStatusChangeEvent; import cn.lili.event.TradeEvent; import cn.lili.modules.order.aftersale.entity.dos.AfterSale; +import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams; +import cn.lili.modules.order.aftersale.service.AfterSaleService; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; @@ -34,6 +36,8 @@ public class OrderStatusHandlerExecute implements TradeEvent, AfterSaleStatusCha private OrderItemService orderItemService; @Autowired private OrderService orderService; + @Autowired + private AfterSaleService afterSaleService; @Override public void orderCreate(TradeDTO tradeDTO) { @@ -64,10 +68,16 @@ public class OrderStatusHandlerExecute implements TradeEvent, AfterSaleStatusCha int returnCount = 0; // 总购买数量 int deliverCount = 0; - for (OrderItem item : orderItems) { - returnCount += item.getReturnGoodsNumber(); - deliverCount += item.getNum(); + //获取订单货物已完成售后的数量 + AfterSaleSearchParams saleSearchParams = new AfterSaleSearchParams(); + saleSearchParams.setOrderSn(afterSale.getOrderSn()); + saleSearchParams.setServiceStatus(AfterSaleStatusEnum.COMPLETE.name()); + List afterSales = afterSaleService.exportAfterSaleOrder(saleSearchParams); + for (AfterSale sale : afterSales) { + returnCount += sale.getNum(); } + //订单货物购买总数 + deliverCount = order.getGoodsNum(); if (returnCount == deliverCount) { orderService.systemCancel(afterSale.getOrderSn(),"订单货物全部退款",false); }