From ee9cb0da4a43bcf523ebb157678f64a2895fba1a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 10 十月 2023 15:30:38 +0800 Subject: [PATCH] 10.10 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java | 934 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 915 insertions(+), 19 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java index deeb3ec..e23922a 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java @@ -1,8 +1,10 @@ package com.dsh.guns.modular.system.controller.code; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.dsh.course.feignClient.account.*; import com.dsh.course.feignClient.account.model.CityManager; +import com.dsh.course.feignClient.account.model.QueryDataFee; import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.account.model.VipPayment; import com.dsh.course.feignClient.activity.PointMercharsClient; @@ -18,8 +20,9 @@ import com.dsh.course.model.MoneyBack; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; +import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.service.ICityService; +import com.dsh.guns.modular.system.service.*; import groovyjarjarpicocli.CommandLine; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -50,8 +53,17 @@ private ICityService cityService; @Autowired private CityManagerClient cityManagerClient; + + @Autowired + private IUserService sysUserService; @Autowired private AppUserClient appUserClient; + + @Autowired + private CourseClient courseClient; + + @Autowired + private IStoreService storeService; @Autowired private VipPaymentClient vipPaymentClient; @Autowired @@ -60,6 +72,9 @@ private CoursePackagePaymentClient coursePackagePaymentClient; @Autowired private CompetitionClient competitionClient; + + @Autowired + private ISiteBookingService siteBookingService; @Autowired private StoreClient storeClient; @Autowired @@ -72,11 +87,24 @@ private CourseStuddentClient courseStuddentClient; @Autowired private CoursePackageClient coursePackageClient; + @Autowired + private TOperatorService operatorService; /** * 跳转到平台统计数据页面 */ @RequestMapping("/platform") public String index(Model model) { + Object o = type1(null); + model.addAttribute("data",o); + + + + // 教学统计 + HashMap<String, Object> map = appUserClient.queryUserAge(); + model.addAttribute("stuData",map); + + + return PREFIX + "platformIncome.html"; } @@ -387,8 +415,17 @@ // 最后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; } + + /** * 运营统计-平台-用户数据 @@ -400,6 +437,18 @@ return null; + } + @RequestMapping(value = "/getYears") + @ResponseBody + public Object getYears() { + 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()); + + return collect; } /** * 退费-平台 @@ -468,44 +517,891 @@ return null; } + + + @Autowired + private TBackRecordService backRecordService; + + @RequestMapping(value = "/backPt") + @ResponseBody + public Object backPt(Integer type) { + HashMap<String, Object> map = new HashMap<>(); + List<Integer> userPt = appUserClient.getUserPt(Arrays.asList(1)); + if(userPt.size()==0){ + userPt.add(-1); + } + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + List<TBackRecord> thisYear = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, year).in(TBackRecord::getUserId,userPt)); + double sum5 = thisYear.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisYear",sum5); + + List<TBackRecord> thisMonth = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, new SimpleDateFormat("yyyy-MM").format(new Date())).in(TBackRecord::getUserId,userPt)); + double sum6= thisMonth.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisMonth",sum6); + + + + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Double> years = new ArrayList<>(); + for (Object o : collect) { + double sum=0.0; + String s = o.toString(); + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + years.add(sum); + } + ArrayList<Double> months = new ArrayList<>(); + // 月 + for (int i = 1; i <= 12; i++) { + double sum=0.0; + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + months.add(sum); + } + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s7,s8).in(TBackRecord::getUserId,userPt)); + double sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + + List<TBackRecord> list1 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s5,s6).in(TBackRecord::getUserId,userPt)); + double sum1 = list1.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list2 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s3,s4).in(TBackRecord::getUserId,userPt)); + double sum2 = list2.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list3 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s1,s2).in(TBackRecord::getUserId,userPt)); + double sum3 = list3.stream().mapToDouble(TBackRecord::getMoney).sum(); + + map.put("thisWeek",sum3); + + ArrayList<Double> week = new ArrayList<>(); + week.add(sum); + week.add(sum1); + week.add(sum2); + week.add(sum3); + + // 日 + ArrayList<Double> days = new ArrayList<>(); + Double thisDay=0.0; + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + List<TBackRecord> day = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s,s9).in(TBackRecord::getUserId,userPt)); + double sum4 = day.stream().mapToDouble(TBackRecord::getMoney).sum(); + days.add(sum4); + if(i==0){ + thisDay=sum4; + } + } + + map.put("thisDay",thisDay); + map.put("yearData",years); + map.put("monthData",months); + map.put("weekData",week); + map.put("dayData",days); + + return map; + } + + @RequestMapping(value = "/backYys") + @ResponseBody + public Object backYys(Integer id) { + HashMap<String, Object> map = new HashMap<>(); + List<Integer> userPt = appUserClient.getUserYYs(id); + if(userPt.size()==0){ + userPt.add(-1); + } + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + List<TBackRecord> thisYear = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, year).in(TBackRecord::getUserId,userPt)); + double sum5 = thisYear.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisYear",sum5); + + List<TBackRecord> thisMonth = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, new SimpleDateFormat("yyyy-MM").format(new Date())).in(TBackRecord::getUserId,userPt)); + double sum6= thisMonth.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisMonth",sum6); + + + + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Double> years = new ArrayList<>(); + for (Object o : collect) { + double sum=0.0; + String s = o.toString(); + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + years.add(sum); + } + ArrayList<Double> months = new ArrayList<>(); + // 月 + for (int i = 1; i <= 12; i++) { + double sum=0.0; + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + months.add(sum); + } + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s7,s8).in(TBackRecord::getUserId,userPt)); + double sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + + List<TBackRecord> list1 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s5,s6).in(TBackRecord::getUserId,userPt)); + double sum1 = list1.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list2 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s3,s4).in(TBackRecord::getUserId,userPt)); + double sum2 = list2.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list3 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s1,s2).in(TBackRecord::getUserId,userPt)); + double sum3 = list3.stream().mapToDouble(TBackRecord::getMoney).sum(); + + map.put("thisWeek",sum3); + + ArrayList<Double> week = new ArrayList<>(); + week.add(sum); + week.add(sum1); + week.add(sum2); + week.add(sum3); + + // 日 + ArrayList<Double> days = new ArrayList<>(); + Double thisDay=0.0; + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + List<TBackRecord> day = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s,s9).in(TBackRecord::getUserId,userPt)); + double sum4 = day.stream().mapToDouble(TBackRecord::getMoney).sum(); + days.add(sum4); + if(i==0){ + thisDay=sum4; + } + } + + map.put("thisDay",thisDay); + map.put("yearData",years); + map.put("monthData",months); + map.put("weekData",week); + map.put("dayData",days); + + return map; + } + @RequestMapping(value = "/backStore") + @ResponseBody + public Object backStore(Integer id) { + HashMap<String, Object> map = new HashMap<>(); + List<Integer> userPt = appUserClient.getUserStore(id); + if(userPt.size()==0){ + userPt.add(-1); + } + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + List<TBackRecord> thisYear = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, year).in(TBackRecord::getUserId,userPt)); + double sum5 = thisYear.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisYear",sum5); + + List<TBackRecord> thisMonth = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, new SimpleDateFormat("yyyy-MM").format(new Date())).in(TBackRecord::getUserId,userPt)); + double sum6= thisMonth.stream().mapToDouble(TBackRecord::getMoney).sum(); + map.put("thisMonth",sum6); + + + + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Double> years = new ArrayList<>(); + for (Object o : collect) { + double sum=0.0; + String s = o.toString(); + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + years.add(sum); + } + ArrayList<Double> months = new ArrayList<>(); + // 月 + for (int i = 1; i <= 12; i++) { + double sum=0.0; + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().like(TBackRecord::getTime, s).in(TBackRecord::getUserId,userPt)); + sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + months.add(sum); + } + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + List<TBackRecord> list = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s7,s8).in(TBackRecord::getUserId,userPt)); + double sum = list.stream().mapToDouble(TBackRecord::getMoney).sum(); + + List<TBackRecord> list1 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s5,s6).in(TBackRecord::getUserId,userPt)); + double sum1 = list1.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list2 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s3,s4).in(TBackRecord::getUserId,userPt)); + double sum2 = list2.stream().mapToDouble(TBackRecord::getMoney).sum(); + List<TBackRecord> list3 = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s1,s2).in(TBackRecord::getUserId,userPt)); + double sum3 = list3.stream().mapToDouble(TBackRecord::getMoney).sum(); + + map.put("thisWeek",sum3); + + ArrayList<Double> week = new ArrayList<>(); + week.add(sum); + week.add(sum1); + week.add(sum2); + week.add(sum3); + + // 日 + ArrayList<Double> days = new ArrayList<>(); + Double thisDay=0.0; + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + List<TBackRecord> day = backRecordService.list(new LambdaQueryWrapper<TBackRecord>().between(TBackRecord::getTime, s,s9).in(TBackRecord::getUserId,userPt)); + double sum4 = day.stream().mapToDouble(TBackRecord::getMoney).sum(); + days.add(sum4); + if(i==0){ + thisDay=sum4; + } + } + + map.put("thisDay",thisDay); + map.put("yearData",years); + map.put("monthData",months); + map.put("weekData",week); + map.put("dayData",days); + + return map; + } + + + @RequestMapping(value = "/userAndVipPt") + @ResponseBody + public Object userAndVipPt(Integer type) { + type=1; + HashMap<String, Object> map = appUserClient.userAndVipPt(type); + return map; + } + + @RequestMapping(value = "/stuPt") + @ResponseBody + public Object stuPt() { + HashMap<String, Object> map = appUserClient.stuPt(); + 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 = "/userAndVipYys") + @ResponseBody + public Object userAndVipYys(Integer id) { + HashMap<String, Object> map = appUserClient.userAndVipYys(id); + return map; + } + @RequestMapping(value = "/userAndVipStore") + @ResponseBody + public Object userAndVipStore(Integer id) { + HashMap<String, Object> map = appUserClient.userAndVipStore(id); + return map; + } + @RequestMapping(value = "/actPt") + @ResponseBody + public Object actPt(Integer type) { + List<Integer> userPt = appUserClient.getUserPt(Arrays.asList(1)); + HashMap<String, Object> map = competitionClient.actPt(userPt); + + List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId, 0)); + long l1=0; + for (TStore tStore : list) { + long l = DateUtil.betweenDay(tStore.getCreateTime(), new Date(), true); + String startTime = tStore.getStartTime(); + String endTime = tStore.getEndTime(); + String s = startTime.split(":")[0]; + String s1 = endTime.split(":")[1]; + Integer integer = Integer.valueOf(s); + Integer integer1 = Integer.valueOf(s1); + Integer a =0; + if(integer==0 && integer1==0){ + a=24; + }else { + a= integer1-integer; + } + l1 += l * a; + } + map.put("allHour",l1); + return map; + } + @RequestMapping(value = "/actYys") + @ResponseBody + public Object actYys(Integer id) { + List<Integer> userPt = appUserClient.getUserYYs(id); + HashMap<String, Object> map = competitionClient.actPt(userPt); + + List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId, 0)); + long l1=0; + for (TStore tStore : list) { + long l = DateUtil.betweenDay(tStore.getCreateTime(), new Date(), true); + String startTime = tStore.getStartTime(); + String endTime = tStore.getEndTime(); + String s = startTime.split(":")[0]; + String s1 = endTime.split(":")[1]; + Integer integer = Integer.valueOf(s); + Integer integer1 = Integer.valueOf(s1); + Integer a =0; + if(integer==0 && integer1==0){ + a=24; + }else { + a= integer1-integer; + } + l1 += l * a; + } + map.put("allHour",l1); + return map; + } + @RequestMapping(value = "/actStore") + @ResponseBody + public Object actStore(Integer id) { + List<Integer> userPt = appUserClient.getUserStore(id); + HashMap<String, Object> map = competitionClient.actPt(userPt); + + List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId, 0)); + long l1=0; + for (TStore tStore : list) { + long l = DateUtil.betweenDay(tStore.getCreateTime(), new Date(), true); + String startTime = tStore.getStartTime(); + String endTime = tStore.getEndTime(); + String s = startTime.split(":")[0]; + String s1 = endTime.split(":")[1]; + Integer integer = Integer.valueOf(s); + Integer integer1 = Integer.valueOf(s1); + Integer a =0; + if(integer==0 && integer1==0){ + a=24; + }else { + a= integer1-integer; + } + l1 += l * a; + } + map.put("allHour",l1); + return map; + } + + + /** * 跳转到运营商统计数据页面 */ @RequestMapping("/operator") public String operator(Model model) { Integer objectType = UserExt.getUser().getObjectType(); - List<CityManager> cityManagers = cityManagerClient.listAll(); - HashSet<String> city = new HashSet<>(); - List<CityManager> list = new ArrayList<>(); - for (CityManager cityManager : cityManagers) { - if (!city.contains(cityManager.getCity())){ - city.add(cityManager.getCity()); - list.add(cityManager); - } - } + List<TOperator> list = operatorService.list(new LambdaQueryWrapper<TOperator>().ne(TOperator::getState, 3)); model.addAttribute("list",list); model.addAttribute("objectType",objectType); return PREFIX + "operatorIncome.html"; } + + /** + * 运营商 + * @param + * @return + */ + @ResponseBody + @RequestMapping("/selectYys") + public Object selectYys(Integer id,String time) { + HashMap<String, Object> map = new HashMap<>(); + // 找出平台的用户 + List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 2)); + List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList()); + List<Integer> userIds = appUserClient.getUserYYs(id); + QueryDataFee queryDataFee = new QueryDataFee(time, userIds); + // 会员费 + HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee); + Object fee1 = map1.get("fee1"); + + map.put("fee1",fee1); + //玩湃比 + Object fee2 = map1.get("fee2"); + map.put("fee2",fee2); + // 课程收入 + HashMap<String, Object> map3 = courseClient.queryFee(queryDataFee); + map.put("fee3",map3.get("fee")); + Object data = map3.get("data"); + map.put("courseData",data); + + + // 赛事收入 + Double aDouble1 = competitionClient.queryFee(queryDataFee); + map.put("fee4",aDouble1); + + // 订场 + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<SiteBooking> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(time)){ + String stime = time.split(" - ")[0]+" 00:00:00"; + String etime = time.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(SiteBooking::getInsertTime,stime,etime); + } + if(userIds.size()==0){ + userIds.add(-1); + } + vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds); + vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects); + List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper); + double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum(); + map.put("fee5",sum); + + + List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TSite> list3 = siteService.list(new LambdaQueryWrapper<TSite>().in(TSite::getId, collect)); + for (SiteBooking siteBooking : list1) { + for (TSite tSite : list3) { + if(siteBooking.getSiteId().equals(tSite.getId())){ + siteBooking.setType(tSite.getSiteTypeId()); + } + } + } + + + List<TSiteType> list2 = siteTypeService.list(); + + List<Map<String,Object>> mapList = new ArrayList<>(); + + for (TSiteType tSiteType : list2) { + HashMap<String, Object> map2 = new HashMap<>(); + map2.put("name",tSiteType.getName()); + double a =0; + for (SiteBooking siteBooking : list1) { + if(tSiteType.getId().equals(siteBooking.getType())){ + a += siteBooking.getPayMoney(); + } + } + map2.put("value",a); + mapList.add(map2); + } + map.put("siteData",mapList); + + + // 商品 门票 + HashMap<String, Object> map2 = pointMercharsClient.queryFee(queryDataFee); + Object all = map2.get("all"); + Object day = map2.get("day"); + Object month = map2.get("month"); + Object quarter = map2.get("quarter"); + Object year = map2.get("year"); + map.put("fee7",all); + map.put("dayone",day); + map.put("monthone",month); + map.put("quarterone",quarter); + map.put("yearone",year); + + return map; + } + + + + /** + * 运营商 + * @param + * @return + */ + @ResponseBody + @RequestMapping("/selectStore") + public Object selectStore(Integer id,String time) { + HashMap<String, Object> map = new HashMap<>(); + // 找出平台的用户 + List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 2)); + List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList()); + List<Integer> userIds = appUserClient.getUserStore(id); + QueryDataFee queryDataFee = new QueryDataFee(time, userIds); + // 会员费 + HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee); + Object fee1 = map1.get("fee1"); + + map.put("fee1",fee1); + //玩湃比 + Object fee2 = map1.get("fee2"); + map.put("fee2",fee2); + // 课程收入 + HashMap<String, Object> map3 = courseClient.queryFee(queryDataFee); + map.put("fee3",map3.get("fee")); + Object data = map3.get("data"); + map.put("courseData",data); + + + // 赛事收入 + Double aDouble1 = competitionClient.queryFee(queryDataFee); + map.put("fee4",aDouble1); + + // 订场 + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<SiteBooking> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(time)){ + String stime = time.split(" - ")[0]+" 00:00:00"; + String etime = time.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(SiteBooking::getInsertTime,stime,etime); + } + if(userIds.size()==0){ + userIds.add(-1); + } + vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds); + vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects); + List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper); + double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum(); + map.put("fee5",sum); + + + List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TSite> list3 = siteService.list(new LambdaQueryWrapper<TSite>().in(TSite::getId, collect)); + for (SiteBooking siteBooking : list1) { + for (TSite tSite : list3) { + if(siteBooking.getSiteId().equals(tSite.getId())){ + siteBooking.setType(tSite.getSiteTypeId()); + } + } + } + + + List<TSiteType> list2 = siteTypeService.list(); + + List<Map<String,Object>> mapList = new ArrayList<>(); + + for (TSiteType tSiteType : list2) { + HashMap<String, Object> map2 = new HashMap<>(); + map2.put("name",tSiteType.getName()); + double a =0; + for (SiteBooking siteBooking : list1) { + if(tSiteType.getId().equals(siteBooking.getType())){ + a += siteBooking.getPayMoney(); + } + } + map2.put("value",a); + mapList.add(map2); + } + map.put("siteData",mapList); + + + // 商品 门票 + HashMap<String, Object> map2 = pointMercharsClient.queryFee(queryDataFee); + Object all = map2.get("all"); + Object day = map2.get("day"); + Object month = map2.get("month"); + Object quarter = map2.get("quarter"); + Object year = map2.get("year"); + map.put("fee7",all); + map.put("dayone",day); + map.put("monthone",month); + map.put("quarterone",quarter); + map.put("yearone",year); + + return map; + } + + /** * 跳转到门店统计数据页面 */ @RequestMapping("/store") public String store(Model model) { Integer objectType = UserExt.getUser().getObjectType(); - List<CityManager> cityManagers = cityManagerClient.listAll(); - HashSet<String> city = new HashSet<>(); - List<CityManager> list = new ArrayList<>(); - for (CityManager cityManager : cityManagers) { - if (!city.contains(cityManager.getCity())){ - city.add(cityManager.getCity()); - list.add(cityManager); - } - } + List<TStore> list = storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getState, 1)); model.addAttribute("list",list); model.addAttribute("objectType",objectType); return PREFIX + "storeIncome.html"; } + + + @Autowired + private ITSiteTypeService siteTypeService; + + + @Autowired + private ITSiteService siteService; + + @RequestMapping("/type1") + @ResponseBody + public Object type1(String time) { + HashMap<String, Object> map = new HashMap<>(); + // 找出平台的用户 + List<User> list = sysUserService.list(new LambdaQueryWrapper<User>().eq(User::getObjectType, 1)); + List<Integer> ids = list.stream().map(User::getId).collect(Collectors.toList()); + List<Integer> userIds = appUserClient.getUserPt(ids); + QueryDataFee queryDataFee = new QueryDataFee(time, userIds); + // 会员费 + HashMap<String, Object> map1 = appUserClient.queryFee(queryDataFee); + Object fee1 = map1.get("fee1"); + + map.put("fee1",fee1); + //玩湃比 + Object fee2 = map1.get("fee2"); + map.put("fee2",fee2); + // 课程收入 + HashMap<String, Object> map3 = courseClient.queryFee(queryDataFee); + map.put("fee3",map3.get("fee")); + Object data = map3.get("data"); + map.put("courseData",data); + + + // 赛事收入 + Double aDouble1 = competitionClient.queryFee(queryDataFee); + map.put("fee4",aDouble1); + + // 订场 + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<SiteBooking> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(time)){ + String stime = time.split(" - ")[0]+" 00:00:00"; + String etime = time.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(SiteBooking::getInsertTime,stime,etime); + } + if(userIds.size()==0){ + userIds.add(-1); + } + vipPaymentLambdaQueryWrapper.in(SiteBooking::getAppUserId,userIds); + vipPaymentLambdaQueryWrapper.ne(SiteBooking::getStatus,0); + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + objects.add(2); + vipPaymentLambdaQueryWrapper.in(SiteBooking::getPayType,objects); + List<SiteBooking> list1 = siteBookingService.list(vipPaymentLambdaQueryWrapper); + double sum = list1.stream().mapToDouble(SiteBooking::getPayMoney).sum(); + map.put("fee5",sum); + + + List<Integer> collect = list1.stream().map(SiteBooking::getSiteId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TSite> list3 = siteService.list(new LambdaQueryWrapper<TSite>().in(TSite::getId, collect)); + for (SiteBooking siteBooking : list1) { + for (TSite tSite : list3) { + if(siteBooking.getSiteId().equals(tSite.getId())){ + siteBooking.setType(tSite.getSiteTypeId()); + } + } + } + + + List<TSiteType> list2 = siteTypeService.list(); + + List<Map<String,Object>> mapList = new ArrayList<>(); + + for (TSiteType tSiteType : list2) { + HashMap<String, Object> map2 = new HashMap<>(); + map2.put("name",tSiteType.getName()); + double a =0; + for (SiteBooking siteBooking : list1) { + if(tSiteType.getId().equals(siteBooking.getType())){ + a += siteBooking.getPayMoney(); + } + } + map2.put("value",a); + mapList.add(map2); + } + map.put("siteData",mapList); + + + // 商品 门票 + HashMap<String, Object> map2 = pointMercharsClient.queryFee(queryDataFee); + Object all = map2.get("all"); + Object day = map2.get("day"); + Object month = map2.get("month"); + Object quarter = map2.get("quarter"); + Object year = map2.get("year"); + map.put("fee7",all); + map.put("dayone",day); + map.put("monthone",month); + map.put("quarterone",quarter); + map.put("yearone",year); + + return map; + } + @RequestMapping("/stuCourseData") + @ResponseBody + public Object stuCourseData() { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + List<Integer> userIds = appUserClient.getUserPt(objects); + List<Map<String,Object>> list = coursePackagePaymentClient.queryCourseData(userIds); + ArrayList<Object> objects2 = new ArrayList<>(); + ArrayList<Object> objects3 = new ArrayList<>(); + for (Map<String, Object> map : list) { + Object name = map.get("name"); + Object value = map.get("value"); + objects2.add(name); + objects3.add(value); + } + HashMap<String, Object> map = new HashMap<>(); + map.put("data1",objects2); + map.put("data2",objects3); + return map; + } + @RequestMapping("/stuUserData") + @ResponseBody + public Object stuUserData() { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + HashMap<String, Object> map = appUserClient.queryUserAge1(); + + return map; + } + @RequestMapping("/stuUserDataYys") + @ResponseBody + public Object stuUserDataYys(Integer id) { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + HashMap<String, Object> map = appUserClient.queryUserAgeYys(id); + + return map; + } + @RequestMapping("/stuUserDataStore") + @ResponseBody + public Object stuUserDataStore(Integer id) { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + HashMap<String, Object> map = appUserClient.queryUserAgeStore(id); + + return map; + } + @RequestMapping("/selectYysJx") + @ResponseBody + public Object selectYysJx(Integer id) { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + HashMap<String, Object> map1 = appUserClient.queryUserAgeYys1(id); + // 找出运营商的用户 + List<Integer> userYYs = appUserClient.getUserYYs(id); + + + List<Map<String, Object>> mapList = coursePackagePaymentClient.queryCourseData(userYYs); + ArrayList<Object> objects2 = new ArrayList<>(); + ArrayList<Object> objects3 = new ArrayList<>(); + for (Map<String, Object> map : mapList) { + Object name = map.get("name"); + Object value = map.get("value"); + objects2.add(name); + objects3.add(value); + } + HashMap<String, Object> map = new HashMap<>(); + map1.put("data1",objects2); + map1.put("data2",objects3); + + + return map1; + } + @RequestMapping("/selectStoreJx") + @ResponseBody + public Object selectStoreJx(Integer id) { + ArrayList<Integer> objects = new ArrayList<>(); + objects.add(1); + HashMap<String, Object> map1 = appUserClient.queryUserAgeStore1(id); + // 找出运营商的用户 + List<Integer> userYYs = appUserClient.getUserYYs(id); + + + List<Map<String, Object>> mapList = coursePackagePaymentClient.queryCourseData(userYYs); + ArrayList<Object> objects2 = new ArrayList<>(); + ArrayList<Object> objects3 = new ArrayList<>(); + for (Map<String, Object> map : mapList) { + Object name = map.get("name"); + Object value = map.get("value"); + objects2.add(name); + objects3.add(value); + } + HashMap<String, Object> map = new HashMap<>(); + map1.put("data1",objects2); + map1.put("data2",objects3); + + + return map1; + } } -- Gitblit v1.7.1