| | |
| | | import cc.mrbird.febs.common.entity.QueryRequest; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.FebsUtil; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.common.utils.ShareCodeUtil; |
| | | import cc.mrbird.febs.dapp.chain.ChainService; |
| | | import cc.mrbird.febs.dapp.chain.ContractChainService; |
| | | import cc.mrbird.febs.dapp.dto.ApproveDto; |
| | | import cc.mrbird.febs.dapp.dto.ConnectDto; |
| | | import cc.mrbird.febs.dapp.dto.PriceSettingDto; |
| | | import cc.mrbird.febs.dapp.entity.DappMemberEntity; |
| | | import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | walletCoin.setAvailableAmount(BigDecimal.ZERO); |
| | | walletCoin.setFrozenAmount(BigDecimal.ZERO); |
| | | dappWalletCoinDao.insert(walletCoin); |
| | | } |
| | | |
| | | @Override |
| | | public void connect(ConnectDto connectDto) { |
| | | DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null); |
| | | |
| | | if (member == null) { |
| | | member = insertMember(connectDto.getAddress(), null); |
| | | } |
| | | |
| | | String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign()); |
| | | redisUtils.set(connectDto.getAddress(), member); |
| | | |
| | | Map<Object, Object> keys = redisUtils.hmget(AppContants.REDIS_KEY_SIGN); |
| | | if (keys == null) { |
| | | keys = new HashMap<>(); |
| | | } |
| | | |
| | | keys.put(connectDto.getAddress(), key); |
| | | redisUtils.hmset(AppContants.REDIS_KEY_SIGN, keys); |
| | | } |
| | | |
| | | @Override |
| | |
| | | redisUtils.set(AppContants.REDIS_KEY_ETH_NEW_PRICE, priceSettingDto.getNewestPrice()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public DappMemberEntity insertMember(String address, String refererId) { |
| | | DappMemberEntity member = new DappMemberEntity(); |
| | | member.setAddress(address); |
| | | |
| | | dappMemberDao.insert(member); |
| | | |
| | | member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); |
| | | member.setRefererId(refererId); |
| | | if (StrUtil.isNotBlank(refererId)){ |
| | | boolean flag = false; |
| | | String parentId = refererId; |
| | | String ids = ""; |
| | | while (!flag && StringUtils.isNotBlank(parentId)) { |
| | | if (StrUtil.isBlank(ids)) { |
| | | ids += parentId; |
| | | } else { |
| | | ids += ("," + parentId); |
| | | } |
| | | |
| | | DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId); |
| | | if (parentMember == null) { |
| | | break; |
| | | } |
| | | parentId = parentMember.getRefererId(); |
| | | if(StringUtils.isBlank(parentId)){ |
| | | break; |
| | | } |
| | | if (parentMember.getRefererId().equals(parentMember.getInviteId())) { |
| | | flag = true; |
| | | } |
| | | } |
| | | member.setRefererIds(ids); |
| | | } |
| | | dappMemberDao.updateById(member); |
| | | |
| | | return member; |
| | | } |
| | | } |