From c1af5cf94920702b6aa962881365116542e88ab0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 30 Jul 2024 09:42:46 +0800 Subject: [PATCH] 后台 --- src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberWithdrawServiceImpl.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 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 fea85cd..d69c527 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 @@ -95,16 +95,25 @@ if(wallet.getBalance().compareTo(BigDecimal.ZERO) <= 0){ throw new FebsException("金额不足"); } + if(wallet.getEquityLimit().compareTo(BigDecimal.ZERO) <= 0){ + throw new FebsException("权益积分不足"); + } if(withdrawalDto.getAmount().compareTo(wallet.getBalance()) > 0) { throw new FebsException("金额不足"); } + + if(withdrawalDto.getAmount().compareTo(wallet.getEquityLimit()) > 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, "balance");//减少余额 + walletService.reduce(withdrawalDto.getAmount(), memberId, "equityLimit");//减少权益积分 // walletService.reduce(withdrawalDto.getAmount(), memberId, "commission"); String orderNo = MallUtils.getOrderNum("W"); @@ -121,6 +130,16 @@ mallMemberService.addMoneyFlow(memberId, withdrawalDto.getAmount().negate(), MoneyFlowTypeEnum.WITHDRAWAL.getValue(), + orderNo, + null, + null, + null, + 1, + FlowTypeEnum.BALANCE.getValue()); + + mallMemberService.addMoneyFlow(memberId, + withdrawalDto.getAmount().negate(), + MoneyFlowTypeEnum.REDUCE_EQUITY_LIMIT.getValue(), orderNo, null, null, @@ -225,7 +244,7 @@ ); if(poolScore.compareTo(BigDecimal.ZERO) > 0 && poolCash.compareTo(BigDecimal.ZERO) > 0){ - BigDecimal divide = poolCash.divide(poolScore, 6, BigDecimal.ROUND_DOWN); + BigDecimal divide = poolCash.divide(poolScore, 8, BigDecimal.ROUND_DOWN); dataDictionaryCustomMapper.updateDicValueByTypeAndCode( PerkEnum.POOL_SCORE_PRICE.getType(), PerkEnum.POOL_SCORE_PRICE.getCode(), -- Gitblit v1.9.1