From 852b685fc99028dbd47f14e50939e00216ee26e7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 15 May 2025 10:50:28 +0800
Subject: [PATCH] feat(mall): 新增新人礼设置功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 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..98822cb 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,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());

--
Gitblit v1.9.1