From 829f629756e5402bcd3e9f6ef1f9c6dbffbabb11 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 17 Apr 2024 14:46:29 +0800
Subject: [PATCH] 55测试环境

---
 src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java |  365 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 341 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
index 0c844f0..b826d9f 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -12,22 +12,28 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
+import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.member.dao.MemberDao;
 import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
 import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.modules.yunding.dao.YdBasicLevelSettingDao;
 import com.xcong.excoin.modules.yunding.dao.YdBasicSettingDao;
 import com.xcong.excoin.modules.yunding.dao.YdOrderDao;
 import com.xcong.excoin.modules.yunding.dao.YdProductDao;
-import com.xcong.excoin.modules.yunding.dto.InsureChangeUsdtDto;
-import com.xcong.excoin.modules.yunding.dto.PayProductDto;
-import com.xcong.excoin.modules.yunding.dto.YdOrderListDto;
-import com.xcong.excoin.modules.yunding.dto.YdProductListDto;
+import com.xcong.excoin.modules.yunding.dto.*;
+import com.xcong.excoin.modules.yunding.entity.YdBasicLevelSettingEntity;
 import com.xcong.excoin.modules.yunding.entity.YdBasicSettingEntity;
 import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
 import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
 import com.xcong.excoin.modules.yunding.service.YunDingService;
 import com.xcong.excoin.modules.yunding.vo.*;
+import com.xcong.excoin.rabbit.producer.YunDingProducter;
+import com.xcong.excoin.utils.LogRecordUtils;
+import com.xcong.excoin.utils.RedisUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -35,7 +41,6 @@
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 
 @Slf4j
@@ -50,6 +55,16 @@
     private YdOrderDao ydOrderDao;
     @Resource
     private MemberWalletCoinDao memberWalletCoinDao;
+    @Resource
+    private MemberAccountMoneyChangeDao memberAccountMoneyChangeDao;
+    @Resource
+    private YdBasicLevelSettingDao ydBasicLevelSettingDao;
+    @Resource
+    private MemberDao memberDao;
+    @Autowired
+    private YunDingProducter yunDingProducter;
+    @Autowired
+    private RedisUtils redisUtils;
 
     @Override
     public Result findAllInfo() {
@@ -92,10 +107,16 @@
             for(YdProductVo ydProductVo : records){
                 ydProductVo.setProfitT(prifitT);
 
-                if(ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) {
+                if(ydProductVo.getSurplusT().compareTo(BigDecimal.ZERO) < 1) {
                     ydProductVo.setStatus(2);
-                } else {
-                    ydProductVo.setStatus(1);
+                }
+
+                Integer shelvesDays = ydProductVo.getShelvesDays();
+                String proUnit = ydProductVo.getProUnit();
+                if(shelvesDays == 0){
+                    ydProductVo.setShelvesDaysStr("待定");
+                }else{
+                    ydProductVo.setShelvesDaysStr(proUnit+"+"+shelvesDays);
                 }
             }
         }
@@ -122,16 +143,29 @@
         /**
          *产出规则
          */
-        Date date = DateUtil.date();
-        ydProductVo.setNowTime(date);
         //上架天数
         Integer shelvesDays = ydProductVo.getShelvesDays();
+        String proUnit = ydProductVo.getProUnit();
+        if(shelvesDays == 0){
+            ydProductVo.setGetType(2);
+            ydProductVo.setShelvesDaysStr("待定");
+        }else{
+            ydProductVo.setGetType(1);
+            ydProductVo.setShelvesDaysStr(proUnit+"+"+shelvesDays);
+        }
+
+        Date date = DateUtil.date();
+        ydProductVo.setNowTime(date);
         Date workTime = DateUtil.offsetDay(date, shelvesDays);
         ydProductVo.setWorkTime(workTime);
         //服务周期
         Integer proCycle = ydProductVo.getProCycle();
         Date endTime = DateUtil.offsetDay(workTime, proCycle);
         ydProductVo.setEndTime(endTime);
+
+        if (ydProductVo.getSurplusT().compareTo(BigDecimal.ZERO) < 1) {
+            ydProductVo.setStatus(2);
+        }
         return Result.ok(ydProductVo);
     }
 
