From 9265a439968f7df5b93a9435f2dc958d8a9c45a3 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 16 May 2025 16:20:38 +0800
Subject: [PATCH] refactor(mall): 重构充值相关代码

---
 src/main/java/cc/mrbird/febs/mall/dto/ApiRechargeWalletDto.java                    |    5 +
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java |   27 +++++++-
 src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java                  |  120 +++++++++++++++++++++------------------
 src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java              |    6 ++
 src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java                     |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java       |    6 +
 6 files changed, 102 insertions(+), 64 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 cd21963..2801141 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/ScoreFlowTypeEnum.java
@@ -6,6 +6,12 @@
 public enum ScoreFlowTypeEnum {
 
 
+    COMMISSION_TO_PRIZE_SCORE(20,"划转{}佣金到积分"),
+    COMMISSION_TO_BALANCE(19,"划转{}佣金到余额"),
+
+    RECHARGE(18,"成功充值{}"),
+    RECHARGE_ING(17,"正在充值{}"),
+
     WECHAT_PAY(16,"微信支付{}"),
     WECHAT_REFUND(15,"退款{}到微信"),
     REFUND(14, "退款{}到余额"),
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiRechargeWalletDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiRechargeWalletDto.java
index 1ce5998..08a5694 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/ApiRechargeWalletDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiRechargeWalletDto.java
@@ -13,13 +13,14 @@
     @ApiModelProperty(value = "1:普通充值 2:合伙人充值", example = "10")
     private Integer type;
 
-    @ApiModelProperty(value = "代理申请ID", example = "10")
+    @ApiModelProperty(hidden = true)
     private Long agentApplyId;
 
     @ApiModelProperty(value = "充值金额", example = "10")
     private BigDecimal amount;
 
-    @ApiModelProperty(value = "充值单号", example = "10")
+
+    @ApiModelProperty(hidden = true)
     private String rechargeNo;
 
     @ApiModelProperty(hidden = true)
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java b/src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java
index b88ae41..af655be 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/CommissionChangeDto.java
@@ -19,7 +19,7 @@
     @NotNull(message = "请输入划转金额")
     private BigDecimal amount;
 
-    @ApiModelProperty(value = "类型 1-to余额 2-to竞猜积分", example = "1")
+    @ApiModelProperty(value = "类型 1-to余额 2-to积分", example = "1")
     @NotNull(message = "参数错误")
     private Integer type;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 5ba72d0..b645f61 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -919,10 +919,12 @@
         mallMoneyFlowService.addMoneyFlow(
                 memberId,
                 amount,
-                MoneyFlowTypeEnum.RECHARGE.getValue(),
+                ScoreFlowTypeEnum.RECHARGE_ING.getValue(),
                 rechargeNo,
                 FlowTypeEnum.BALANCE.getValue(),
-                "余额充值",1);
+                StrUtil.format(ScoreFlowTypeEnum.RECHARGE_ING.getDesc(),amount),
+                1
+        );
 
         String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
         String payResultStr = brandWCPayRequestData.getPrepay_id();
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
index 92b12d7..6369962 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberWalletServiceImpl.java
@@ -2,8 +2,10 @@
 
 import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
 import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.MallUtils;
 import cc.mrbird.febs.mall.dto.CommissionChangeDto;
 import cc.mrbird.febs.mall.entity.MallMember;
 import cc.mrbird.febs.mall.entity.MallMemberWallet;
@@ -248,20 +250,37 @@
 
         // 佣金转余额
         if (commissionChange.getType() == 1) {
-            type = MoneyFlowTypeEnum.COMMISSION_TO_BALANCE.getValue();
+            type = ScoreFlowTypeEnum.COMMISSION_TO_BALANCE.getValue();
             flowType = FlowTypeEnum.BALANCE.getValue();
             this.add(commissionChange.getAmount(), member.getId(), "balance");
 
             // 佣金转竞猜积分
         } else if (commissionChange.getType() == 2){
-            type = MoneyFlowTypeEnum.COMMISSION_TO_PRIZESCORE.getValue();
+            type = ScoreFlowTypeEnum.COMMISSION_TO_PRIZE_SCORE.getValue();
             flowType = FlowTypeEnum.PRIZE_SCORE.getValue();
             this.add(commissionChange.getAmount(), member.getId(), "prizeScore");
         } else {
             throw new FebsException("参数错误");
         }
 
