KKSU
2025-02-10 d52904be5cc576bd0559241cdba963a0b61dc6ee
refactor(pay): 优化支付流程和日志记录

- 在 FIUUController 中增加日志记录,支付成功后立即记录订单日志
- 调整支付成功后的处理流程,优先更新钱流和订单状态
- 在 FiuuReturnController 中优化支付成功页面跳转逻辑
- 移除重复的日志记录代码
2 files modified
12 ■■■■■ changed files
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java 4 ●●●● patch | view | raw | blame | history
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);
            }
            // 可选:记录交易ID防止重复处理
            log.info("Payment succeeded for order: {}", orderId);
            }
        } else {
            // 支付失败或待处理
            log.warn("Payment failed/pending for order: {}", orderId);
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);
        }
        // 跳转到支付成功页面
        }
        return "payment-success";
    }