KKSU
2025-02-11 0dca71326d972fc9482cd84d7bb674f03654228f
fix(payment): 修复支付结果重复更新问题

- 在 FIUUController 和 FiuuReturnController 中添加判断逻辑
- 如果订单的支付结果已经是成功状态(payResult为 "1"),则不再更新订单状态
- 这样可以避免支付通知重复到达时重复更新订单的情况
2 files modified
6 ■■■■■ changed files
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -199,6 +199,9 @@
            }else{
                MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
                if(mallOrderInfo != null){
                    if("1" == mallOrderInfo.getPayResult()){
                        return;
                    }
                    // 支付成功,更新订单状态
                    updateOrderStatus(orderId, status, amount, paydate, tranID);
                }
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
@@ -104,6 +104,9 @@
        }else{
            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
            if(mallOrderInfo != null){
                if("1" == mallOrderInfo.getPayResult()){
                    return "payment-success";
                }
                updateOrderStatus(orderId, status, amount, payDate, tranId);
            }
        }