From d52904be5cc576bd0559241cdba963a0b61dc6ee Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 10 Feb 2025 15:16:44 +0800
Subject: [PATCH] refactor(pay): 优化支付流程和日志记录

---
 src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 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 edea8e5..71b3f99 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -185,6 +185,9 @@
         log.info("notify status: {}", status);
         // 4. 根据状态码更新订单
         if ("00".equals(status)) {
+
+            // 可选:记录交易ID防止重复处理
+            log.info("Payment succeeded for order: {}", orderId);
             MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
             if (mallMoneyFlow != null) {
                 // 更新订单状态为已支付
@@ -192,14 +195,13 @@
                 mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
 
                 memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
+            }else{
+                MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
+                if(mallOrderInfo != null){
+                    // 支付成功,更新订单状态
+                    updateOrderStatus(orderId, status, amount, paydate, tranID);
+                }
             }
-            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
-            if(mallOrderInfo != null){
-                // 支付成功,更新订单状态
-                updateOrderStatus(orderId, status, amount, paydate, tranID);
-            }
-            // 可选:记录交易ID防止重复处理
-            log.info("Payment succeeded for order: {}", orderId);
         } else {
             // 支付失败或待处理
             log.warn("Payment failed/pending for order: {}", orderId);

--
Gitblit v1.9.1