From fcc1ced7adbaf3338c1e68b0c90275dfae14b4f8 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 17 Feb 2025 10:45:57 +0800
Subject: [PATCH] test: 更新测试用例中的运单编号

---
 src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 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 9c49d0f..817567b 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -15,6 +15,7 @@
 import cc.mrbird.febs.mall.entity.MallOrderItem;
 import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.pay.model.FIUUInitChargeRequest;
 import cc.mrbird.febs.pay.model.FIUUInitPayRequest;
@@ -49,6 +50,9 @@
 
     @Resource
     private IMallMoneyFlowService mallMoneyFlowService;
+
+    @Resource
+    private IApiMallMemberWalletService memberWalletService;
 
     @Resource
     private MallMemberMapper mallMemberMapper;
@@ -181,19 +185,27 @@
         log.info("notify status: {}", status);
         // 4. 根据状态码更新订单
         if ("00".equals(status)) {
-            MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
-            if (mallMoneyFlow != null) {
-                // 更新订单状态为已支付
-                mallMoneyFlow.setStatus(2);
-                mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
-            }
-            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
-            if(mallOrderInfo != null){
-                // 支付成功,更新订单状态
-                updateOrderStatus(orderId, status, amount, paydate, tranID);
-            }
+
             // 可选:记录交易ID防止重复处理
             log.info("Payment succeeded for order: {}", orderId);
+            MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
+            if (mallMoneyFlow != null) {
+                if(1 == mallMoneyFlow.getStatus()){
+                    memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
+                    // 更新订单状态为已支付
+                    mallMoneyFlow.setStatus(2);
+                    mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow);
+                }
+            }else{
+                MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
+                if(mallOrderInfo != null){
+                    if("1" == mallOrderInfo.getPayResult()){
+                        return;
+                    }
+                    // 支付成功,更新订单状态
+                    updateOrderStatus(orderId, status, amount, paydate, tranID);
+                }
+            }
         } else {
             // 支付失败或待处理
             log.warn("Payment failed/pending for order: {}", orderId);

--
Gitblit v1.9.1