From 0a0ddc2087fa31cafb0589cf5c826f7caef1914e Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Mon, 08 May 2023 11:36:23 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 16 +++++++--------- 1 files changed, 7 insertions(+), 9 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 5fcd58a..bc9b86d 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 @@ -80,23 +80,20 @@ } MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); - BigDecimal profit = mallMoneyFlowMapper.selectProfitByDateAndMemberId(memberId); BigDecimal serviceFeePercent = cashOutSettingVo.getServiceFee().multiply(BigDecimal.valueOf(0.01)); BigDecimal serviceFee = serviceFeePercent.multiply(withdrawalDto.getAmount()); // 可提现 - BigDecimal canMoney = wallet.getCommission(); - if (profit != null) { - if(canMoney.subtract(serviceFee).compareTo(BigDecimal.ZERO) > 0) { - canMoney = canMoney.subtract(profit); - } - } + BigDecimal canMoney = wallet.getBalance(); - if(withdrawalDto.getAmount().compareTo(canMoney) > 0) { + if(withdrawalDto.getAmount().add(serviceFee).compareTo(canMoney) > 0) { throw new FebsException("提现金额不足"); } - walletService.reduce(withdrawalDto.getAmount().add(serviceFee), memberId, "commission"); + int index = walletService.reduce(withdrawalDto.getAmount().add(serviceFee), memberId, "balance"); + if (index == 2) { + throw new FebsException("请刷新页面"); + } String orderNo = MallUtils.getOrderNum("W"); MallMemberWithdraw withdraw = new MallMemberWithdraw(); @@ -106,6 +103,7 @@ withdraw.setStatus(1); withdraw.setAmountFee(serviceFee); withdraw.setWtihdrawTypeId(mallMemberBank.getId()); + withdraw.setRemark(AppContants.MEMBER_WITHDRAW_NORMAL); this.baseMapper.insert(withdraw); mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().add(serviceFee).negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), orderNo, null, null, null, 1, FlowTypeEnum.BALANCE.getValue()); -- Gitblit v1.9.1