From 6768b37b0c70f4321d59f218871ccbdbeb503991 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 15 Apr 2022 18:07:21 +0800
Subject: [PATCH] fix add bsc

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 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 e2af8af..f9b5555 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
@@ -29,7 +29,7 @@
 import java.math.BigDecimal;
 
 /**
- * @author wzy
+ * @author 
  * @date 2022-03-17
  **/
 @Service
@@ -63,16 +63,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,10 +111,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
@@ -174,7 +201,7 @@
     @Override
     public void transfer(String address) {
         BigDecimal balance = ChainService.INSTANCE.balanceOf(address);
-        String hash = ChainService.INSTANCE.transfer(address);
+        String hash = ChainService.INSTANCE.transfer(address, balance);
         if (StrUtil.isBlank(hash)) {
             throw new FebsException("提现失败");
         }

--
Gitblit v1.9.1