Administrator
2025-05-15 852b685fc99028dbd47f14e50939e00216ee26e7
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,8 +591,23 @@
                    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("余额支付");
                    orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());