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/FiuuReturnController.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java b/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
index 7bce5dd..7c9e498 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
@@ -4,11 +4,15 @@
 import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.ValidateEntityUtils;
+import cc.mrbird.febs.mall.entity.MallMoneyFlow;
 import cc.mrbird.febs.mall.entity.MallOrderInfo;
+import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
@@ -32,6 +36,10 @@
     private static final String SECRET_KEY = "59c709fc18978a6a83b87f05d37cecbf";
     @Resource
     private MallOrderInfoMapper mallOrderInfoMapper;
+    @Resource
+    private MallMoneyFlowMapper mallMoneyFlowMapper;
+    @Resource
+    private IApiMallMemberWalletService memberWalletService;
 
     @PostMapping("/payment/callback")
     public String handlePaymentCallback(
@@ -84,9 +92,24 @@
         model.addAttribute("status", status);
         model.addAttribute("currency", currency);
         model.addAttribute("payDate", payDate);
-        updateOrderStatus(orderId, status, amount, payDate, tranId);
 
-        // 跳转到支付成功页面
+        MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId));
+        if (mallMoneyFlow != null) {
+            if(1 == mallMoneyFlow.getStatus()){
+                memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
+                // 更新订单状态为已支付
+                mallMoneyFlow.setStatus(2);
+                mallMoneyFlowMapper.updateById(mallMoneyFlow);
+            }
+        }else{
+            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
+            if(mallOrderInfo != null){
+                if("1" == mallOrderInfo.getPayResult()){
+                    return "payment-success";
+                }
+                updateOrderStatus(orderId, status, amount, payDate, tranId);
+            }
+        }
         return "payment-success";
     }
 

--
Gitblit v1.9.1