From 6723ba1080ae34b304add908fdad0a3ed2b21dd6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 26 Jun 2023 10:28:09 +0800
Subject: [PATCH] 去掉账单明细,改成全网数据

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  190 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 180 insertions(+), 10 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 ce24af0..5d15317 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
@@ -12,6 +12,8 @@
 import cc.mrbird.febs.dapp.dto.*;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.enumerate.FundFlowEnum;
+import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum;
 import cc.mrbird.febs.dapp.enumerate.PoolEnum;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappMemberService;
@@ -135,11 +137,14 @@
         DappMemberEntity member = dappMemberDao.selectByAddress(connectDto.getAddress(), null);
 
         if (member == null) {
+            String referenceID = null;
             if (!"asdf4321".equals(connectDto.getInviteId())) {
-                DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(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) {
@@ -148,7 +153,7 @@
             } else {
                 connectDto.setInviteId(null);
             }
-            member = insertMember(connectDto.getAddress(), connectDto.getInviteId());
+            member = insertMember(connectDto.getAddress(), referenceID);
             //升级用户的代理等级
 //            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
 //            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
@@ -510,6 +515,28 @@
     public FebsResponse getMemberInfo() {
         DappMemberEntity member = LoginUserUtil.getAppUser();
         DappMemberInfoVo dappMemberInfoVo = dappMemberDao.selectByMemberId(member.getId());
+        if(StrUtil.isNotEmpty(dappMemberInfoVo.getAccountType())){
+            String levelDescription = MemberLevelEnum.MEMBER.getLevelDescription(dappMemberInfoVo.getAccountType());
+            dappMemberInfoVo.setAccountType(levelDescription);
+        }
+
+        BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
+                FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
+        dappMemberInfoVo.setAmountPerkTotal(amountPerkTotal);
+
+        DataDictionaryCustom ausdPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PoolEnum.TRANSFER_A_AUSD_PERCENT.getType(),
+                PoolEnum.TRANSFER_A_AUSD_PERCENT.getCode()
+        );
+        BigDecimal ausdPercent = new BigDecimal(ausdPercentDic.getValue());
+        dappMemberInfoVo.setAusdtFee(ausdPercent);
+
+        DataDictionaryCustom aroundFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getType(),
+                PoolEnum.ANDAO_MEMBER_TO_MENBER_PERCENT.getCode()
+        );
+        BigDecimal aroundFee = new BigDecimal(aroundFeeDic.getValue());
+        dappMemberInfoVo.setAroundFee(aroundFee);
         //ausd价格
         DataDictionaryCustom ausdPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 PoolEnum.TRANSFER_A_AUSD_PRICE.getType(),
@@ -533,8 +560,47 @@
                 PoolEnum.COIN_A_PRICE.getType(),
                 PoolEnum.COIN_A_PRICE.getCode()
         );
-        dappMemberInfoVo.setCoinAPrice(ObjectUtil.isEmpty(coinAPriceDic) ? new BigDecimal("1") : new BigDecimal(coinAPriceDic.getValue()));
+        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);
+    }
+
+    public static void main(String[] args) {
+
+        BigDecimal bigDecimal = new BigDecimal(1).setScale(10, BigDecimal.ROUND_DOWN);
+        System.out.println(bigDecimal);
+
     }
 
     @Override
@@ -556,7 +622,7 @@
         }else if(4 == type){
             redisKey = AppContants.K_LINE_MONTH;
         }else{
-            redisKey = AppContants.K_LINE_HOUR;
+            redisKey = AppContants.K_LINE_NOW;
         }
         Object o = redisUtils.get(redisKey);
         if(ObjectUtil.isNotEmpty(o)){
@@ -582,7 +648,7 @@
         myInviteInfoVo.setMemberAchieve(dappUsdtPerkEntity.getAchieveAmount());
         String refererId = dappMemberEntity.getRefererId();
         DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(refererId);
-        myInviteInfoVo.setReferenceAddress(parentMember.getAddress());
+        myInviteInfoVo.setReferenceAddress(ObjectUtil.isEmpty(parentMember) ? "-" : parentMember.getAddress());
         HashMap<String, BigDecimal> maxMinAchieve = getMaxMinAchieve(memberId);
         myInviteInfoVo.setMaxAchieve(maxMinAchieve.get(AppContants.MAXACHIEVE));
         myInviteInfoVo.setMinAchieve(maxMinAchieve.get(AppContants.MINACHIEVE));
@@ -595,12 +661,14 @@
                 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(childUsdtPerkEntity.getAchieveAmount());
+
+                myInviteChildInfoVo.setMemberAchieve(ObjectUtil.isEmpty(childUsdtPerkEntity.getAchieveAmount()) ? BigDecimal.ZERO : childUsdtPerkEntity.getAchieveAmount());
                 HashMap<String, BigDecimal> childMaxMinAchieve = getMaxMinAchieve(child.getId());
                 myInviteChildInfoVo.setMaxAchieve(childMaxMinAchieve.get(AppContants.MAXACHIEVE));
                 myInviteChildInfoVo.setMinAchieve(childMaxMinAchieve.get(AppContants.MINACHIEVE));
@@ -612,6 +680,108 @@
         return myInviteInfoVo;
     }
 
