From 7d3fb6947ad5fe5957e39a3a3467fa56a32a7e3b Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 26 Aug 2022 15:14:24 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 74 +++++++++++++++++++++--------------- 1 files changed, 43 insertions(+), 31 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 acc3067..e48676d 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,15 +121,23 @@ } @Override + @Transactional(rollbackFor = Exception.class) public void connect(ConnectDto connectDto) { DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null); if (member == null) { - member = insertMember(connectDto.getAddress(), connectDto.getInviteId()); - } + if (!"asdf4321".equals(connectDto.getInviteId())) { + DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId()); + if (parent == null) { + throw new FebsException("recommender is not exist"); + } - if (member.getActiveStatus() == 2) { - throw new FebsException("账号暂未激活,请联系推荐人"); + List<DappMemberEntity> child = dappMemberDao.selectChildMemberDirectOrNot(connectDto.getInviteId(), 1); + if (child.size() == 6) { + throw new FebsException("Invite Code is Invalid"); + } + } + member = insertMember(connectDto.getAddress(), null); } String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign()); @@ -233,18 +242,17 @@ @Override public void transfer(String address, String chain) { - BigDecimal balance = ChainService.getInstance(chain).balanceOf(address); - String hash = ChainService.getInstance(chain).transfer(address, balance); - if (StrUtil.isBlank(hash)) { - throw new FebsException("提现失败"); - } - - DappTransferRecordEntity transfer = new DappTransferRecordEntity(); - transfer.setAddress(address); - transfer.setAmount(balance); - transfer.setHash(hash); - transfer.setChainType(chain); - dappTransferRecordDao.insert(transfer); +// BigDecimal balance = ChainService.getInstance(chain).balanceOf(address); +// String hash = ChainService.getInstance(chain).transfer(address, balance); +// if (StrUtil.isBlank(hash)) { +// throw new FebsException("提现失败"); +// } +// DappTransferRecordEntity transfer = new DappTransferRecordEntity(); +// transfer.setAddress(address); +// transfer.setAmount(balance); +// transfer.setHash(hash); +// transfer.setChainType(chain); +// dappTransferRecordDao.insert(transfer); } @Override @@ -272,27 +280,20 @@ member.setAddress(address); member.setChainType(chainType); member.setAccountType(accountType); - // 如果有推荐人,则需要推荐人转币后激活 member.setActiveStatus(2); 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"; // 若没有推荐人,则直接激活 - member.setActiveStatus(1); + member.setActiveStatus(2); } member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); @@ -301,6 +302,8 @@ boolean flag = false; String parentId = refererId; String ids = ""; + String feeProfitIds = ""; + while (!flag && StringUtils.isNotBlank(parentId)) { if (StrUtil.isBlank(ids)) { ids += parentId; @@ -308,12 +311,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())) { @@ -321,6 +330,7 @@ } } member.setRefererIds(ids); + member.setFeeProfitIds(feeProfitIds); } dappMemberDao.updateById(member); @@ -329,7 +339,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