-        moneyFlowService.addMoneyFlow(member.getId(), commissionChange.getAmount().negate(), type, null,  FlowTypeEnum.COMMISSION.getValue());
-        moneyFlowService.addMoneyFlow(member.getId(), commissionChange.getAmount(), type, null,  flowType);
+        moneyFlowService.addMoneyFlow(
+                member.getId(),
+                commissionChange.getAmount().negate(),
+                type,
+                MallUtils.getOrderNum(),
+                FlowTypeEnum.COMMISSION.getValue(),
+                String.format(ScoreFlowTypeEnum.getDescByValue(type), commissionChange.getAmount()),
+                2
+        );
+
+        moneyFlowService.addMoneyFlow(
+                member.getId(),
+                commissionChange.getAmount(),
+                type,
+                MallUtils.getOrderNum(),
+                flowType,
+                String.format(ScoreFlowTypeEnum.getDescByValue(type), commissionChange.getAmount()),
+                2
+        );
     }
 }
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
index 79aa3c3..b0d40a1 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
@@ -147,62 +147,72 @@
                             mallMoneyFlow.setStatus(2);
                             mallMoneyFlowMapper.updateById(mallMoneyFlow);
 
-                            /**
-                             * 充值赠送金额
-                             */
-                            DataDictionaryCustom giveStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                                    DataDictionaryEnum.GIVE_STATE.getType(),
-                                    DataDictionaryEnum.GIVE_STATE.getCode());
+                            mallMoneyFlowService.addMoneyFlow(
+                                    memberId,
+                                    payMoney,
+                                    ScoreFlowTypeEnum.RECHARGE_ING.getValue(),
+                                    rechargeNo,
+                                    FlowTypeEnum.BALANCE.getValue(),
+                                    StrUtil.format(ScoreFlowTypeEnum.RECHARGE.getDesc(),payMoney),
+                                    2
+                            );
 
