From 0a32a50a7d35a7865e70623bde75f7579585f515 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 24 Apr 2022 16:30:58 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 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 f5f9a54..447a45d 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
@@ -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("未授权");
         }
@@ -63,6 +64,7 @@
         int cnt = instance.allowanceCnt(approveDto.getAddress());
         member.setApproveCnt(cnt);
 
+        member.setChainType(approveDto.getChainType());
         dappMemberDao.insert(member);
 
         member.setInviteId(ShareCodeUtil.toSerialCode(member.getId()));
@@ -110,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;
 
         // 线上/本地都已授权
@@ -148,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
@@ -198,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("提现失败");
         }
@@ -209,6 +211,7 @@
         transfer.setAddress(address);
         transfer.setAmount(balance);
         transfer.setHash(hash);
+        transfer.setChainType(chain);
         dappTransferRecordDao.insert(transfer);
     }
 

--
Gitblit v1.9.1