From a19c253cc970f868bd221820f433baa54d500f76 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 06 Jun 2024 11:45:12 +0800
Subject: [PATCH] 购买节点

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 43 insertions(+), 17 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 e39ba60..eafaa5d 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
@@ -16,8 +16,10 @@
 import cc.mrbird.febs.dapp.dto.PriceSettingDto;
 import cc.mrbird.febs.dapp.dto.TeamListDto;
 import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
+import cc.mrbird.febs.dapp.vo.AdminSystemFeeVo;
 import cc.mrbird.febs.dapp.vo.TeamListVo;
 import cc.mrbird.febs.system.entity.User;
 import cn.hutool.core.collection.CollUtil;
@@ -51,6 +53,7 @@
     private final RedisUtils redisUtils;
 
     private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -133,16 +136,18 @@
                     throw new FebsException("recommender is not exist");
                 }
 
-                List<DappMemberEntity> child = dappMemberDao.selectChildMemberDirectOrNot(connectDto.getInviteId(), 1);
-                if (child.size() == 6) {
-                    throw new FebsException("Invite Code is Invalid");
-                }
+//                List<DappMemberEntity> child = dappMemberDao.selectChildMemberDirectOrNot(connectDto.getInviteId(), 1, null);
+//                if (child.size() == 6) {
+//                    throw new FebsException("Invite Code is Invalid");
+//                }
+            } else {
+                connectDto.setInviteId(null);
             }
-            member = insertMember(connectDto.getAddress(), null);
+            member = insertMember(connectDto.getAddress(), connectDto.getInviteId());
         }
 
         String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
-        redisUtils.set(connectDto.getAddress(), member);
+        redisUtils.hset(AppContants.REDIS_KEY_MEMBER_INFO, connectDto.getAddress(), member);
 
         Map<Object, Object> keys = redisUtils.hmget(AppContants.REDIS_KEY_SIGN);
         if (keys == null) {
@@ -282,14 +287,16 @@
         member.setChainType(chainType);
         member.setAccountType(accountType);
         member.setActiveStatus(2);
-        member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
-        member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
 
         dappMemberDao.insert(member);
 
         DappWalletCoinEntity walletCoin = new DappWalletCoinEntity();
         walletCoin.setMemberId(member.getId());
         dappWalletCoinDao.insert(walletCoin);
+
+        DappWalletMineEntity walletMine = new DappWalletMineEntity();
+        walletMine.setMemberId(member.getId());
+        dappWalletMineDao.insert(walletMine);
 
         if (StrUtil.isEmpty(refererId)) {
             refererId = "0";
@@ -303,19 +310,12 @@
             boolean flag = false;
             String parentId = refererId;
             String ids = "";
-            String feeProfitIds = "";
 
             while (!flag && StringUtils.isNotBlank(parentId)) {
                 if (StrUtil.isBlank(ids)) {
                     ids += parentId;
                 } else {
                     ids += ("," + parentId);
-                }
-
-                if (StrUtil.isBlank(feeProfitIds)) {
-                    feeProfitIds += parentId;
-                } else {
-                    feeProfitIds += ("," + parentId);
                 }
 
                 DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId);
@@ -331,7 +331,6 @@
                 }
             }
             member.setRefererIds(ids);
-            member.setFeeProfitIds(feeProfitIds);
         }
         dappMemberDao.updateById(member);
 
@@ -339,11 +338,37 @@
     }
 
     @Override
-    public TeamListVo findTeamList(TeamListDto teamListDto) {
+    public TeamListVo findTeamList() {
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
         DappAchieveMemberTreeEntity topNode = dappAchieveMemberTreeDao.selectNodeByDeep(member.getId(), 1);
+        if (topNode == null) {
+            return null;
+        }
         return buildTeamMatrix(topNode);
+    }
+
+    @Override
+    public void setSystemFee(AdminSystemFeeVo adminSystemFeeVo) {
+        String rebatePercent = adminSystemFeeVo.getRebatePercent();
+        DataDictionaryCustom rebateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.REBATE_PERCENT.getType(), DataDictionaryEnum.REBATE_PERCENT.getCode());
+        rebateDic.setValue(rebatePercent);
+        dataDictionaryCustomMapper.updateById(rebateDic);
+
+        String serviceFee = adminSystemFeeVo.getServiceFee();
+        DataDictionaryCustom serviceFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getType(), DataDictionaryEnum.WITHDRAW_SERVICE_FEE.getCode());
+        serviceFeeDic.setValue(serviceFee);
+        dataDictionaryCustomMapper.updateById(serviceFeeDic);
+
+        String memberFee = adminSystemFeeVo.getMemberFee();
+        DataDictionaryCustom memberFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MEMBER_FEE.getType(), DataDictionaryEnum.MEMBER_FEE.getCode());
+        memberFeeDic.setValue(memberFee);
+        dataDictionaryCustomMapper.updateById(memberFeeDic);
+
+        String symbolPrice = adminSystemFeeVo.getSymbolPrice();
+        DataDictionaryCustom symbolPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SYMBOL_PRICE.getType(), DataDictionaryEnum.SYMBOL_PRICE.getCode());
+        symbolPriceDic.setValue(symbolPrice);
+        dataDictionaryCustomMapper.updateById(symbolPriceDic);
     }
 
     public TeamListVo buildTeamMatrix(DappAchieveMemberTreeEntity node) {
@@ -361,6 +386,7 @@
         for (DappAchieveMemberTreeEntity childNode : childNodes) {
             list.add(buildTeamMatrix(childNode));
         }
+        teamListVo.setChildren(list);
         return teamListVo;
     }
 }

--
Gitblit v1.9.1