From 6169d137461b01b47def5e3ab6353bbdcddbcc97 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 30 Dec 2024 17:18:39 +0800 Subject: [PATCH] feat(mall): 添加节点身份管理和显示功能 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 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 9bcb3d3..9b9e219 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 @@ -288,6 +288,7 @@ mallMemberVo.setLevelPng(runVip.getVipPng()); mallMemberVo.setChangeState(runVip.getChangeState()); mallMemberVo.setWithdrawState(runVip.getWithdrawState()); + mallMemberVo.setInsideState(runVip.getInsideState()); MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId()); mallMemberVo.setBalance(wallet.getBalance()); @@ -580,15 +581,21 @@ dataDictionaryCustomMapper.selectDicDataByTypeAndCode( RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_PERCENT.getType(), RunVipDataDictionaryEnum.RUN_VIP_BALANCE_TO_COIN_PERCENT.getCode()).getValue() - ).setScale(4, BigDecimal.ROUND_DOWN); + ).setScale(2, BigDecimal.ROUND_DOWN); + + BigDecimal withdrawalAmount = withdrawalDto.getAmount().multiply(balanceToCoin).setScale(2, BigDecimal.ROUND_DOWN); + BigDecimal fee = balanceToCoinPercent; +// BigDecimal fee = balanceToCoinPercent.multiply(withdrawalAmount).setScale(2, BigDecimal.ROUND_DOWN); + BigDecimal withdrawalAmountReal = withdrawalAmount.subtract(fee); + if(BigDecimal.ZERO.compareTo(withdrawalAmountReal) >= 0){ + throw new FebsException(minCnt+"手续费不足"); + } + /** * 减少碳币,增加进行中提现记录 */ walletService.reduceBalance(withdrawalDto.getAmount(), loginMember.getId()); - BigDecimal withdrawalAmount = withdrawalDto.getAmount().multiply(balanceToCoin).setScale(2, BigDecimal.ROUND_DOWN); - BigDecimal fee = balanceToCoinPercent.multiply(withdrawalAmount).setScale(2, BigDecimal.ROUND_DOWN); - BigDecimal withdrawalAmountReal = withdrawalAmount.subtract(fee); String orderNo = MallUtils.getOrderNum("TX"); MallMemberWithdraw withdraw = new MallMemberWithdraw(); withdraw.setWithdrawNo(orderNo); @@ -642,6 +649,11 @@ throw new FebsException("请先升级会员"); } + MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); + if(minScore.compareTo(mallMemberWallet.getScore()) > 0){ + throw new FebsException("碳积分不足"); + } + BigDecimal scoreBalancePercent = new BigDecimal( dataDictionaryCustomMapper.selectDicDataByTypeAndCode( RunVipDataDictionaryEnum.RUN_VIP_SCORE_TO_BALANCE.getType(), -- Gitblit v1.9.1