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