KKSU
2025-02-10 70af23c7bb284fbbda04934e4da63e4729b1a065
fix(pay): 修复余额更新逻辑

- 在 FIUUController 和 FiuuReturnController 中添加判断,避免重复更新余额
- 只有当订单状态为 1 时,才进行余额更新和状态修改
- 优化了代码结构,提高了系统的稳定性和准确性
2 files modified
10 ■■■■■ changed files
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java
@@ -190,11 +190,12 @@
            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);
                memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
                }
            }else{
                MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
                if(mallOrderInfo != null){
src/main/java/cc/mrbird/febs/pay/controller/FiuuReturnController.java
@@ -95,11 +95,12 @@
        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);
            memberWalletService.addBalance(mallMoneyFlow.getAmount(),mallMoneyFlow.getMemberId());
            }
        }else{
            MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId));
            if(mallOrderInfo != null){