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/FiuuReturnController.java | 10 +++++-----
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 16 +++++++++-------
2 files changed, 14 insertions(+), 12 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);
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 dad3b35..17ef880 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
@@ -100,12 +100,12 @@
mallMoneyFlowMapper.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);
- }
- // 跳转到支付成功页面
return "payment-success";
}
--
Gitblit v1.9.1