nickchange
2023-11-17 a9564eae9f0169ca39329b2f14a8f13d13358a0a
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
@@ -2,10 +2,12 @@
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.feignClient.account.*;
import com.dsh.course.feignClient.account.model.*;
import com.dsh.course.feignClient.activity.PointMercharsClient;
import com.dsh.course.feignClient.competition.CompetitionClient;
import com.dsh.course.feignClient.competition.model.CompetionVO;
import com.dsh.course.feignClient.competition.model.Competition;
import com.dsh.course.feignClient.competition.model.CompetitionQuery;
import com.dsh.course.feignClient.competition.model.PaymentCompetition;
@@ -112,23 +114,43 @@
    @RequestMapping(value = "/getIncomeData")
    @ResponseBody
    public Object getIncomeData(Integer operatorId,Integer storeId) {
        // 充值记录查询query
        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
        // 报名课程查询query
        RegisterOrderQuery query = new RegisterOrderQuery();
        // 充值记录查询query
        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
        // 赛事活动查询query
        CompetitionQuery competitionQuery = new CompetitionQuery();
        // 会员支付查询query
        IncomeQuery incomeQuery = new IncomeQuery();
        // 场地预约记录查询query
        SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
        // 筛选运营商的是时候使用
        List<Integer> storeIds = new ArrayList<>();
        // 根据运营商ID 查询运营商下的所有门店
        if (storeId==null){
            if (operatorId!=null){
                List<TStore> stores = storeService.list(new QueryWrapper<TStore>().eq("operatorId", operatorId));
                // 拿到该运营商下的门店id集合
                storeIds = stores.stream().map(TStore::getId).collect(Collectors.toList());
                query.setStoresIds(storeIds);
                siteBookingQuery.setStoreIds(storeIds);
                competitionQuery.setOperatorId(operatorId);
            }
        }else {
            List<Integer> list = new ArrayList<>();
            list.add(storeId);
            query.setStoresIds(list);
            siteBookingQuery.setStoreIds(list);
            competitionQuery.setStoreId(storeId);
        }
        Integer roleType = UserExt.getUser().getObjectType();
        rechargeRecordsQuery.setInsertType(roleType);
                       query.setInsertType(roleType);
            competitionQuery.setInsertType(roleType);
                 incomeQuery.setInsertType(roleType);
                 incomeQuery.setInsertType(roleType);
        IncomeVO incomeVO = new IncomeVO();
        rechargeRecordsQuery.setObjectId(UserExt.getUser().getObjectId());
        List<IncomeVO> incomeVOS = new ArrayList<>();
        // 会员支付记录
        List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
@@ -170,6 +192,11 @@
                incomeVOS.add(temp);
            }
        }
        // query权限设置 获取运营商下的门店集合
        if (roleType==2){
            competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
        }
        // 报名活动
        List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
        for (PaymentCompetition competition : competitions) {
@@ -187,22 +214,28 @@
            incomeVOS.add(temp);
        }
        // 预约场地
        List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
        for (SiteBooking siteBooking : siteBookings) {
            IncomeVO temp = new IncomeVO();
            if(siteBooking.getStatus()!=3){
                continue;
        // 说明当前运营商下没有门店
        if (operatorId!=null && storeIds.size()==0){
        }else{
            List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
            for (SiteBooking siteBooking : siteBookings) {
                IncomeVO temp = new IncomeVO();
                if(siteBooking.getStatus()!=3){
                    continue;
                }
                temp.setInsertTime(siteBooking.getPayTime());
                if (siteBooking.getPayMoney() != null) {
                    temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString()));
                }
                incomeVOS.add(temp);
            }
            temp.setInsertTime(siteBooking.getPayTime());
            if (siteBooking.getPayMoney() != null) {
                temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString()));
            }
            incomeVOS.add(temp);
        }
        // 积分商品
        List<PointMerchandiseIncomeVo> amount = pointMercharsClient.getAmount();
        for (PointMerchandiseIncomeVo pointMerchandiseIncomeVo : amount) {
            IncomeVO temp = new IncomeVO();
            if (pointMerchandiseIncomeVo==null) continue;
            temp.setInsertTime(pointMerchandiseIncomeVo.getInsertTime());
            if (pointMerchandiseIncomeVo.getCash()!=null){
                temp.setAmount(pointMerchandiseIncomeVo.getCash());
@@ -248,235 +281,138 @@
        int years = DateUtil.year(new Date());
        for (int i = 0; i < 10; i++) {
            integers1.add(years-i);
        }
         }
        List<Object> collect = integers1.stream().sorted().collect(Collectors.toList());
        List<Object> objects1 = new ArrayList<>();
        for (Object o : collect) {
            BigDecimal orDefault = yearToTotalAmountMap.getOrDefault(Integer.valueOf(o.toString()), BigDecimal.ZERO);
            objects1.add(orDefault);
        }
//        for (int year = integers1.get(0); year >= integers1.get(integers1.size()-1); year++) {
//            BigDecimal totalAmount = yearToTotalAmountMap.getOrDefault(year, BigDecimal.ZERO);
//            // 创建一个新的 IncomeVO 对象,并设置年份和累计金额
//            IncomeVO resultIncomeVO = new IncomeVO();
//            resultIncomeVO.setAmount(totalAmount);
//            resultIncomeVOS.add(resultIncomeVO);
//        }
        monthlyData.put("yearIncome",objects1);
        BigDecimal yearIn = new BigDecimal("0.00");
        for (Object o : objects1) {
            yearIn = yearIn.add(new BigDecimal(o.toString()));
        }
        BigDecimal orDefault = yearToTotalAmountMap.getOrDefault(years, BigDecimal.ZERO);
        objects.add(orDefault);
        // 创建一个 Map 用于存储今年每个月的累计 amount
        Map<Integer, BigDecimal> monthToTotalAmountMap = new HashMap<>();
        Calendar calendar = Calendar.getInstance();
        int currentYear = calendar.get(Calendar.YEAR);
        List<BigDecimal> monthlyAmountList = new ArrayList<>(Collections.nCopies(12, BigDecimal.ZERO));
        for (IncomeVO incomeVO1 : incomeVOS) {
            Calendar calendar1 = Calendar.getInstance();
            calendar1.setTime(incomeVO1.getInsertTime());
            int year = calendar1.get(Calendar.YEAR);
            int month = calendar1.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1
            if (year == currentYear) {
                BigDecimal totalAmount = monthlyAmountList.get(month - 1);
                totalAmount = totalAmount.add(incomeVO1.getAmount());
                monthlyAmountList.set(month - 1, totalAmount);
            }
        }
        monthlyData.put("monthIncome", Collections.singletonList(monthlyAmountList));
        //yearMount
        BigDecimal monthI = new BigDecimal("0.00");
        for (BigDecimal bigDecimal : monthlyAmountList) {
            monthI = monthI.add(bigDecimal);
        }
        objects.add(monthI);
        // 获取当前月份
        LocalDate currentDate = LocalDate.now();
        int currentMonth = currentDate.getMonthValue();
        // 初始化一个长度为当前月份的天数的列表,并将每一天的金额初始化为零
        int daysInCurrentMonth = currentDate.lengthOfMonth();
        List<BigDecimal> weekAmount = new ArrayList<>();
        // 获取最近四周
        LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN);
        LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX);
        // 周度数据
        LocalDateTime week1Start = minNow.minusDays(6);
        LocalDateTime week1End   = maxNow;
        LocalDateTime week2Start = minNow.minusDays(13);
        LocalDateTime week2End = minNow.minusDays(7);
        LocalDateTime week3Start = minNow.minusDays(20);
        LocalDateTime week3End = minNow.minusDays(14);
        LocalDateTime week4Start = minNow.minusDays(27);
        LocalDateTime week4End = minNow.minusDays(21);
        // 计算每个周的amount总和
        BigDecimal tAmount1 = BigDecimal.ZERO;
        BigDecimal tAmount2 = BigDecimal.ZERO;
        BigDecimal tAmount3 = BigDecimal.ZERO;
        BigDecimal tAmount4 = BigDecimal.ZERO;
        for (IncomeVO incomeVO1 : incomeVOS) {
            Date insertTime = incomeVO1.getInsertTime();
            // 将Date转换为LocalDateTime
            Instant instant = insertTime.toInstant();
            ZoneId zoneId = ZoneId.systemDefault();
            LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime();
            // 判断该数据属于哪个周
            if (dateTime.isAfter(week1Start) && dateTime.isBefore(week1End)) {
                BigDecimal amount1 = incomeVO1.getAmount();
                tAmount1=tAmount1.add(amount1);
            } else if (dateTime.isAfter(week2Start) && dateTime.isBefore(week2End)) {
                BigDecimal amount1 = incomeVO1.getAmount();
                tAmount2=tAmount2.add(amount1);
            } else if (dateTime.isAfter(week3Start) && dateTime.isBefore(week3End)) {
                BigDecimal amount1 = incomeVO1.getAmount();
                tAmount4=tAmount3.add(amount1);
            } else if (dateTime.isAfter(week4Start) && dateTime.isBefore(week4End)) {
                BigDecimal amount1 = incomeVO1.getAmount();
                tAmount4=tAmount4.add(amount1);
            }
        }
        weekAmount.add(tAmount1);
        weekAmount.add(tAmount2);
        weekAmount.add(tAmount3);
        weekAmount.add(tAmount4);
        monthlyData.put("weekIncome", Collections.singletonList(weekAmount));
        BigDecimal weekIn = new BigDecimal("0.00");
        for (BigDecimal bigDecimal : weekAmount) {
            weekIn = weekIn.add(bigDecimal);
        }
        objects.add(weekIn);
        LocalDateTime currentDateTime = LocalDateTime.now();
        List<BigDecimal> amountByDay = new ArrayList<>(Collections.nCopies(7, BigDecimal.ZERO));
        for (IncomeVO incomeVO3 : incomeVOS) {
            Date insertTime = incomeVO3.getInsertTime();
            // 将 Date 转换为 LocalDateTime
            LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
            // 计算日期与当前日期的差距
            long daysDifference = ChronoUnit.DAYS.between(insertDateTime.toLocalDate(), currentDateTime.toLocalDate());
            // 如果日期在七天内,累加金额
            if (daysDifference >= 0 && daysDifference < 7) {
                int index = (int) (6 - daysDifference); // 计算对应的索引位置
                BigDecimal amount3 = incomeVO3.getAmount();
                BigDecimal updatedAmount = amountByDay.get(index).add(amount3);
                amountByDay.set(index, updatedAmount);
            }
        }
        monthlyData.put("dayIncome", Collections.singletonList(amountByDay));
        BigDecimal totalToday = new BigDecimal("0.00");
        for (BigDecimal bigDecimal : amountByDay) {
            totalToday = totalToday.add(bigDecimal);
        }
        objects.add(totalToday);
        // 最后put
        monthlyData.put("yearMount",objects);
        ArrayList<Object> integers = new ArrayList<>();
        int year = DateUtil.year(new Date());
        for (int i = 0; i < 10; i++) {
            integers.add(year-i);
        }
        List<Object> collect1 = integers.stream().sorted().collect(Collectors.toList());
        monthlyData.put("year",collect1);
        return monthlyData;
