KKSU
2024-04-17 829f629756e5402bcd3e9f6ef1f9c6dbffbabb11
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -110,6 +110,14 @@
                if(ydProductVo.getSurplusT().compareTo(BigDecimal.ZERO) < 1) {
                    ydProductVo.setStatus(2);
                }
                Integer shelvesDays = ydProductVo.getShelvesDays();
                String proUnit = ydProductVo.getProUnit();
                if(shelvesDays == 0){
                    ydProductVo.setShelvesDaysStr("待定");
                }else{
                    ydProductVo.setShelvesDaysStr(proUnit+"+"+shelvesDays);
                }
            }
        }
@@ -135,10 +143,19 @@
        /**
         *产出规则
         */
        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);
        //服务周期
@@ -308,7 +325,7 @@
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        Long memberId = memberEntity.getId();
//        Long memberId = 442L;
//        Long memberId = 447L;
        OrderAllInfoVo orderAllInfoVo = new OrderAllInfoVo();
        DecimalFormat decimalFormat = new DecimalFormat("0.0000#");
        //历史总收益
@@ -334,7 +351,12 @@
        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);
@@ -348,7 +370,12 @@
        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);
@@ -451,13 +478,13 @@
        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减少
@@ -610,34 +637,6 @@
         *
         */
        TeamVo teamVo = new TeamVo();
//        //团队总人数
//        int memberNum = 0;
//        //直接下级
//        QueryWrapper<MemberEntity> objectQueryWrapper = new QueryWrapper<>();
//        objectQueryWrapper.eq("referer_id",memberEntity.getInviteId());
//        List<MemberEntity> memberEntities = memberDao.selectList(objectQueryWrapper);
//        if(CollUtil.isNotEmpty(memberEntities)){
//            memberNum = memberEntities.size();
//        }
//        teamVo.setMemberNum(memberNum);
//
//        //总购买数
//        int allPower = ydOrderDao.selectAllPowerByMemberIdAndElse(memberEntity.getInviteId());
//        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.getPhone();
//                if(StrUtil.isNotEmpty(phone)){
//                    teamInfoVo.setPhone(StrUtil.subSufByLength(phone,4));
//                }
//            }
//        }
//        teamVo.setTeamInfoVos(records);
        //团队总人数
        int memberNum = 0;
        String inviteId = memberEntity.getInviteId();
@@ -647,24 +646,56 @@
        }
        teamVo.setMemberNum(memberNum);
        //购买总算力
        int allPower = ydOrderDao.selectAllPowerByMemberIdAndElse(inviteId);
        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);
        //直接下级
        QueryWrapper<MemberEntity> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("referer_id",memberEntity.getInviteId());
        List<MemberEntity> memberEntities = memberDao.selectList(objectQueryWrapper);
        //详细列表
        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.getPhone();
                String phone = teamInfoVo.getInvitephone();
                if(StrUtil.isNotEmpty(phone)){
                    teamInfoVo.setPhone(StrUtil.subSufByLength(phone,4));
                    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);
    }