From 7b55e2cd82647b87d79a778ed70fdbddb39ac00a Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 24 九月 2024 13:44:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
index 9db561c..c88ddbe 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
@@ -6,6 +6,8 @@
 import com.ruoyi.integration.api.model.ChargingHandshake;
 import com.ruoyi.integration.api.model.PlatformStartCharging;
 import com.ruoyi.integration.api.model.PlatformStopCharging;
+import io.seata.core.exception.TransactionException;
+import io.seata.tm.api.GlobalTransactionContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
@@ -29,12 +31,24 @@
     
             @Override
             public String platformStartCharging(PlatformStartCharging platformStartCharging) {
-                throw new RuntimeException("远程启机失败" + throwable.getMessage());
+                // 手动进行全局事务回滚
+                try {
+                    GlobalTransactionContext.getCurrent().rollback();
+                } catch (TransactionException e) {
+                    throw new RuntimeException(e);
+                }
+                return "远程启机失败";
             }
     
             @Override
             public String platformStopCharging(PlatformStopCharging platformStopCharging) {
-                throw new RuntimeException("远程停机失败" + throwable.getMessage());
+                // 手动进行全局事务回滚
+                try {
+                    GlobalTransactionContext.getCurrent().rollback();
+                } catch (TransactionException e) {
+                    throw new RuntimeException(e);
+                }
+                return "远程停机失败";
             }
         };
     }

--
Gitblit v1.7.1