From 7616ba1882b602f9ed249a6f60847e6cb6a353af Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 01 九月 2025 17:00:00 +0800
Subject: [PATCH] mq处理订单失败后的手动补偿机制

---
 framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index b41cddb..2b65ab7 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -23,6 +23,7 @@
 import cn.lili.common.utils.CurrencyUtil;
 import cn.lili.common.utils.SnowFlake;
 import cn.lili.common.utils.StringUtils;
+import cn.lili.common.vo.ResultMessage;
 import cn.lili.modules.goods.entity.dos.Goods;
 import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
 import cn.lili.modules.goods.service.GoodsService;
@@ -443,6 +444,25 @@
     }
 
     @Override
+    @Transactional
+    public String sendMqMessage(String snNo) {
+        Order order = this.getBySn(snNo);
+        if (order == null) {
+            throw new ServiceException(ResultCode.ORDER_NOT_EXIST);
+        }
+        if (!OrderStatusEnum.PAID.name().equals(order.getOrderStatus())) {
+            throw new ServiceException("璁㈠崟鐘舵�佷笉鏄凡鏀粯鐘舵��");
+        }
+        OrderMessage orderMessage = new OrderMessage();
+        //鍙戦�佽鍗曞凡浠樻娑堟伅
+        orderMessage.setOrderSn(order.getSn());
+        orderMessage.setPaymentMethod(order.getPaymentMethod());
+        orderMessage.setNewStatus(OrderStatusEnum.PAID);
+        this.sendUpdateStatusMessage(orderMessage);
+        return null;
+    }
+
+    @Override
     @OrderLogPoint(description = "'璁㈠崟['+#orderSn+']鍙栨秷锛屽師鍥犱负锛�'+#reason", orderSn = "#orderSn")
     @Transactional(rollbackFor = Exception.class)
     public Order cancel(String orderSn, String reason) {

--
Gitblit v1.8.0