From aa02a165eea629fa89d1ff47531ce861cd9fa3bc Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 29 Sep 2021 10:50:56 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 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 c14b4a8..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 @@ -388,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); @@ -426,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