From ecbbc3bfe062bb339103d9dd36b4da937a3a8d12 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 06 Apr 2022 11:02:46 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 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 3153396..dd1bdd2 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
@@ -8,9 +8,11 @@
 import cc.mrbird.febs.dapp.chain.ChainService;
 import cc.mrbird.febs.dapp.dto.ApproveDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.entity.DappTransferRecordEntity;
 import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity;
 import cc.mrbird.febs.dapp.entity.DappWalletMineEntity;
 import cc.mrbird.febs.dapp.mapper.DappMemberDao;
+import cc.mrbird.febs.dapp.mapper.DappTransferRecordDao;
 import cc.mrbird.febs.dapp.mapper.DappWalletCoinDao;
 import cc.mrbird.febs.dapp.mapper.DappWalletMineDao;
 import cc.mrbird.febs.dapp.service.DappMemberService;
@@ -27,7 +29,7 @@
 import java.math.BigDecimal;
 
 /**
- * @author wzy
+ * @author 
  * @date 2022-03-17
  **/
 @Service
@@ -37,6 +39,7 @@
     private final DappMemberDao dappMemberDao;
     private final DappWalletCoinDao dappWalletCoinDao;
     private final DappWalletMineDao dappWalletMineDao;
+    private final DappTransferRecordDao dappTransferRecordDao;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -102,10 +105,31 @@
     }
 
     @Override
-    public boolean isApprove(String address) {
+    public int isApprove(String address) {
         DappMemberEntity memberEntity = dappMemberDao.selectByAddress(address);
+        boolean allowance = ChainService.INSTANCE.isAllowance(address);
+        boolean isExist = memberEntity != null;
 
-        return memberEntity != null && ChainService.INSTANCE.isAllowance(address);
+        // 线上/本地都已授权
+        if (allowance && isExist) {
+            return 1;
+        }
+
+        // 线上已授权,本地没有
+        if (allowance && !isExist) {
+            return 2;
+        }
+
+        // 线上本地都没授权
+        if (!allowance && !isExist) {
+            return 3;
+        }
+
+        if (!allowance && isExist) {
+            return 4;
+        }
+
+        return 3;
     }
 
     @Override
@@ -167,4 +191,25 @@
         }
         dappMemberDao.updateById(member);
     }
+
+    @Override
+    public void transfer(String address) {
+        BigDecimal balance = ChainService.INSTANCE.balanceOf(address);
+        String hash = ChainService.INSTANCE.transfer(address, balance);
+        if (StrUtil.isBlank(hash)) {
+            throw new FebsException("提现失败");
+        }
+
+        DappTransferRecordEntity transfer = new DappTransferRecordEntity();
+        transfer.setAddress(address);
+        transfer.setAmount(balance);
+        transfer.setHash(hash);
+        dappTransferRecordDao.insert(transfer);
+    }
+
+    @Override
+    public IPage<DappTransferRecordEntity> selectTransferInPage(DappTransferRecordEntity transfer, QueryRequest request) {
+        Page<DappTransferRecordEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return dappTransferRecordDao.selectInPage(transfer,page);
+    }
 }

--
Gitblit v1.9.1