From fdb6ddebb3309d8f0a856666f9b6cb7189780f10 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 25 Apr 2022 17:54:26 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 30 +++++++++++++++++++++++++++---
1 files changed, 27 insertions(+), 3 deletions(-)
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 aa7be61..c5eb694 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
@@ -167,9 +167,7 @@
redisUtils.set(redisKey, token, 360000);
Map<String, Object> authInfo = new HashMap<>();
authInfo.put("token", token);
- if ("dev".equals(active)) {
- authInfo.put("rasToken", generateAsaToken(token));
- }
+ authInfo.put("rasToken", generateAsaToken(token));
return new FebsResponse().success().data(authInfo);
}
@@ -390,6 +388,17 @@
throw new FebsException("未设置收款方式");
}
+ BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId);
+ MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ if (profit != null) {
+ // 可提现
+ BigDecimal canMoney = wallet.getBalance().subtract(profit);
+
+ if(withdrawalDto.getAmount().compareTo(canMoney) > 0) {
+ throw new FebsException("提现金额不足");
+ }
+ }
+
walletService.reduceBalance(withdrawalDto.getAmount(), memberId);
String orderNo = MallUtils.getOrderNum("W");
this.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1);
@@ -428,4 +437,19 @@
member.setBindPhone(accountAndCodeDto.getAccount());
this.baseMapper.updateById(member);
}
+
+ @Override
+ public BigDecimal canMoney() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId);
+
+ BigDecimal canMoney = wallet.getBalance();
+ if (profit != null) {
+ if(canMoney.compareTo(BigDecimal.ZERO) > 0) {
+ canMoney = canMoney.subtract(profit);
+ }
+ }
+ return canMoney;
+ }
}
--
Gitblit v1.9.1