-                            DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                                    DataDictionaryEnum.GIVE_AMOUNT.getType(),
-                                    DataDictionaryEnum.GIVE_AMOUNT.getCode());
-
-                            DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-                                    DataDictionaryEnum.CHARGE_AMOUNT.getType(),
-                                    DataDictionaryEnum.CHARGE_AMOUNT.getCode());
-                            /**
-                             * 普通充值
-                             * 开启了充值赠送
-                             * 系统设置的赠送金额和充值金额不为空
-                             * 充值金额大于等于系统设置的充值金额
-                             */
-                            if(1 == type
-                                    && ObjectUtil.isNotEmpty(giveStateDic)
-                                    && "1".equals(giveStateDic.getValue())
-                                    && ObjectUtil.isNotEmpty(giveAmountDic)
-                                    && ObjectUtil.isNotEmpty(chargeAmountDic)){
-                                BigDecimal giveAmount = ObjectUtil.isEmpty(giveAmountDic.getValue()) ?
-                                        BigDecimal.ZERO :
-                                        new BigDecimal(giveAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
-                                BigDecimal chargeAmount = ObjectUtil.isEmpty(chargeAmountDic.getValue()) ?
-                                        BigDecimal.ZERO :
-                                        new BigDecimal(chargeAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
-                                if(payMoney.compareTo(chargeAmount) >= 0){
-                                    mallMoneyFlowService.addMoneyFlow(
-                                            memberId,
-                                            giveAmount,
-                                            MoneyFlowTypeEnum.RECHARGE_SEND.getValue(),
-                                            rechargeNo+"ZS",
-                                            FlowTypeEnum.BALANCE.getValue(),
-                                            "充值赠送金额",
-                                            2);
-
-                                    memberWalletService.addBalance(giveAmount,memberId);
-                                }
-                            }
-
-                            RechargeWalletMessageSendDto rechargeWalletMessageSendDto = new RechargeWalletMessageSendDto();
-                            rechargeWalletMessageSendDto.setRechargeNo(rechargeNo);
-                            rechargeWalletMessageSendDto.setRechargeAmount(payMoney.toString());
-
-                            MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
-                            rechargeWalletMessageSendDto.setBalance(mallMemberWallet.getBalance().toString());
-                            rechargeWalletMessageSendDto.setCreateTime(DateUtil.now());
-                            rechargeWalletMessageSendDto.setOpenId(mallMemberMapper.selectById(memberId).getOpenId());
-                            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_TWO.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_TWO.getCode());
-                            rechargeWalletMessageSendDto.setTemplateId(dataDictionaryCustom.getValue());
-                            iXcxPayService.rechargeWalletMessageSend(rechargeWalletMessageSendDto);
+//                            /**
+//                             * 充值赠送金额
+//                             */
+//                            DataDictionaryCustom giveStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                                    DataDictionaryEnum.GIVE_STATE.getType(),
+//                                    DataDictionaryEnum.GIVE_STATE.getCode());
+//
+//                            DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                                    DataDictionaryEnum.GIVE_AMOUNT.getType(),
+//                                    DataDictionaryEnum.GIVE_AMOUNT.getCode());
+//
+//                            DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+//                                    DataDictionaryEnum.CHARGE_AMOUNT.getType(),
+//                                    DataDictionaryEnum.CHARGE_AMOUNT.getCode());
+//                            /**
+//                             * 普通充值
+//                             * 开启了充值赠送
+//                             * 系统设置的赠送金额和充值金额不为空
+//                             * 充值金额大于等于系统设置的充值金额
+//                             */
+//                            if(1 == type
+//                                    && ObjectUtil.isNotEmpty(giveStateDic)
+//                                    && "1".equals(giveStateDic.getValue())
+//                                    && ObjectUtil.isNotEmpty(giveAmountDic)
+//                                    && ObjectUtil.isNotEmpty(chargeAmountDic)){
+//                                BigDecimal giveAmount = ObjectUtil.isEmpty(giveAmountDic.getValue()) ?
+//                                        BigDecimal.ZERO :
+//                                        new BigDecimal(giveAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
+//                                BigDecimal chargeAmount = ObjectUtil.isEmpty(chargeAmountDic.getValue()) ?
+//                                        BigDecimal.ZERO :
+//                                        new BigDecimal(chargeAmountDic.getValue()).abs().setScale(2,BigDecimal.ROUND_DOWN);
+//                                if(payMoney.compareTo(chargeAmount) >= 0){
+//                                    mallMoneyFlowService.addMoneyFlow(
+//                                            memberId,
+//                                            giveAmount,
+//                                            MoneyFlowTypeEnum.RECHARGE_SEND.getValue(),
+//                                            rechargeNo+"ZS",
+//                                            FlowTypeEnum.BALANCE.getValue(),
+//                                            "充值赠送金额",
+//                                            2);
+//
+//                                    memberWalletService.addBalance(giveAmount,memberId);
+//                                }
+//                            }
+//
+//                            RechargeWalletMessageSendDto rechargeWalletMessageSendDto = new RechargeWalletMessageSendDto();
+//                            rechargeWalletMessageSendDto.setRechargeNo(rechargeNo);
+//                            rechargeWalletMessageSendDto.setRechargeAmount(payMoney.toString());
+//
+//                            MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+//                            rechargeWalletMessageSendDto.setBalance(mallMemberWallet.getBalance().toString());
+//                            rechargeWalletMessageSendDto.setCreateTime(DateUtil.now());
+//                            rechargeWalletMessageSendDto.setOpenId(mallMemberMapper.selectById(memberId).getOpenId());
+//                            DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_TWO.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_TWO.getCode());
+//                            rechargeWalletMessageSendDto.setTemplateId(dataDictionaryCustom.getValue());
+//                            iXcxPayService.rechargeWalletMessageSend(rechargeWalletMessageSendDto);
                             threadResult.success().message("充值成功");
                         } else {
                             log.info("充值失败", attrStr);

--
Gitblit v1.9.1