From b90bb6e1cedd0210c231a5485b29c5724078d9f0 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 24 Aug 2022 17:14:38 +0800 Subject: [PATCH] fix:add matrixTree --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 50 +++++++++++++++++++++++++++----------------------- 1 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java index d4aff8c..b9d38ab 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.dapp.service.impl; +import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils; import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.exception.FebsException; @@ -120,21 +121,20 @@ } @Override + @Transactional(rollbackFor = Exception.class) public void connect(ConnectDto connectDto) { DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null); if (member == null) { - DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId()); - if (parent == null) { - throw new FebsException("邀请人不存在"); + if (!"asdf4321".equals(connectDto.getInviteId())) { + DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId()); + if (parent == null) { + throw new FebsException("recommender is not exist"); + } } - member = insertMember(connectDto.getAddress(), connectDto.getInviteId()); + member = insertMember(connectDto.getAddress(), null); } - -// if (member.getActiveStatus() == 2) { -// throw new FebsException("注册成功,账号暂未激活,请联系推荐人"); -// } String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign()); redisUtils.set(connectDto.getAddress(), member); @@ -276,22 +276,15 @@ member.setAddress(address); member.setChainType(chainType); member.setAccountType(accountType); - // 如果有推荐人,则需要推荐人转币后激活 - member.setActiveStatus(2); + member.setActiveStatus(1); member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address)); member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address)); - DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_SYSTEM_NODE_CNT_LIMIT); - int nodeCntLimit = Integer.parseInt(dic.getValue()); - - List<DappMemberEntity> memberCount = dappMemberDao.selectList(null); - if (memberCount.size() <= (nodeCntLimit + 4)) { - member.setNodeType(1); - } else { - member.setNodeType(2); - } - dappMemberDao.insert(member); + + DappWalletCoinEntity walletCoin = new DappWalletCoinEntity(); + walletCoin.setMemberId(member.getId()); + dappWalletCoinDao.insert(walletCoin); if (StrUtil.isEmpty(refererId)) { refererId = "0"; @@ -305,6 +298,8 @@ boolean flag = false; String parentId = refererId; String ids = ""; + String feeProfitIds = ""; + while (!flag && StringUtils.isNotBlank(parentId)) { if (StrUtil.isBlank(ids)) { ids += parentId; @@ -312,12 +307,18 @@ ids += ("," + parentId); } + if (StrUtil.isBlank(feeProfitIds)) { + feeProfitIds += parentId; + } else { + feeProfitIds += ("," + parentId); + } + DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId); if (parentMember == null) { break; } parentId = parentMember.getRefererId(); - if(StringUtils.isBlank(parentId)){ + if(StringUtils.isBlank(parentId) || "0".equals(parentId)){ break; } if (parentMember.getRefererId().equals(parentMember.getInviteId())) { @@ -325,6 +326,7 @@ } } member.setRefererIds(ids); + member.setFeeProfitIds(feeProfitIds); } dappMemberDao.updateById(member); @@ -333,7 +335,9 @@ @Override public List<TeamListVo> findTeamList(TeamListDto teamListDto) { - - return new ArrayList<>(); + DappMemberEntity member = LoginUserUtil.getAppUser(); + Page<TeamListDto> page = new Page<>(teamListDto.getPageNum(), teamListDto.getPageSize()); + teamListDto.setInviteId(member.getInviteId()); + return dappMemberDao.selectTeamListInPage(teamListDto, page).getRecords(); } } -- Gitblit v1.9.1