From b3b3baf9a3b0147ca38476450ca1823c291abd20 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 21 Jun 2024 23:02:46 +0800 Subject: [PATCH] 后台矩阵列表 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 77 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 11 deletions(-) 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 f5d03db..13c2722 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 @@ -28,6 +28,7 @@ import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -52,7 +53,6 @@ private final ChainProducer chainProducer; private final DappSystemDao dappSystemDao; private final DbMemberNodeMapper dbMemberNodeMapper; - private final DappWalletService dappWalletService; @Override public WalletInfoVo walletInfo() { @@ -60,13 +60,18 @@ DappMemberEntity memberInfo = dappMemberDao.selectById(member.getId()); WalletInfoVo walletInfo = new WalletInfoVo(); -// List<DappMemberEntity> direct = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1, 1); + List<DappMemberEntity> inviteList = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1, null); List<DappMemberEntity> direct = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 2, null); DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId()); DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId()); DappMineDataEntity mineData = dappSystemDao.selectMineDataForOne(); - walletInfo.setDirectCnt(direct.size()); + walletInfo.setDirectCnt(CollUtil.isEmpty(direct) ? 0 : direct.size()); + walletInfo.setInviteCnt(CollUtil.isEmpty(inviteList) ? 0 : inviteList.size()); + + List<DappMemberEntity> collect = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 2, 1); +// List<DappMemberEntity> collect = direct.stream().filter(dappMemberEntity -> dappMemberEntity.getActiveStatus() == 1).collect(Collectors.toList()); + walletInfo.setActiveCnt(CollUtil.isEmpty(collect) ? 0 : collect.size()); // walletInfo.setInviteId(member.getActiveStatus() == 1 ? member.getInviteId() : "-"); walletInfo.setInviteId(member.getInviteId()); walletInfo.setBalance(walletCoin.getAvailableAmount()); @@ -98,6 +103,27 @@ BigDecimal bigDecimal = dappFundFlowDao.selectSumAmountByMemberIdAndType(member.getId(), 14); walletInfo.setBuyNodePerk(bigDecimal); + + int i = memberInfo.getBuyNode() * 2000; + int teamCnt = CollUtil.isEmpty(direct) ? 0 : direct.size(); + int i1 = teamCnt * 15; + QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("member_id",member.getId()); + List<DbMemberNode> dbMemberNodes1 = dbMemberNodeMapper.selectList(objectQueryWrapper); + walletInfo.setScoreCnt(i+i1+(CollUtil.isEmpty(dbMemberNodes1) ? 0 : dbMemberNodes1.size())*300); +// Integer activeStatus = ObjectUtil.isEmpty(member.getActiveStatus()) ? 2 : member.getActiveStatus(); +// if(1 == activeStatus){ +// int i = memberInfo.getBuyNode() * 2000; +// int teamCnt = CollUtil.isEmpty(direct) ? 0 : direct.size(); +// int i1 = teamCnt * 15; +// QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); +// objectQueryWrapper.eq("member_id",member.getId()); +// List<DbMemberNode> dbMemberNodes1 = dbMemberNodeMapper.selectList(objectQueryWrapper); +// walletInfo.setScoreCnt(i+i1+(CollUtil.isEmpty(dbMemberNodes1) ? 0 : dbMemberNodes1.size())*300); +// }else{ +// walletInfo.setScoreCnt(0); +// } + return walletInfo; } @@ -232,13 +258,13 @@ throw new FebsException("Balance Not Enough"); } - DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId()); - if (walletMine.getAvailableAmount().compareTo(withdrawDto.getFee()) < 0) { - throw new FebsException("Fee Not Enough"); - } +// DappWalletMineEntity walletMine = dappWalletMineDao.selectByMemberId(member.getId()); +// if (walletMine.getAvailableAmount().compareTo(withdrawDto.getFee()) < 0) { +// throw new FebsException("Fee Not Enough"); +// } updateWalletCoinWithLock(withdrawDto.getAmount(), member.getId(), 2); - updateWalletMineWithLock(withdrawDto.getFee(), member.getId(), 2); +// updateWalletMineWithLock(withdrawDto.getFee(), member.getId(), 2); DappFundFlowEntity feeFlow = new DappFundFlowEntity(member.getId(), withdrawDto.getFee().negate(), 20, 2, null, null); @@ -379,6 +405,23 @@ if (buyNode >= Integer.parseInt(buyNodeCodeCntDic.getValue())) { throw new FebsException("Do not repeat purchase"); } + /** + * 限购总数200 + */ + + DataDictionaryCustom perKNumDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.PERK_NUM.getType(), + DataDictionaryEnum.PERK_NUM.getCode() + ); + int perKNum = Integer.parseInt(ObjectUtil.isEmpty(perKNumDic) ? "200" : perKNumDic.getValue()); + + List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectList(null); + if(CollUtil.isNotEmpty(dappMemberEntities)){ + int sum1 = dappMemberEntities.stream().mapToInt(DappMemberEntity::getBuyNode).sum(); + if(perKNum < sum1 + 1){ + throw new FebsException("节点已售完"); + } + } if (ObjectUtil.isEmpty(transferDto.getId())) { DappFundFlowEntity fundFlow = new DappFundFlowEntity( @@ -449,6 +492,18 @@ } if (ObjectUtil.isEmpty(buyStarDto.getId())) {//第一次 + List<DbMemberNode> dbMemberNodesDone = dbMemberNodeMapper.selectListByDate(new Date()); + if(CollUtil.isNotEmpty(dbMemberNodesDone)){ + DataDictionaryCustom buyNodeNumDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.BUY_NODE_NUM.getType(), + DataDictionaryEnum.BUY_NODE_NUM.getCode() + ); + int buyNodeNum = Integer.parseInt(buyNodeNumDic.getValue()); + if(buyNodeNum < dbMemberNodesDone.size()){ + throw new FebsException("今日已满,请明日再来"); + } + }; + DappFundFlowEntity fundFlow = new DappFundFlowEntity( member.getId(), buyStarDto.getAmount().negate(), @@ -585,10 +640,10 @@ dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE); dappFundFlowDao.updateById(dappFundFlowEntity); - dappWalletService.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1); - dappWalletService.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1); + this.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1); +// this.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1); - DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getFeeAmount(), 22, 2, null, null); + DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getAmount(), 22, 2, null, null); dappFundFlowDao.insert(feeFlow); return new FebsResponse().success(); } -- Gitblit v1.9.1