fix
Helius
2022-04-18 5d23d7883b47e2fd6967bb4f4c8786033dc810e1
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.utils.FebsUtil;
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.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
@@ -44,7 +45,7 @@
    @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 +53,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("未授权");
        }
@@ -111,9 +112,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;
        // 线上/本地都已授权
@@ -149,8 +150,8 @@
    }
    @Override
    public DappMemberEntity findByAddress(String address) {
        return dappMemberDao.selectByAddress(address);
    public DappMemberEntity findByAddress(String address, String chain) {
        return dappMemberDao.selectByAddress(address, chain);
    }
    @Override
@@ -199,9 +200,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("提现失败");
        }