From 578437af52e1cb25c661efd207273bf49a6e7773 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 31 Jul 2023 18:13:04 +0800
Subject: [PATCH] 商品、订单

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   63 +++++++++++++++++++++++++------
 1 files changed, 51 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 1227838..a3dee21 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
@@ -9,6 +9,7 @@
 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.contract.andao.AndaoContractMain;
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
@@ -32,6 +33,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.web3j.utils.Strings;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -138,25 +140,18 @@
 
         if (member == null) {
             String referenceID = null;
+            //
             if (!"asdf4321".equals(connectDto.getInviteId())) {
-//                DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
                 DappMemberEntity parent = dappMemberDao.selectByAddress(connectDto.getInviteId(), null);
                 if (parent == null) {
                     throw new FebsException("recommender is not exist");
                 }
                 referenceID = parent.getInviteId();
 
-//                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(), referenceID);
-            //升级用户的代理等级
-//            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
-//            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
         }
 
         String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
@@ -562,6 +557,37 @@
         );
         dappMemberInfoVo.setCoinAPrice((ObjectUtil.isEmpty(coinAPriceDic) ? new BigDecimal("1") : new BigDecimal(coinAPriceDic.getValue()))
                 .setScale(12,BigDecimal.ROUND_DOWN));
+
+        /**
+         * 今日涨幅
+         */
+        //最新的一条记录
+        DappAKlineEntity dappAKlineNow = dappAKlineMapper.selectOneByType();
+        BigDecimal closePriceNow = dappAKlineNow.getClosePrice();
+        //拿日线的最后一条数据
+        DappAKlineEntity dappAKlineStart = dappAKlineMapper.selectDayByType();
+        BigDecimal closePriceStart = dappAKlineStart.getClosePrice();
+
+        BigDecimal subtract = closePriceNow.subtract(closePriceStart);
+        BigDecimal bigDecimal = subtract.divide(closePriceStart, 4, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN);
+        dappMemberInfoVo.setTodayIncrease(bigDecimal);
+
+        /**
+         * 全网剩余ANDAO总量,燃烧ANDAO总量
+         */
+        DataDictionaryCustom coinACntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PoolEnum.COIN_A_CNT.getType(),
+                PoolEnum.COIN_A_CNT.getCode()
+        );
+        dappMemberInfoVo.setAndaoNum(
+                ObjectUtil.isEmpty(coinACntDic) ?
+                new BigDecimal("0") :
+                new BigDecimal(coinACntDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN)
+        );
+
+        BigDecimal bigDecimal1 = dappFundFlowDao.selectSumAmountByType(FundFlowEnum.A_COIN_FIRE.getCode());
+        dappMemberInfoVo.setFireAndaoNum(bigDecimal1.setScale(2,BigDecimal.ROUND_DOWN));
+
         return new FebsResponse().success().data(dappMemberInfoVo);
     }
 
@@ -630,11 +656,13 @@
                 myInviteChildInfoVo.setAddress(child.getAddress());
                 myInviteChildInfoVo.setAccountType(child.getAccountType());
                 DappUsdtPerkEntity childUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(child.getId());
-                if(ObjectUtil.isEmpty(dappUsdtPerkEntity)){
-                    dappUsdtPerkEntity = new DappUsdtPerkEntity();
-                    dappUsdtPerkEntity.setMemberId(child.getId());
-                    dappUsdtPerkEntityMapper.insert(dappUsdtPerkEntity);
+//                BigDecimal achieveAmountByMemberId = dappUsdtPerkEntityMapper.selectAchieveAmountByMemberId(child.getId());
+                if(ObjectUtil.isEmpty(childUsdtPerkEntity)){
+                    childUsdtPerkEntity = new DappUsdtPerkEntity();
+                    childUsdtPerkEntity.setMemberId(child.getId());
+                    dappUsdtPerkEntityMapper.insert(childUsdtPerkEntity);
                 }
+
                 myInviteChildInfoVo.setMemberAchieve(ObjectUtil.isEmpty(childUsdtPerkEntity.getAchieveAmount()) ? BigDecimal.ZERO : childUsdtPerkEntity.getAchieveAmount());
                 HashMap<String, BigDecimal> childMaxMinAchieve = getMaxMinAchieve(child.getId());
                 myInviteChildInfoVo.setMaxAchieve(childMaxMinAchieve.get(AppContants.MAXACHIEVE));
@@ -749,6 +777,17 @@
         return new FebsResponse().success();
     }
 
+    public static List<List<String>> partitionList(List<String> originalList, int partitionSize) {
+        List<List<String>> partitionedList = new ArrayList<>();
+        int size = originalList.size();
+        for (int i = 0; i < size; i += partitionSize) {
+            int end = Math.min(size, i + partitionSize);
+            List<String> sublist = originalList.subList(i, end);
+            partitionedList.add(sublist);
+        }
+        return partitionedList;
+    }
+
     /**
      * 获取用户的大小区业绩
      * @param memberId

--
Gitblit v1.9.1