fix(pay): 修复余额更新逻辑
- 在 FIUUController 和 FiuuReturnController 中添加判断,避免重复更新余额
- 只有当订单状态为 1 时,才进行余额更新和状态修改
- 优化了代码结构,提高了系统的稳定性和准确性
| | |
| | | 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){ |
| | |
| | | |
| | | 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){ |