refactor(pay): 优化支付流程和日志记录
- 在 FIUUController 中增加日志记录,支付成功后立即记录订单日志
- 调整支付成功后的处理流程,优先更新钱流和订单状态
- 在 FiuuReturnController 中优化支付成功页面跳转逻辑
- 移除重复的日志记录代码
| | |
| | | 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) { |
| | | // 更新订单状态为已支付 |
| | |
| | | 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); |
| | |
| | | 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"; |
| | | } |
| | | |