From 57f5dbb0ba230bdbc40409c1274d98f56e35e45b Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 15 May 2025 16:11:02 +0800 Subject: [PATCH] refactor(mall): 优化订单列表接口响应时间 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 51 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 65239cf..65821e6 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -543,23 +543,23 @@ if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) { throw new FebsException("订单状态不能支付"); } - //先支付积分部分 - if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ - balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); - mallMoneyFlowService.addMoneyFlow( - member.getId(), - orderInfo.getAmount().negate(), - ScoreFlowTypeEnum.PAY.getValue(), - orderInfo.getOrderNo(), - FlowTypeEnum.PRIZE_SCORE.getValue(), - StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), - 2 - ); - } String payResultStr = ""; String wxResultStr = ""; if(orderInfo.getAmount().compareTo(BigDecimal.ZERO) <= 0){ + //先支付积分部分 + if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ + balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); + mallMoneyFlowService.addMoneyFlow( + member.getId(), + orderInfo.getScoreAmount().negate(), + ScoreFlowTypeEnum.PAY.getValue(), + orderInfo.getOrderNo(), + FlowTypeEnum.PRIZE_SCORE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), + 2 + ); + } orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayMethod("积分支付"); orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); @@ -591,7 +591,22 @@ agentProducer.sendOrderReturn(orderInfo.getId()); break; case "3": + payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance"); + + //先支付积分部分 + if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){ + balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore"); + mallMoneyFlowService.addMoneyFlow( + member.getId(), + orderInfo.getScoreAmount().negate(), + ScoreFlowTypeEnum.PAY.getValue(), + orderInfo.getOrderNo(), + FlowTypeEnum.PRIZE_SCORE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()), + 2 + ); + } orderInfo.setPayOrderNo(orderInfo.getOrderNo()); orderInfo.setPayMethod("余额支付"); @@ -694,11 +709,11 @@ orderListDto.setMemberId(member.getId()); // IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiOrderListInPage(page, orderListDto); IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiOrderListInPage(page, orderListDto); - if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) { - mallOrderInfos.getRecords().forEach(item -> { - item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId())); - }); - } +// if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) { +// mallOrderInfos.getRecords().forEach(item -> { +// item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId())); +// }); +// } return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords()); } -- Gitblit v1.9.1