From d5ffb71a7359e7ce81c43930c3503c4c03e5309c Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Sun, 07 Jul 2024 10:55:45 +0800 Subject: [PATCH] 逻辑 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 52 +++++++++++++------------- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 12 ++++++ 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index ab6a666..16e388e 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java @@ -840,34 +840,34 @@ } //减少用户的总额度 - BigDecimal usdtBalance = dappMemberEntity.getUsdtBalance(); - if(BigDecimal.ZERO.compareTo(usdtBalance) >= 0){ - return; - } - if(daoNodeAmount.compareTo(usdtBalance) >= 0){ - daoNodeAmount = usdtBalance; - usdtBalance = BigDecimal.ZERO; - }else{ - usdtBalance = usdtBalance.subtract(daoNodeAmount); - } +// BigDecimal usdtBalance = dappMemberEntity.getUsdtBalance(); +// if(BigDecimal.ZERO.compareTo(usdtBalance) >= 0){ +// return; +// } +// if(daoNodeAmount.compareTo(usdtBalance) >= 0){ +// daoNodeAmount = usdtBalance; +// usdtBalance = BigDecimal.ZERO; +// }else{ +// usdtBalance = usdtBalance.subtract(daoNodeAmount); +// } //总额度为0,用户变成未激活 - if(BigDecimal.ZERO.compareTo(usdtBalance) >= 0){ - dappMemberEntity.setActiveStatus(2); - //更新用户所有的业绩为已失效 - QueryWrapper<DappStorage> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("member_id",memberId); - objectQueryWrapper.eq("state",1); - List<DappStorage> dappStorages = dappStorageMapper.selectList(objectQueryWrapper); - if(CollUtil.isNotEmpty(dappStorages)){ - for(DappStorage dappStorage : dappStorages){ - dappStorage.setState(2); - dappStorageMapper.updateById(dappStorage); - } - } - } - dappMemberEntity.setUsdtBalance(usdtBalance); - dappMemberDao.updateById(dappMemberEntity); +// if(BigDecimal.ZERO.compareTo(usdtBalance) >= 0){ +// dappMemberEntity.setActiveStatus(2); +// //更新用户所有的业绩为已失效 +// QueryWrapper<DappStorage> objectQueryWrapper = new QueryWrapper<>(); +// objectQueryWrapper.eq("member_id",memberId); +// objectQueryWrapper.eq("state",1); +// List<DappStorage> dappStorages = dappStorageMapper.selectList(objectQueryWrapper); +// if(CollUtil.isNotEmpty(dappStorages)){ +// for(DappStorage dappStorage : dappStorages){ +// dappStorage.setState(2); +// dappStorageMapper.updateById(dappStorage); +// } +// } +// } +// dappMemberEntity.setUsdtBalance(usdtBalance); +// dappMemberDao.updateById(dappMemberEntity); dappWalletService.updateWalletCoinWithLock(daoNodeAmount, memberId, 1); DappFundFlowEntity nodeFlow = new DappFundFlowEntity( diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java index e03dd6a..34d636e 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java @@ -240,6 +240,15 @@ public void withdraw(WithdrawDto withdrawDto) { DappMemberEntity member = LoginUserUtil.getAppUser(); + DappMemberEntity memberEntity = dappMemberDao.selectById(member.getId()); + BigDecimal usdtBalance = memberEntity.getUsdtBalance(); + if(BigDecimal.ZERO.compareTo(usdtBalance) >= 0){ + throw new FebsException("额度不足"); + } + if(withdrawDto.getAmount().compareTo(usdtBalance) > 0){ + throw new FebsException("额度不足"); + } + List<MemberCoinWithdrawEntity> memberCoinWithdrawEntities = memberCoinWithdrawDao.selectListByDate(member.getId(),new Date()); if(CollUtil.isNotEmpty(memberCoinWithdrawEntities)){ throw new FebsException("今日已提现"); @@ -259,6 +268,9 @@ updateWalletCoinWithLock(withdrawDto.getAmount(), member.getId(), 2); + memberEntity.setUsdtBalance(usdtBalance.subtract(withdrawDto.getAmount()).setScale(2,BigDecimal.ROUND_DOWN)); + dappMemberDao.updateById(memberEntity); + DappFundFlowEntity fundFlow = new DappFundFlowEntity( member.getId(), withdrawDto.getAmount().negate(), -- Gitblit v1.9.1