+    @Override
+    public FebsResponse getFundFlowInfo() {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        Long memberId = member.getId();
+        FundFlowInfoVo fundFlowInfoVo = new FundFlowInfoVo();
+        BigDecimal myDonateCnt = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
+                FundFlowEnum.BUY_A_COIN.getCode(), 2);
+        fundFlowInfoVo.setMyDonateCnt(myDonateCnt.abs());
+        fundFlowInfoVo.setMyDonateCntNum(FundFlowEnum.BUY_A_COIN.getCode());
+
+        BigDecimal amountPerkTotal = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(member.getId(),
+                FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode(), 2);
+        fundFlowInfoVo.setAmountPerkTotal(amountPerkTotal.abs());
+        fundFlowInfoVo.setAmountPerkTotalNum(FundFlowEnum.MEMBER_AMOUNT_PERK_TOTAL.getCode());
+
+        DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(memberId);
+        fundFlowInfoVo.setAmountPerkAva(ObjectUtil.isEmpty(dappUsdtPerkEntity) ? BigDecimal.ZERO : dappUsdtPerkEntity.getAmount());
+
+        BigDecimal directAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DIRECT_A_PERCENT.getCode(), 2);
+        fundFlowInfoVo.setDirectAmount(directAmount);
+        fundFlowInfoVo.setDirectAmountNum(FundFlowEnum.DIRECT_A_PERCENT.getCode());
+
+        BigDecimal staticAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.POOL_MEMBER_A_CNT.getCode(), 2);
+        fundFlowInfoVo.setStaticAmount(staticAmount);
+        fundFlowInfoVo.setStaticAmountNum(FundFlowEnum.POOL_MEMBER_A_CNT.getCode());
+
+        BigDecimal nodeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode(), 2);
+        fundFlowInfoVo.setNodeAmount(nodeAmount);
+        fundFlowInfoVo.setNodeAmountNum(FundFlowEnum.NODE_A_PERCENT_TO_MEMBER.getCode());
+
+        BigDecimal levelEqualAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode(), 2);
+        fundFlowInfoVo.setLevelEqualAmount(levelEqualAmount);
+        fundFlowInfoVo.setLevelEqualAmountNum(FundFlowEnum.DAO_5_NODE_EQUALS_PERK.getCode());
+
+        BigDecimal levelAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode(), 2);
+        fundFlowInfoVo.setLevelAmount(levelAmount);
+        fundFlowInfoVo.setLevelAmountNum(FundFlowEnum.LEVEL_A_PERCENT_CNT_MEMBER.getCode());
+
+        BigDecimal daoThreeAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_3_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoThreeAmount(daoThreeAmount);
+        fundFlowInfoVo.setDaoThreeAmountNum(FundFlowEnum.DAO_3_NODE_PERK.getCode());
+
+        BigDecimal daoFourAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_4_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoFourAmount(daoFourAmount);
+        fundFlowInfoVo.setDaoFourAmountNum(FundFlowEnum.DAO_4_NODE_PERK.getCode());
+
+        BigDecimal daoFiveAmount = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,
+                FundFlowEnum.DAO_5_NODE_PERK.getCode(), 2);
+        fundFlowInfoVo.setDaoFiveAmount(daoFiveAmount);
+        fundFlowInfoVo.setDaoFiveAmountNum(FundFlowEnum.DAO_5_NODE_PERK.getCode());
+
+        return new FebsResponse().success().data(fundFlowInfoVo);
+    }
+
+    @Override
+    public FebsResponse insideWithYes(Long id) {
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        dappMemberEntity.setNodeType(1);
+        dappMemberEntity.setAccountType(MemberLevelEnum.NODE_5.getType());
+        dappMemberDao.updateById(dappMemberEntity);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse insideWithNo(Long id) {
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(id);
+        if(ObjectUtil.isEmpty(dappMemberEntity)) {
+            return new FebsResponse().fail().message("会员信息不存在");
+        }
+        dappMemberEntity.setNodeType(2);
+        dappMemberEntity.setAccountType(MemberLevelEnum.MEMBER.getType());
+        dappMemberDao.updateById(dappMemberEntity);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
+        return dataDictionaryCustomMapper.getAgentLevelOption();
+    }
+
+    @Override
+    public FebsResponse agentLevelSetUpdate(AgentLevelSetUpdateDto agentLevelSetUpdateDto) {
+        Long memberId = agentLevelSetUpdateDto.getId();
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+        if(ObjectUtil.isEmpty(dappMemberEntity)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        dappMemberEntity.setAccountType(agentLevelSetUpdateDto.getLevelCode());
+        dappMemberDao.updateById(dappMemberEntity);
+        return new FebsResponse().success();
+    }
+
     /**
      * 获取用户的大小区业绩
      * @param memberId

--
Gitblit v1.9.1