//
//        // 创建一个 Map 用于存储今年每个月的累计 amount
//        Map<Integer, BigDecimal> monthToTotalAmountMap = new HashMap<>();
//        Calendar calendar = Calendar.getInstance();
//        int currentYear = calendar.get(Calendar.YEAR);
//        List<BigDecimal> monthlyAmountList = new ArrayList<>(Collections.nCopies(12, BigDecimal.ZERO));
//
//        for (IncomeVO incomeVO1 : incomeVOS) {
//            Calendar calendar1 = Calendar.getInstance();
//            calendar1.setTime(incomeVO1.getInsertTime());
//            int year = calendar1.get(Calendar.YEAR);
//            int month = calendar1.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1
//            if (year == currentYear) {
//                BigDecimal totalAmount = monthlyAmountList.get(month - 1);
//                totalAmount = totalAmount.add(incomeVO1.getAmount());
//                monthlyAmountList.set(month - 1, totalAmount);
//            }
//        }
//        monthlyData.put("monthIncome", Collections.singletonList(monthlyAmountList));
//
//        // 获取当前月份
//        LocalDate currentDate = LocalDate.now();
//        int currentMonth = currentDate.getMonthValue();
//        // 初始化一个长度为当前月份的天数的列表,并将每一天的金额初始化为零
//        int daysInCurrentMonth = currentDate.lengthOfMonth();
//        List<BigDecimal> weekAmount = new ArrayList<>();
//
//        // 获取最近四周
//        LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN);
//        LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX);
//        // 周度数据
//        LocalDateTime week1Start = minNow.minusDays(6);
//        LocalDateTime week1End = maxNow;
//
//        LocalDateTime week2Start = minNow.minusDays(13);
//        LocalDateTime week2End = minNow.minusDays(7);
//
//        LocalDateTime week3Start = minNow.minusDays(20);
//        LocalDateTime week3End = minNow.minusDays(14);
//
//        LocalDateTime week4Start = minNow.minusDays(27);
//        LocalDateTime week4End = minNow.minusDays(21);
//        // 用于存放四个周的数据
//        List<Object> objects1 = new ArrayList<>();
//        // 计算每个周的amount总和
//        BigDecimal tAmount1 = BigDecimal.ZERO;
//        BigDecimal tAmount2 = BigDecimal.ZERO;
//        BigDecimal tAmount3 = BigDecimal.ZERO;
//        BigDecimal tAmount4 = BigDecimal.ZERO;
//        for (IncomeVO incomeVO1 : incomeVOS) {
//            Date insertTime = incomeVO1.getInsertTime();
//            // 将Date转换为LocalDateTime
//            Instant instant = insertTime.toInstant();
//            ZoneId zoneId = ZoneId.systemDefault();
//            LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime();
//            // 判断该数据属于哪个周
//            if (dateTime.isAfter(week1Start) && dateTime.isBefore(week1End)) {
//                BigDecimal amount1 = incomeVO1.getAmount();
//                tAmount1=tAmount1.add(amount1);
//            } else if (dateTime.isAfter(week2Start) && dateTime.isBefore(week2End)) {
//                BigDecimal amount1 = incomeVO1.getAmount();
//                tAmount2=tAmount2.add(amount1);
//            } else if (dateTime.isAfter(week3Start) && dateTime.isBefore(week3End)) {
//                BigDecimal amount1 = incomeVO1.getAmount();
//                tAmount4=tAmount3.add(amount1);
//            } else if (dateTime.isAfter(week4Start) && dateTime.isBefore(week4End)) {
//                BigDecimal amount1 = incomeVO1.getAmount();
//                tAmount4=tAmount4.add(amount1);
//            }
//        }
//        weekAmount.add(tAmount1);
//        weekAmount.add(tAmount2);
//        weekAmount.add(tAmount3);
//        weekAmount.add(tAmount4);
//        monthlyData.put("weekIncome", Collections.singletonList(weekAmount));
//
//        LocalDateTime currentDateTime = LocalDateTime.now();
//        List<BigDecimal> amountByDay = new ArrayList<>(Collections.nCopies(7, BigDecimal.ZERO));
//        for (IncomeVO incomeVO3 : incomeVOS) {
//            Date insertTime = incomeVO3.getInsertTime();
//            // 将 Date 转换为 LocalDateTime
//            LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
//            // 计算日期与当前日期的差距
//            long daysDifference = ChronoUnit.DAYS.between(insertDateTime.toLocalDate(), currentDateTime.toLocalDate());
//            // 如果日期在七天内,累加金额
//            if (daysDifference >= 0 && daysDifference < 7) {
//                int index = (int) (6 - daysDifference); // 计算对应的索引位置
//                BigDecimal amount3 = incomeVO3.getAmount();
//                BigDecimal updatedAmount = amountByDay.get(index).add(amount3);
//                amountByDay.set(index, updatedAmount);
//
//            }
//        }
//
//        monthlyData.put("dayIncome", Collections.singletonList(amountByDay));
//        // 获取当前日期和时间
//        LocalDateTime now = LocalDateTime.now();
//        // 今年的起始日期和结束日期
//        LocalDateTime startOfYear = now.with(TemporalAdjusters.firstDayOfYear()).with(LocalTime.MIN);
//        LocalDateTime endOfYear = now.with(TemporalAdjusters.lastDayOfYear()).with(LocalTime.MAX);
//        // 本月的起始日期和结束日期
//        LocalDateTime startOfMonth = now.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
//        LocalDateTime endOfMonth = now.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
//        // 本周的起始日期和结束日期
//        LocalDateTime startOfWeek = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).with(LocalTime.MIN);
//        LocalDateTime endOfWeek = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)).with(LocalTime.MAX);
//        // 今天的起始日期和结束日期
//        LocalDateTime startOfDay = now.with(LocalTime.MIN);
//        LocalDateTime endOfDay = now.with(LocalTime.MAX);
//        // 创建日期格式化器
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        // 筛选符合条件的IncomeVO对象
//        List<IncomeVO> thisYearIncome = incomeVOS.stream()
//                .filter(income -> {
//                    Date insertTime = income.getInsertTime();
//                    try {
//                        LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
//                        return insertDateTime.isAfter(startOfYear) && insertDateTime.isBefore(endOfYear);
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                        return false;
//                    }
//                })
//                .collect(Collectors.toList());
//        // 使用 map 方法将 IncomeVO 转换为 BigDecimal,提取出 amount 字段
//        List<BigDecimal> amounts = thisYearIncome.stream()
//                .map(IncomeVO::getAmount)
//                .collect(Collectors.toList());
//        //本年总收入
//        BigDecimal totalAmount = amounts.stream()
//                .reduce(BigDecimal.ZERO, BigDecimal::add);
//        // 用于展示总营收 本年度营收 本月营收 本周营收 本日营收
//        objects.add(totalAmount);
//        List<IncomeVO> thisMonthIncome = incomeVOS.stream()
//                .filter(income -> {
//                    Date insertTime = income.getInsertTime();
//                    try {
//                        LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
//                        return insertDateTime.isAfter(startOfMonth) && insertDateTime.isBefore(endOfMonth);
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                        return false;
//                    }
//                })
//                .collect(Collectors.toList());
//        List<BigDecimal> amountMonth = thisMonthIncome.stream()
//                .map(IncomeVO::getAmount)
//                .collect(Collectors.toList());
//        // 使用 本月总收入
//        BigDecimal totalMonth = amountMonth.stream()
//                .reduce(BigDecimal.ZERO, BigDecimal::add);
//
//        objects.add(totalMonth);
//        List<IncomeVO> thisWeekIncome = incomeVOS.stream()
//                .filter(income -> {
//                    Date insertTime = income.getInsertTime();
//                    try {
//                        LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
//                        return insertDateTime.isAfter(startOfWeek) && insertDateTime.isBefore(endOfWeek);
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                        return false;
//                    }
//                })
//                .collect(Collectors.toList());
//        List<BigDecimal> amountWeek = thisWeekIncome.stream()
//                .map(IncomeVO::getAmount)
//                .collect(Collectors.toList());
//        // 使用 本月总收入
//        BigDecimal totalWeek = amountWeek.stream()
//                .reduce(BigDecimal.ZERO, BigDecimal::add);
//        objects.add(totalWeek);
//        List<IncomeVO> todayIncome = incomeVOS.stream()
//                .filter(income -> {
//                    Date insertTime = income.getInsertTime();
//                    try {
//                        LocalDateTime insertDateTime = LocalDateTime.ofInstant(insertTime.toInstant(), ZoneId.systemDefault());
//                        return insertDateTime.isAfter(startOfDay) && insertDateTime.isBefore(endOfDay);
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                        return false;
//                    }
//                })
//                .collect(Collectors.toList());
//        List<BigDecimal> amountToday = todayIncome.stream()
//                .map(IncomeVO::getAmount)
//                .collect(Collectors.toList());
//        // 使用 本月总收入
//        BigDecimal totalToday = amountToday.stream()
//                .reduce(BigDecimal.ZERO, BigDecimal::add);
//        objects.add(totalToday);
//        // 最后put
//        monthlyData.put("yearMount",objects);
//
//        ArrayList<Object> integers = new ArrayList<>();
//        int year = DateUtil.year(new Date());
//        for (int i = 0; i < 10; i++) {
//            integers.add(year-i);
//        }
//        List<Object> collect = integers.stream().sorted().collect(Collectors.toList());
//        monthlyData.put("year",collect);
//        return monthlyData;
    }
    /**
     * 运营统计-平台-用户数据
@@ -785,6 +721,9 @@
    @RequestMapping(value = "/backStore")
    @ResponseBody
    public Object backStore(Integer id) {
        if(UserExt.getUser().getObjectType()==3){
            id = UserExt.getUser().getObjectId();
        }
        HashMap<String, Object> map = new HashMap<>();
        List<Integer> userPt = appUserClient.getUserStore(id);
        if(userPt.size()==0){
@@ -902,11 +841,40 @@
        HashMap<String, Object> map = appUserClient.stuPt();
        return map;
    }
    @RequestMapping(value = "/stuYys")
    @ResponseBody
    public Object stuYys(Integer id) {
        HashMap<String, Object> map = appUserClient.stuYys(id);
        return map;
    }
    @RequestMapping(value = "/stuStores")
    @ResponseBody
    public Object stuStores(Integer id) {
        HashMap<String, Object> map = appUserClient.stuStores(id);
        return map;
    }
    // 消耗课时数据-平台
    @RequestMapping(value = "/coursePt")
    @ResponseBody
    public Object coursePt() {
        List<Integer> userPt = appUserClient.getUserPt(Arrays.asList(1));
        HashMap<String, Object> map = coursePackagePaymentClient.coursePt(userPt);
        return map;
    }
    // 消耗课时数据-运营商
    @RequestMapping(value = "/courseYys")
    @ResponseBody
    public Object courseYys(Integer id) {
        List<Integer> userPt = appUserClient.getUserYYs(id);
        HashMap<String, Object> map = coursePackagePaymentClient.coursePt(userPt);
        return map;
    }
    // 消耗课时数据-运营商
    @RequestMapping(value = "/courseStore")
    @ResponseBody
    public Object courseStore(Integer id) {
        List<Integer> userPt = appUserClient.getUserPt(Arrays.asList(id));
        HashMap<String, Object> map = coursePackagePaymentClient.coursePt(userPt);
        return map;
    }
@@ -920,6 +888,9 @@
    @RequestMapping(value = "/userAndVipStore")
    @ResponseBody
    public Object userAndVipStore(Integer id) {
        if(UserExt.getUser().getObjectType()==3){
            id = UserExt.getUser().getObjectId();
        }
        HashMap<String, Object> map = appUserClient.userAndVipStore(id);
        return map;
    }
@@ -953,10 +924,14 @@
    @RequestMapping(value = "/actYys")
    @ResponseBody
    public Object actYys(Integer id) {
        List<Integer> userPt = appUserClient.getUserYYs(id);
        HashMap<String, Object> map = competitionClient.actPt(userPt);
        CompetionVO competionVO = new CompetionVO();
        List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId, 0));
        List<Integer> userPt = appUserClient.getUserYYs(id);
        competionVO.setIds(userPt);
        competionVO.setOperatorId(id);
        HashMap<String, Object> map = competitionClient.actYys(competionVO);
        List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId, id));
        long l1=0;
        for (TStore tStore : list) {
            long l = DateUtil.betweenDay(tStore.getCreateTime(), new Date(), true);
@@ -970,7 +945,7 @@
            if(integer==0 && integer1==0){
                a=24;
            }else {
                a= integer1-integer;
                a= integer-integer1;
            }
            l1 += l * a;
        }
@@ -980,6 +955,12 @@
    @RequestMapping(value = "/actStore")
    @ResponseBody
    public Object actStore(Integer id) {
        Integer objectType = UserExt.getUser().getObjectType();
        if(objectType==3){
            id = UserExt.getUser().getObjectId();
        }
        List<Integer> userPt = appUserClient.getUserStore(id);
        HashMap<String, Object> map = competitionClient.actPt(userPt);
@@ -1013,9 +994,12 @@
    @RequestMapping("/operator")
    public String operator(Model model) {
        Integer objectType = UserExt.getUser().getObjectType();
        List<TOperator> list = operatorService.list(new LambdaQueryWrapper<TOperator>().ne(TOperator::getState, 3));
        Integer objectId = UserExt.getUser().getObjectId();
        List<TOperator> list = operatorService.list(new LambdaQueryWrapper<TOperator>().ne(TOperator::getState, 3).ne(TOperator::getId,0));
        model.addAttribute("list",list);
        model.addAttribute("objectType",objectType);
        model.addAttribute("objectId",objectId);
        return PREFIX + "operatorIncome.html";
    }
@@ -1139,6 +1123,10 @@
        // 找出平台的用户
        List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 2));
        List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList());
        Integer objectType = UserExt.getUser().getObjectType();
        if(objectType==3){
            id = UserExt.getUser().getObjectId();
        }
        List<Integer> userIds = appUserClient.getUserStore(id);
        QueryDataFee queryDataFee = new QueryDataFee(time, userIds);
        // 会员费
@@ -1240,9 +1228,17 @@
    @RequestMapping("/store")
    public String store(Model model) {
        Integer objectType = UserExt.getUser().getObjectType();
        List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getState, 1));
        model.addAttribute("list",list);
        List<TStore> tStores = new ArrayList<>();
        if (objectType == 2){
            tStores = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getState, 1).eq(TStore::getOperatorId,UserExt.getUser().getObjectId()));
        }
        if (objectType == 3){
            tStores = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getState, 1).eq(TStore::getId,UserExt.getUser().getObjectId()));
        }
        model.addAttribute("list",tStores);
        model.addAttribute("objectType",objectType);
        model.addAttribute("objectId",UserExt.getUser().getObjectId());
        return PREFIX + "storeIncome.html";
    }
@@ -1387,14 +1383,18 @@
    @ResponseBody
    public Object stuUserDataYys(Integer id) {
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(1);
        HashMap<String, Object> map = appUserClient.queryUserAgeYys(id);
        HashMap<String, Object> map = appUserClient.queryUserAgeYys(operatorService.getById(id).getId());
        return map;
    }
    @RequestMapping("/stuUserDataStore")
    @ResponseBody
    public Object stuUserDataStore(Integer id) {
        if(UserExt.getUser().getObjectType()==3){
            id = UserExt.getUser().getObjectId();
        }
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(1);
        HashMap<String, Object> map = appUserClient.queryUserAgeStore(id);
@@ -1430,6 +1430,10 @@
    @RequestMapping("/selectStoreJx")
    @ResponseBody
    public Object selectStoreJx(Integer id) {
        Integer objectType = UserExt.getUser().getObjectType();
        if(objectType==3){
            id = UserExt.getUser().getObjectId();
        }
        ArrayList<Integer> objects = new ArrayList<>();
        objects.add(1);
        HashMap<String, Object> map1 = appUserClient.queryUserAgeStore1(id);