@@ -159,7 +193,7 @@
          */
         MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
         Long memberId = memberEntity.getId();
-//        Long memberId = 28L;
+
         String tradePassword = payProductDto.getTradePassword();
         if(StrUtil.isEmpty(tradePassword)){
             return Result.fail("请输入交易密码");
@@ -184,6 +218,40 @@
         if(ObjectUtil.isEmpty(ydProductEntity)){
             return Result.fail("请重新选择产品");
         }
+
+        Integer status = ydProductEntity.getStatus();
+        if(YdProductEntity.STATUE_WORK != status){
+            if(YdProductEntity.STATUE_END == status){
+                return Result.fail("产品已售罄");
+            }
+            if(YdProductEntity.STATUE_READY == status){
+                return Result.fail("产品未开售");
+            }
+        }
+
+        //限购总量
+        Integer limitedNum = ydProductEntity.getLimitedNum();
+        //获取目前待生效,已生效的总T数
+        int quantityOwn = 0;
+        QueryWrapper<YdOrderEntity> powerReradyQuery = new QueryWrapper<>();
+        powerReradyQuery.eq("member_id",memberId);
+        powerReradyQuery.eq("product_id",payProductDto.getId());
+        powerReradyQuery.eq("type",YdOrderEntity.PRODUCT_ORDER);
+        powerReradyQuery.ne("state",YdOrderEntity.ORDER_STATE_END);
+        List<YdOrderEntity> powerReradyQuerys = ydOrderDao.selectList(powerReradyQuery);
+        if(CollUtil.isNotEmpty(powerReradyQuerys)){
+            for(YdOrderEntity ydOrderEntity : powerReradyQuerys){
+                quantityOwn = quantityOwn + ydOrderEntity.getQuantity();
+            }
+        }
+        int quantityInt = quantity.intValue();
+        if(quantityOwn + quantityInt > limitedNum){
+            return Result.fail("产品限购"+limitedNum);
+        }
+
+//        if (quantity.compareTo(BigDecimal.valueOf(ydProductEntity.getLimitedNum())) < 1) {
+//            return Result.fail("产品限购" + ydProductEntity.getLimitedNum());
+//        }
         BigDecimal salePrice = ydProductEntity.getSalePrice();
         //剩余产品数量
         BigDecimal surplusT = ydProductEntity.getSurplusT();
@@ -209,6 +277,7 @@
         ydOrderEntity.setTotalProfit(BigDecimal.ZERO);
         ydOrderEntity.setTodayProfit(BigDecimal.ZERO);
         ydOrderEntity.setState(YdOrderEntity.ORDER_STATE_READY);
+        ydOrderEntity.setType(YdOrderEntity.PRODUCT_ORDER);
         Date date = DateUtil.date();
         ydOrderEntity.setBuyTime(date);
         //上架天数
@@ -221,6 +290,11 @@
         ydOrderEntity.setEndTime(endTime);
         ydOrderEntity.setReturnState(YdOrderEntity.RETURN_STATE_READY);
         ydOrderDao.insert(ydOrderEntity);
+        //生成流水记录
+        LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买产品", multiplyUsdt,
+                "USDT", 1, 3, ydOrderEntity.getId());
+
+        yunDingProducter.sendYunDingUsdtProfit(ydOrderEntity.getId());
         return Result.ok("支付成功");
     }
 
@@ -251,13 +325,14 @@
 
         MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
         Long memberId = memberEntity.getId();
-//        Long memberId = 28L;
+//        Long memberId = 447L;
         OrderAllInfoVo orderAllInfoVo = new OrderAllInfoVo();
         DecimalFormat decimalFormat = new DecimalFormat("0.0000#");
         //历史总收益
         BigDecimal totalProfitAll = BigDecimal.ZERO;
         QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
         objectQueryWrapper.eq("member_id",memberId);
