From 1ccd041defcd6abc731636ba8673718e784103f6 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 07 Feb 2025 11:46:00 +0800
Subject: [PATCH] fix(pay): 修复订单重复支付问题

---
 src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
index 59620cb..54755b7 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -172,6 +172,11 @@
         // 计算 skey 验证
         String preSkey = DigestUtils.md5Hex(tranID + orderId + status + domain + amount + currency);
         String calculatedSkey = DigestUtils.md5Hex(paydate + domain + preSkey + secretKey);
+        MallOrderInfo mallOrderInfo = ValidateEntityUtils.ensureColumnReturnEntity(orderId, MallOrderInfo::getId, mallOrderInfoMapper::selectOne, "订单不存在");
+
+        if("1".equals(mallOrderInfo.getPayResult())){
+            return new FebsResponse().success().data("/pages/order/pay/paySuccess?amount="+ amount +"&type=3");
+        }
 
         if (!calculatedSkey.equals(skey)) {
             throw new FebsException("订单回调失败,---"+orderId);

--
Gitblit v1.9.1