From fcc1ced7adbaf3338c1e68b0c90275dfae14b4f8 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 17 Feb 2025 10:45:57 +0800 Subject: [PATCH] test: 更新测试用例中的运单编号 --- src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java index 9c49d0f..817567b 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java +++ b/src/main/java/cc/mrbird/febs/pay/controller/FIUUController.java @@ -15,6 +15,7 @@ import cc.mrbird.febs.mall.entity.MallOrderItem; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; +import cc.mrbird.febs.mall.service.IApiMallMemberWalletService; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.pay.model.FIUUInitChargeRequest; import cc.mrbird.febs.pay.model.FIUUInitPayRequest; @@ -49,6 +50,9 @@ @Resource private IMallMoneyFlowService mallMoneyFlowService; + + @Resource + private IApiMallMemberWalletService memberWalletService; @Resource private MallMemberMapper mallMemberMapper; @@ -181,19 +185,27 @@ log.info("notify status: {}", status); // 4. 根据状态码更新订单 if ("00".equals(status)) { - MallMoneyFlow mallMoneyFlow = mallMoneyFlowService.getBaseMapper().selectOne(new LambdaQueryWrapper<MallMoneyFlow>().eq(MallMoneyFlow::getOrderNo, orderId)); - if (mallMoneyFlow != null) { - // 更新订单状态为已支付 - mallMoneyFlow.setStatus(2); - mallMoneyFlowService.getBaseMapper().updateById(mallMoneyFlow); - } - MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId)); - if(mallOrderInfo != null){ - // 支付成功,更新订单状态 - updateOrderStatus(orderId, status, amount, paydate, tranID); - } + // 可选:记录交易ID防止重复处理 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); + } + }else{ + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(Long.parseLong(orderId)); + if(mallOrderInfo != null){ + if("1" == mallOrderInfo.getPayResult()){ + return; + } + // 支付成功,更新订单状态 + updateOrderStatus(orderId, status, amount, paydate, tranID); + } + } } else { // 支付失败或待处理 log.warn("Payment failed/pending for order: {}", orderId); -- Gitblit v1.9.1