From bb2bc28813fbb66537ea19fa54d46f6b4707a226 Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Fri, 24 Jun 2022 20:25:32 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 44 ++++++++++++++++++++++++++++++++------------ 1 files changed, 32 insertions(+), 12 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 dd1bdd2..6acec79 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 @@ -4,9 +4,12 @@ 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.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.PriceSettingDto; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity; import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; @@ -17,6 +20,7 @@ import cc.mrbird.febs.dapp.mapper.DappWalletMineDao; import cc.mrbird.febs.dapp.service.DappMemberService; import cc.mrbird.febs.system.entity.User; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -27,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.Map; /** * @author @@ -40,11 +45,12 @@ private final DappWalletCoinDao dappWalletCoinDao; private final DappWalletMineDao dappWalletMineDao; private final DappTransferRecordDao dappTransferRecordDao; + private final RedisUtils redisUtils; @Override @Transactional(rollbackFor = Exception.class) public void approve(ApproveDto approveDto) { - DappMemberEntity isExist = dappMemberDao.selectByAddress(approveDto.getAddress()); + DappMemberEntity isExist = dappMemberDao.selectByAddress(approveDto.getAddress(), approveDto.getChainType()); if (isExist != null) { return; } @@ -52,7 +58,7 @@ DappMemberEntity member = new DappMemberEntity(); member.setAddress(approveDto.getAddress()); - ChainService instance = ChainService.INSTANCE; + ContractChainService instance = ChainService.getInstance(approveDto.getChainType()); if (!instance.isAllowance(approveDto.getAddress())) { throw new FebsException("未授权"); } @@ -63,16 +69,22 @@ int cnt = instance.allowanceCnt(approveDto.getAddress()); member.setApproveCnt(cnt); + member.setChainType(approveDto.getChainType()); dappMemberDao.insert(member); member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); - + member.setRefererId(approveDto.getRefererId()); if (StrUtil.isNotBlank(approveDto.getRefererId())){ boolean flag = false; String parentId = approveDto.getRefererId(); String ids = ""; while (!flag && StringUtils.isNotBlank(parentId)) { - ids += ("," + parentId); + if (StrUtil.isBlank(ids)) { + ids += parentId; + } else { + ids += ("," + parentId); + } + DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId); if (parentMember == null) { break; @@ -105,9 +117,9 @@ } @Override - public int isApprove(String address) { - DappMemberEntity memberEntity = dappMemberDao.selectByAddress(address); - boolean allowance = ChainService.INSTANCE.isAllowance(address); + public int isApprove(String address, String chain) { + DappMemberEntity memberEntity = dappMemberDao.selectByAddress(address, chain); + boolean allowance = ChainService.getInstance(chain).isAllowance(address); boolean isExist = memberEntity != null; // 线上/本地都已授权 @@ -143,8 +155,8 @@ } @Override - public DappMemberEntity findByAddress(String address) { - return dappMemberDao.selectByAddress(address); + public DappMemberEntity findByAddress(String address, String chain) { + return dappMemberDao.selectByAddress(address, chain); } @Override @@ -193,9 +205,9 @@ } @Override - public void transfer(String address) { - BigDecimal balance = ChainService.INSTANCE.balanceOf(address); - String hash = ChainService.INSTANCE.transfer(address, balance); + 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("提现失败"); } @@ -204,6 +216,7 @@ transfer.setAddress(address); transfer.setAmount(balance); transfer.setHash(hash); + transfer.setChainType(chain); dappTransferRecordDao.insert(transfer); } @@ -212,4 +225,11 @@ Page<DappTransferRecordEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); return dappTransferRecordDao.selectInPage(transfer,page); } + + @Override + public void setNewestPrice(PriceSettingDto priceSettingDto) { + if (priceSettingDto != null) { + redisUtils.set(AppContants.REDIS_KEY_ETH_NEW_PRICE, priceSettingDto.getNewestPrice()); + } + } } -- Gitblit v1.9.1