From 6b7a98a866dc46bfddb5663b9a3a15ea2972996e Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 24 Jun 2024 10:28:39 +0800 Subject: [PATCH] 后台矩阵列表 --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 80 insertions(+), 15 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..b6a7c79 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,7 +28,9 @@ import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @author @@ -52,7 +54,6 @@ private final ChainProducer chainProducer; private final DappSystemDao dappSystemDao; private final DbMemberNodeMapper dbMemberNodeMapper; - private final DappWalletService dappWalletService; @Override public WalletInfoVo walletInfo() { @@ -60,13 +61,19 @@ 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(), 1, 1); + walletInfo.setActiveDirect(CollUtil.isEmpty(collect) ? 0 : collect.size()); + List<DappMemberEntity> collectTeam = direct.stream().filter(dappMemberEntity -> dappMemberEntity.getActiveStatus() == 1).collect(Collectors.toList()); + walletInfo.setActiveCnt(CollUtil.isEmpty(collectTeam) ? 0 : collect.size()); // walletInfo.setInviteId(member.getActiveStatus() == 1 ? member.getInviteId() : "-"); walletInfo.setInviteId(member.getInviteId()); walletInfo.setBalance(walletCoin.getAvailableAmount()); @@ -98,6 +105,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; } @@ -219,7 +247,9 @@ } BigDecimal feeUsdt = withdrawCnt.multiply(feePercent).setScale(2, BigDecimal.ROUND_DOWN); - return feeUsdt.divide(priceDto.getAmount(), 2, BigDecimal.ROUND_DOWN); + return feeUsdt; + +// return feeUsdt.divide(priceDto.getAmount(), 2, BigDecimal.ROUND_DOWN); } @Override @@ -232,19 +262,19 @@ 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); dappFundFlowDao.insert(feeFlow); - DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), withdrawDto.getAmount().negate(), 21, 2, withdrawDto.getFee(), null); + DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), withdrawDto.getAmount().negate(), 21, 1, withdrawDto.getFee(), null); dappFundFlowDao.insert(fundFlow); MemberCoinWithdrawEntity memberCoinWithdraw = new MemberCoinWithdrawEntity(); @@ -379,6 +409,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 +496,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(), @@ -546,7 +605,10 @@ @Override public FebsResponse agreeWithdraw(Long id) { - MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id); + QueryWrapper<MemberCoinWithdrawEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("flow_id",id); + MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectOne(objectQueryWrapper); +// MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id); if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ throw new FebsException("刷新页面重试"); } @@ -566,7 +628,10 @@ @Override public FebsResponse disagreeWithdraw(Long id) { - MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id); + + QueryWrapper<MemberCoinWithdrawEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("flow_id",id); + MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectOne(objectQueryWrapper); if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ throw new FebsException("刷新页面重试"); } @@ -585,10 +650,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