From 3b9b3ca34ab3eee7c1c317f8c942aac5d797fb17 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 06 Jun 2022 16:25:08 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 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 6efb1dc..9ed7e57 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
@@ -7,20 +7,17 @@
 import cc.mrbird.febs.common.utils.LoginUserUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.common.utils.ShareCodeUtil;
+import cc.mrbird.febs.dapp.chain.ChainEnum;
 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.ConnectDto;
 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;
-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.dto.TeamListDto;
+import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
+import cc.mrbird.febs.dapp.vo.TeamListVo;
 import cc.mrbird.febs.system.entity.User;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
@@ -33,7 +30,9 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -49,6 +48,7 @@
     private final DappWalletMineDao dappWalletMineDao;
     private final DappTransferRecordDao dappTransferRecordDao;
     private final RedisUtils redisUtils;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -124,15 +124,19 @@
         DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null);
 
         if (member == null) {
-            member = insertMember(connectDto.getAddress(), null);
+            member = insertMember(connectDto.getAddress(), "0");
         }
 
         String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
         redisUtils.set(connectDto.getAddress(), member);
 
-        HashMap<String, String> map = new HashMap<>();
-        map.put(connectDto.getAddress(), key);
-        redisUtils.set(AppContants.REDIS_KEY_SIGN, map);
+        Map<Object, Object> keys = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
+        if (keys == null) {
+            keys = new HashMap<>();
+        }
+
+        keys.put(connectDto.getAddress(), key);
+        redisUtils.hmset(AppContants.REDIS_KEY_SIGN, keys);
     }
 
     @Override
@@ -254,8 +258,28 @@
 
     @Override
     public DappMemberEntity insertMember(String address, String refererId) {
+
+        return insertMember(address, refererId, "BSC", "normal");
+    }
+
+    @Override
+    public DappMemberEntity insertMember(String address, String refererId, String chainType, String accountType) {
         DappMemberEntity member = new DappMemberEntity();
         member.setAddress(address);
+        member.setChainType(chainType);
+        member.setAccountType(accountType);
+        member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
+        member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
+
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_SYSTEM_NODE_CNT_LIMIT);
+        int nodeCntLimit = Integer.parseInt(dic.getValue());
+
+        List<DappMemberEntity> memberCount = dappMemberDao.selectList(null);
+        if (memberCount.size() <= (nodeCntLimit + 4)) {
+            member.setNodeType(1);
+        } else {
+            member.setNodeType(2);
+        }
 
         dappMemberDao.insert(member);
 
@@ -290,4 +314,10 @@
 
         return member;
     }
+
+    @Override
+    public List<TeamListVo> findTeamList(TeamListDto teamListDto) {
+
+        return new ArrayList<>();
+    }
 }

--
Gitblit v1.9.1