| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void connect(ConnectDto connectDto) { |
| | | DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null); |
| | | |
| | | if (member == null) { |
| | | member = insertMember(connectDto.getAddress(), "0"); |
| | | 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(), null); |
| | | } |
| | | |
| | | String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign()); |
| | |
| | | |
| | | @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 |
| | |
| | | member.setAddress(address); |
| | | member.setChainType(chainType); |
| | | member.setAccountType(accountType); |
| | | 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"; |
| | | // 若没有推荐人,则直接激活 |
| | | member.setActiveStatus(1); |
| | | } |
| | | |
| | | member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); |
| | | member.setRefererId(refererId); |
| | |
| | | boolean flag = false; |
| | | String parentId = refererId; |
| | | String ids = ""; |
| | | String feeProfitIds = ""; |
| | | |
| | | while (!flag && StringUtils.isNotBlank(parentId)) { |
| | | if (StrUtil.isBlank(ids)) { |
| | | ids += parentId; |
| | |
| | | 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())) { |
| | |
| | | } |
| | | } |
| | | member.setRefererIds(ids); |
| | | member.setFeeProfitIds(feeProfitIds); |
| | | } |
| | | dappMemberDao.updateById(member); |
| | | |
| | |
| | | |
| | | @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(); |
| | | } |
| | | } |