From 848a1f9caf6f7e7efe7c65b770cea3ad52512496 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 17 Apr 2023 17:47:41 +0800
Subject: [PATCH] 提现,增加实际到账金额
---
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
index f1cb0c9..7359cfc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java
@@ -81,14 +81,14 @@
if(withdrawalDto.getAmount().compareTo(wallet.getBalance()) > 0) {
throw new FebsException("金额不足");
}
- BigDecimal commission = wallet.getCommission();
- if(withdrawalDto.getAmount().compareTo(commission) > 0){
- throw new FebsException("金额不足");
- }
+// BigDecimal commission = wallet.getCommission();
+// if(withdrawalDto.getAmount().compareTo(commission) > 0){
+// throw new FebsException("金额不足");
+// }
BigDecimal serviceFee = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01));
walletService.reduce(withdrawalDto.getAmount(), memberId, "balance");
- walletService.reduce(withdrawalDto.getAmount(), memberId, "commission");
+// walletService.reduce(withdrawalDto.getAmount(), memberId, "commission");
String orderNo = MallUtils.getOrderNum("W");
MallMemberWithdraw withdraw = new MallMemberWithdraw();
@@ -172,7 +172,7 @@
FlowTypeEnum.SCORE.getValue());
mallMemberService.addMoneyFlow(memberId,
- scoreAmount,
+ scoreAmount.subtract(amountFee),
MoneyFlowTypeEnum.SCORE_TO_CASH.getValue(),
orderNo,
null,
@@ -187,7 +187,8 @@
PerkEnum.POOL_CASH.getCode()
);
BigDecimal poolCash = new BigDecimal(poolCashDic.getValue());
- poolCash = poolCash.add(amountFee);
+ //先减去百分之百的提现金额在加上30%的回流金额
+ poolCash = poolCash.subtract(scoreAmount).add(amountFee);
dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
PerkEnum.POOL_CASH.getType(),
PerkEnum.POOL_CASH.getCode(),
@@ -207,7 +208,7 @@
);
if(poolScore.compareTo(BigDecimal.ZERO) > 0 && poolCash.compareTo(BigDecimal.ZERO) > 0){
- BigDecimal divide = poolCash.divide(poolScore, 2, BigDecimal.ROUND_DOWN);
+ BigDecimal divide = poolCash.divide(poolScore, 6, BigDecimal.ROUND_DOWN);
dataDictionaryCustomMapper.updateDicValueByTypeAndCode(
PerkEnum.POOL_SCORE_PRICE.getType(),
PerkEnum.POOL_SCORE_PRICE.getCode(),
--
Gitblit v1.9.1