+        objectQueryWrapper.eq("type",YdOrderEntity.PRODUCT_ORDER);
         List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
         if(CollUtil.isNotEmpty(ydOrderEntities)){
             for(YdOrderEntity order : ydOrderEntities){
@@ -271,11 +346,17 @@
         QueryWrapper<YdOrderEntity> powerNowQuery = new QueryWrapper<>();
         powerNowQuery.eq("member_id",memberId);
         powerNowQuery.eq("state",YdOrderEntity.ORDER_STATE_WORK);
+        powerNowQuery.eq("type",YdOrderEntity.PRODUCT_ORDER);
         List<YdOrderEntity> PowerNowQuery = ydOrderDao.selectList(powerNowQuery);
         if(CollUtil.isNotEmpty(PowerNowQuery)){
             for(YdOrderEntity order : PowerNowQuery){
                 int quantity = order.getQuantity();
-                powerNow = powerNow + quantity;
+                Long productId = order.getProductId();
+                YdProductEntity ydProductEntity = ydProductDao.selectById(productId);
+                if("XCH".equals(ydProductEntity.getCoin())){
+                    Integer proNum = ydProductEntity.getProNum();
+                    powerNow = powerNow + quantity*proNum;
+                }
             }
         }
         orderAllInfoVo.setPowerNow(powerNow);
@@ -283,15 +364,38 @@
         int powerReady = 0;
         QueryWrapper<YdOrderEntity> powerReradyQuery = new QueryWrapper<>();
         powerReradyQuery.eq("member_id",memberId);
+        powerReradyQuery.eq("type",YdOrderEntity.PRODUCT_ORDER);
         powerReradyQuery.eq("state",YdOrderEntity.ORDER_STATE_READY);
-        List<YdOrderEntity> PowerReradyQuery = ydOrderDao.selectList(powerNowQuery);
-        if(CollUtil.isNotEmpty(PowerReradyQuery)){
-            for(YdOrderEntity order : PowerReradyQuery){
+        List<YdOrderEntity> powerReradyQuerys = ydOrderDao.selectList(powerReradyQuery);
+        if(CollUtil.isNotEmpty(powerReradyQuerys)){
+            for(YdOrderEntity order : powerReradyQuerys){
                 int quantity = order.getQuantity();
-                powerReady = powerReady + quantity;
+                Long productId = order.getProductId();
+                YdProductEntity ydProductEntity = ydProductDao.selectById(productId);
+                if("XCH".equals(ydProductEntity.getCoin())){
+                    Integer proNum = ydProductEntity.getProNum();
+                    powerReady = powerReady + quantity*proNum;
+                }
             }
         }
         orderAllInfoVo.setPowerReady(powerReady);
+        //昨日总收益
+        BigDecimal lastdayProfit = BigDecimal.ZERO;
+        Date date = DateUtil.date();
+        Date dateTime = DateUtil.offsetDay(date, 1);
+        QueryWrapper<MemberAccountMoneyChange> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("type",4);
+        queryWrapper.eq("member_id",memberId);
+        queryWrapper.eq("status",1);
+        queryWrapper.like("create_time",DateUtil.formatDate(dateTime));
+        List<MemberAccountMoneyChange> memberAccountMoneyChanges = memberAccountMoneyChangeDao.selectList(queryWrapper);
+        if(CollUtil.isNotEmpty(memberAccountMoneyChanges)){
+            for(MemberAccountMoneyChange memberAccountMoneyChange : memberAccountMoneyChanges){
+                BigDecimal amount = memberAccountMoneyChange.getAmount();
+                lastdayProfit = lastdayProfit.add(amount);
+            }
+        }
+        orderAllInfoVo.setLastdayProfit(decimalFormat.format(lastdayProfit));
         return Result.ok(orderAllInfoVo);
     }
 
@@ -310,6 +414,7 @@
         log.info("转换成USDT");
         MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
         Long memberId = memberEntity.getId();
+//        Long memberId = 442L;
         ChangeVo changeVo = new ChangeVo();
         BigDecimal currentPrice = BigDecimal.ZERO;
         Wrapper<YdBasicSettingEntity> queryWrapper = new QueryWrapper<>();
@@ -340,33 +445,46 @@
     @Override
     @Transactional
     public Result insureChangeUsdt(InsureChangeUsdtDto insureChangeUsdtdto) {
-        log.info("转换成USDT");
+        log.info("确认转换成USDT");
         MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
         Long memberId = memberEntity.getId();
+
+//        Long memberId = 442L;
+//        MemberEntity memberEntity = memberDao.selectById(memberId);
         /**
          * 验证入参
          *
          *     USDT账户增加
          *     XCH账户减少
          */
+        String tradePassword = insureChangeUsdtdto.getTradePassword();
+        if(StrUtil.isEmpty(tradePassword)){
+            return Result.fail("请输入交易密码");
+        }
+        String tradePasswordOwn = memberEntity.getTradePassword();
+        if(StrUtil.isEmpty(tradePasswordOwn)){
+            return Result.fail("请设置交易密码");
+        }
+        String tradePasswords = SecureUtil.md5(tradePassword);
+        if(!StrUtil.equals(tradePasswordOwn,tradePasswords)){
+            return Result.fail("请输入正确的交易密码");
+        }
+
         BigDecimal xchNum = insureChangeUsdtdto.getXchNum();
         if(BigDecimal.ZERO.compareTo(xchNum) >= 0){
             return Result.fail("请输入正确的数量");
         }
-        BigDecimal currentPrice = insureChangeUsdtdto.getCurrentPrice();
-        if(BigDecimal.ZERO.compareTo(currentPrice) >= 0){
-            return Result.fail("XCH价格异常,请重试");
-        }
+
         MemberWalletCoinEntity xch = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "XCH");
         BigDecimal totalBalance = xch.getTotalBalance();
         BigDecimal subtractTotalBalance = totalBalance.subtract(xchNum);
-        if(BigDecimal.ZERO.compareTo(subtractTotalBalance) >= 0){
+        if(BigDecimal.ZERO.compareTo(subtractTotalBalance) > 0){
             return Result.fail("XCH数量不足");
         }
 
         BigDecimal availableBalance = xch.getAvailableBalance();
         BigDecimal subtractAvailableBalance = availableBalance.subtract(xchNum);
-        if(BigDecimal.ZERO.compareTo(subtractAvailableBalance) >= 0){
+        if(BigDecimal.ZERO.compareTo(subtractAvailableBalance) > 0){
             return Result.fail("XCH数量不足");
         }
         //xch减少
@@ -374,15 +492,214 @@
         xch.setAvailableBalance(subtractAvailableBalance);
         memberWalletCoinDao.updateById(xch);
 
+        BigDecimal currentPrice = BigDecimal.ZERO;
+        //获取当前价
+        Wrapper<YdBasicSettingEntity> queryWrapper = new QueryWrapper<>();
+        List<YdBasicSettingEntity> ydBasicSettingEntities = ydBasicSettingDao.selectList(queryWrapper);
+        if(CollUtil.isNotEmpty(ydBasicSettingEntities)){
+            YdBasicSettingEntity ydBasicSettingEntity = ydBasicSettingEntities.get(0);
+            currentPrice = ydBasicSettingEntity.getCurrentPrice();
+        }
         //USDT账户增加
         BigDecimal multiply = xchNum.multiply(currentPrice);
         MemberWalletCoinEntity usdt = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "USDT");
         usdt.setTotalBalance(usdt.getTotalBalance().add(multiply));
         usdt.setAvailableBalance(usdt.getAvailableBalance().add(multiply));
         memberWalletCoinDao.updateById(usdt);
+
+        //生成流水记录
+        LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "XCH兑换"+multiply+"USDT", xchNum,
+                "USDT", 1, 7, memberId);
         return Result.ok("操作成功");
     }
 
+    @Override
+    public Result getAgentList(YdAgentDto ydAgentDto) {
+        log.info("获取代理级别列表");
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+        Long memberId = memberEntity.getId();
+//        Long memberId = 442L;
+        Page<AgentVo> page = new Page<>(ydAgentDto.getPageNum(), ydAgentDto.getPageSize());
+        YdBasicLevelSettingEntity ydBasicLevelSettingEntity = new YdBasicLevelSettingEntity();
+        IPage<AgentVo> list = ydOrderDao.getAgentList(page, ydBasicLevelSettingEntity);
+        return Result.ok(list);
+    }
+
+    @Override
+    @Transactional
+    public Result bugAgentLevel(BugAgentLeveldto bugAgentLeveldto) {
+        log.info("购买代理级别");
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+        Long memberId = memberEntity.getId();
+        /**
+         * 获取代理级别(Level字段越小,级别越高)
+         *      不能向下购买代理级别
+         *      不能购买同级别
+         * 获取用户当前USDT余额
+         *      减少用户的USDT余额
+         *      更新用户的代理级别
+         */
+
+        String tradePassword = bugAgentLeveldto.getTradePassword();
+        if(StrUtil.isEmpty(tradePassword)){
+            return Result.fail("请输入交易密码");
+        }
+        String tradePasswordOwn = memberEntity.getTradePassword();
+        if(StrUtil.isEmpty(tradePasswordOwn)){
+            return Result.fail("请设置交易密码");
+        }
+        String tradePasswords = SecureUtil.md5(tradePassword);
+        if(!StrUtil.equals(tradePasswordOwn,tradePasswords)){
+            return Result.fail("请输入正确的交易密码");
+        }
+
+        Long id = bugAgentLeveldto.getId();
+        YdBasicLevelSettingEntity ydBasicLevelSettingEntityTo = ydBasicLevelSettingDao.selectById(id);
+        if(ObjectUtil.isEmpty(ydBasicLevelSettingEntityTo)){
+            return Result.fail("稍候再试");
+        }
+        Integer levelTo = ydBasicLevelSettingEntityTo.getLevel();
+        //获取当前代理级别
+        Integer agentLevel = memberEntity.getAgentLevel();
+
+        BigDecimal salePrice = ydBasicLevelSettingEntityTo.getSalePrice();
+        Integer levelNow = 0;
+        if (agentLevel != null) {
+            long agentId = Long.parseLong(agentLevel.toString());
+            YdBasicLevelSettingEntity ydBasicLevelSettingEntityNow = ydBasicLevelSettingDao.selectById(agentId);
+            if(ObjectUtil.isNotEmpty(ydBasicLevelSettingEntityNow)){
+                levelNow = ydBasicLevelSettingEntityNow.getLevel();
+                if(levelTo.equals(levelNow)){
+                    return Result.fail("不能重复购买当前代理");
+                }
+
+                if (levelNow < levelTo) {
+                    return Result.fail("不能购买低于当前代理");
+                }
+            }
+
+            //用户如果已经有等级则减少差价
+            if(levelNow != 0){
+                salePrice = salePrice.subtract(ydBasicLevelSettingEntityNow.getSalePrice());
+            }
+        }
+
+        //获取用户当前USDT余额
+        MemberWalletCoinEntity usdt = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "USDT");
+        BigDecimal availableBalance = usdt.getAvailableBalance();
+        if(salePrice.compareTo(availableBalance) > 0){
+            return Result.fail("USDT数量不足");
+        }
+        BigDecimal totalBalance = usdt.getTotalBalance();
+        usdt.setAvailableBalance(availableBalance.subtract(salePrice));
+        usdt.setTotalBalance(totalBalance.subtract(salePrice));
+        memberWalletCoinDao.updateById(usdt);
+        //更新用户的代理级别
+        ydOrderDao.updateAgentLevel(memberId,Integer.parseInt(id.toString()));
+
+        YdOrderEntity orderEntity = new YdOrderEntity();
+        orderEntity.setType(YdOrderEntity.AGENT_ORDER);
+        orderEntity.setMemberId(memberId);
+        orderEntity.setProductId(id);
+        orderEntity.setAmount(salePrice);
+        ydOrderDao.insert(orderEntity);
+
+        LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买代理", salePrice,
+                "USDT", 1, 8, memberId);
+
+        memberEntity.setAgentLevel(id.intValue());
+        LoginUserUtils.resetAppLoginUser(memberEntity);
+        yunDingProducter.sendYunDingUsdtProfit(orderEntity.getId());
+        return Result.ok("购买成功");
+    }
+
+    @Override
+    public Result getXchPrice() {
+        log.info("获取XCH当前价");
+        BigDecimal xchNewPrices = BigDecimal.ZERO;
+        String xchNewPrice = redisUtils.getString("XCH_NEW_PRICE");
+        if(StrUtil.isNotEmpty(xchNewPrice)){
+            xchNewPrices = new BigDecimal(xchNewPrice);
+        }
+        return Result.ok(xchNewPrices);
+    }
+
+    @Override
+    public Result getTeamList(TeamInfoDto teamInfoDto) {
+        log.info("获取团队信息");
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+        Long memberId = memberEntity.getId();
+//        Long memberId = 444L;
+//        MemberEntity memberEntity = memberDao.selectById(memberId);
+        /**
+         * 获取团队总人数,总购买数
+         *      详细列表
+         *
+         */
+        TeamVo teamVo = new TeamVo();
+        //团队总人数
+        int memberNum = 0;
+        String inviteId = memberEntity.getInviteId();
+        List<MemberEntity> memberEntityList = ydOrderDao.selectMemberByInviteId(inviteId);
+        if(CollUtil.isNotEmpty(memberEntityList)){
+            memberNum = memberEntityList.size();
+        }
+        teamVo.setMemberNum(memberNum);
+        //购买总算力
+
+        int allPower =0;
+        List<YdOrderEntity> ydOrderEntitys = ydOrderDao.selectListByMemberIdAndElse(inviteId);
+        if(CollUtil.isNotEmpty(ydOrderEntitys)){
+            for(YdOrderEntity ydOrderEntity : ydOrderEntitys){
+                Long productId = ydOrderEntity.getProductId();
+                YdProductEntity ydProductEntity = ydProductDao.selectById(productId);
+                if("XCH".equals(ydProductEntity.getCoin())){
+                    Integer proNum = ydProductEntity.getProNum();
+                    Integer quantity = ydOrderEntity.getQuantity();
+                    allPower = allPower + proNum*quantity;
+                }
+            }
+        }
+        teamVo.setAllPower(allPower);
+        //详细列表
+        Page<TeamInfoVo> page = new Page<>(teamInfoDto.getPageNum(), teamInfoDto.getPageSize());
+        IPage<TeamInfoVo> teamInfoVos = ydOrderDao.getTeamInfoList(page, memberEntity);
+        List<TeamInfoVo> records = teamInfoVos.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(TeamInfoVo teamInfoVo : records){
+                String phone = teamInfoVo.getInvitephone();
+                if(StrUtil.isNotEmpty(phone)){
+                    teamInfoVo.setInvitephone(StrUtil.subSufByLength(phone,4));
+                }
+                //下属团队人数
+                int memberNumInvite = 0;
+                List<MemberEntity> memberEntityInviteList = ydOrderDao.selectMemberByInviteId(phone);
+                if(CollUtil.isNotEmpty(memberEntityInviteList)){
+                    memberNumInvite = memberEntityInviteList.size();
+                }
+                teamInfoVo.setMemberNum(memberNumInvite);
+                //下属团队总算力
+                int powerNum =0;
+                List<YdOrderEntity> ydOrderEntityLevel = ydOrderDao.selectListByMemberIdAndElse(inviteId);
+                if(CollUtil.isNotEmpty(ydOrderEntityLevel)){
+                    for(YdOrderEntity ydOrderEntity : ydOrderEntityLevel){
+                        Long productId = ydOrderEntity.getProductId();
+                        YdProductEntity ydProductEntity = ydProductDao.selectById(productId);
+                        if("XCH".equals(ydProductEntity.getCoin())){
+                            Integer proNum = ydProductEntity.getProNum();
+                            Integer quantity = ydOrderEntity.getQuantity();
+                            powerNum = powerNum + proNum*quantity;
+                        }
+                    }
+                }
+                teamInfoVo.setPowerNum(powerNum);
+            }
+        }
+        teamVo.setTeamInfoVos(records);
+        return Result.ok(teamVo);
+    }
+
+
     /**
      * 去加减币币账户余额,减少产品的剩余数目
      * @param memberId

--
Gitblit v1.9.1