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 | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 112 insertions(+), 7 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 7886ba2..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; /** @@ -59,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()); @@ -97,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; } @@ -231,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); @@ -378,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( @@ -448,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(), @@ -543,6 +599,55 @@ return null; } + @Override + public FebsResponse agreeWithdraw(Long id) { + MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id); + if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ + throw new FebsException("刷新页面重试"); + } + + if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) { + throw new FebsException("非可审核状态"); + } + memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_YES); + memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity); + + DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId()); + dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE); + dappFundFlowDao.updateById(dappFundFlowEntity); + + return new FebsResponse().success(); + } + + @Override + public FebsResponse disagreeWithdraw(Long id) { + MemberCoinWithdrawEntity memberCoinWithdrawEntity = memberCoinWithdrawDao.selectById(id); + if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ + throw new FebsException("刷新页面重试"); + } + + if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) { + throw new FebsException("非可审核状态"); + } + + DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId()); + if (dappFundFlowEntity == null) { + throw new FebsException("审核失败,联系管理员"); + } + memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO); + memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity); + + dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE); + dappFundFlowDao.updateById(dappFundFlowEntity); + + this.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1); +// this.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1); + + DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getAmount(), 22, 2, null, null); + dappFundFlowDao.insert(feeFlow); + return new FebsResponse().success(); + } + public MemberNodeVo buildTeamMatrix(DbMemberNode dbMemberNode) { Long id = dbMemberNode.getId(); -- Gitblit v1.9.1