From 78e1837458da467cacefa8e22c2c9616b1dc9f9d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 12 May 2025 16:26:58 +0800
Subject: [PATCH] refactor(mall): 优化积分和余额支付流程

---
 src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java         |    6 +++---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   21 ++++++++++++++++++---
 src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java           |   16 +++++++++-------
 src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java            |    5 +++--
 4 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
index d6cd5d3..6b8caf8 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
@@ -8,15 +8,17 @@
     /**
      *
      */
-    SIGN_EXPERIENCE(7, "签到获得会员经验"),
-    SIGN_SCORE(7, "签到获得积分"),
-    SALE_RECOMMEND(6, "好友下单获得佣金"),
-    OTHER_RECOMMEND(5, "推荐下单获得积分"),
-    MINE_RECOMMEND(4, "下单获得积分"),
+    PAY_BALANCE(9, "余额支付{}"),
 
-    PAY(1, "积分支付"),
+    SIGN_EXPERIENCE(8, "签到获得{}会员经验"),
+    SIGN_SCORE(7, "签到获得{}积分"),
+    SALE_RECOMMEND(6, "好友下单获得{}佣金"),
+    OTHER_RECOMMEND(5, "推荐下单获得{}积分"),
+    MINE_RECOMMEND(4, "下单获得{}积分"),
 
-    BUY(2, "购买商品,获得等级经验"),
+    PAY(1, "支付{}积分"),
+
+    BUY(2, "购买商品,获得{}会员经验"),
 
     RECOMMEND(3, "推荐下单获得积分");
 
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 95d834f..65239cf 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
@@ -546,7 +546,15 @@
         //先支付积分部分
         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(), null, 2);
+            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 = "";
@@ -592,8 +600,15 @@
                     orderInfo.setPayResult("1");
                     orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
 
-                    mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额支付",2);
-
+                    mallMoneyFlowService.addMoneyFlow(
+                            member.getId(),
+                            orderInfo.getAmount().negate(),
+                            ScoreFlowTypeEnum.PAY_BALANCE.getValue(),
+                            orderInfo.getOrderNo(),
+                            FlowTypeEnum.BALANCE.getValue(),
+                            StrUtil.format(ScoreFlowTypeEnum.PAY_BALANCE.getDesc(),orderInfo.getScoreAmount()),
+                            2
+                    );
                     agentProducer.sendOrderCoupon(orderInfo.getId());
                     break;
                 case "4":
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
index ed0a2b2..2fc1a19 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ScoreServiceImpl.java
@@ -26,6 +26,7 @@
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -297,7 +298,7 @@
                     ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue(),
                     mallScoreSignRecord.getId().toString(),
                     FlowTypeEnum.SCORE.getValue(),
-                    ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(),
+                    StrUtil.format(ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(),amount),
                     2);
         }
         if(mostSignIn == 2){
@@ -308,7 +309,7 @@
                     ScoreFlowTypeEnum.SIGN_SCORE.getValue(),
                     mallScoreSignRecord.getId().toString(),
                     FlowTypeEnum.PRIZE_SCORE.getValue(),
-                    ScoreFlowTypeEnum.SIGN_SCORE.getDesc(),
+                    StrUtil.format(ScoreFlowTypeEnum.SIGN_SCORE.getDesc(),amount),
                     2);
         }
 
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
index f6c696c..cce24d7 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/VipCommonServiceImpl.java
@@ -93,7 +93,7 @@
                 ScoreFlowTypeEnum.BUY.getValue(),
                 mallOrderInfo.getOrderNo(),
                 FlowTypeEnum.SCORE.getValue(),
-                ScoreFlowTypeEnum.BUY.getDesc(),
+                StrUtil.format(ScoreFlowTypeEnum.BUY.getDesc(),amount),
                 2
         );
         // 更新会员钱包中的分数
@@ -139,7 +139,7 @@
                         recommendTypeScoreMap.get(key),
                         mallOrderInfo.getOrderNo(),
                         FlowTypeEnum.PRIZE_SCORE.getValue(),
-                        ScoreFlowTypeEnum.getDescByValue(recommendTypeScoreMap.get(key)),
+                        StrUtil.format(ScoreFlowTypeEnum.getDescByValue(recommendTypeScoreMap.get(key)),value),
                         2);
                 mallMemberWalletService.add(value, key, "prizeScore");
             }
@@ -292,7 +292,7 @@
                 ScoreFlowTypeEnum.SALE_RECOMMEND.getValue(),
                 mallOrderInfo.getOrderNo(),
                 FlowTypeEnum.BALANCE.getValue(),
-                ScoreFlowTypeEnum.SALE_RECOMMEND.getDesc(),
+                StrUtil.format(ScoreFlowTypeEnum.SALE_RECOMMEND.getDesc(),multiply),
                 2
         );
         // 更新会员钱包中的余额

--
Gitblit v1.9.1