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-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