From 7742eded8183625d8eff93e0cc0278bfe2166537 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 29 九月 2024 09:48:13 +0800
Subject: [PATCH] 修改
---
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java | 34 ++++++++++++++++++++++++++++++----
1 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
index 97ebf3e..3c7b402 100644
--- a/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/factory/AliPaymentFallbackFactory.java
@@ -7,6 +7,8 @@
import com.ruoyi.payment.api.vo.AliPaymentReq;
import com.ruoyi.payment.api.vo.AliPaymentResp;
import com.ruoyi.payment.api.vo.AliQueryOrder;
+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;
@@ -30,22 +32,46 @@
@Override
public R<AliPaymentResp> payment(AliPaymentReq req) {
- throw new RuntimeException("调起支付宝小程序支付失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("调起支付宝小程序支付失败:" + throwable.getMessage());
}
@Override
public R<AliQueryOrder> query(String outTradeNo) {
- throw new RuntimeException("查询支付订单失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("查询支付订单失败:" + throwable.getMessage());
}
@Override
public void close(String outTradeNo) {
- throw new RuntimeException("关闭支付订单失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ R.fail("关闭支付订单失败:" + throwable.getMessage());
}
@Override
public R<RefundResp> refund(RefundReq dto) {
- throw new RuntimeException("支付宝退款失败:" + throwable.getMessage());
+ // 手动进行全局事务回滚
+ try {
+ GlobalTransactionContext.getCurrent().rollback();
+ } catch (TransactionException e) {
+ throw new RuntimeException(e);
+ }
+ return R.fail("支付宝退款失败:" + throwable.getMessage());
}
};
}
--
Gitblit v1.7.1