From 266fbc08e028cab1f276eeedc682f73215965833 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 09 十月 2023 18:02:13 +0800 Subject: [PATCH] update --- cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 121 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 0 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java index 5eb21c1..394eec2 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java @@ -26,6 +26,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.*; import java.util.stream.Collectors; @@ -262,6 +264,13 @@ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id)); return list.stream().map(TAppUser::getId).collect(Collectors.toList()); } + @ResponseBody + @PostMapping("/student/getUserPtVip") + public List<Integer> getUserPtVip(){ + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1)); + return list.stream().map(TAppUser::getId).collect(Collectors.toList()); + } + @PostMapping("/student/getUserStore") @ResponseBody public List<Integer> getUserStore(@RequestBody Integer id){ @@ -270,6 +279,118 @@ } + @ResponseBody + @PostMapping("/student/userAndVipPt") + public HashMap<String, Object> userAndVipPt(@RequestBody Integer type){ + HashMap<String, Object> map = new HashMap<>(); + // 所有的 + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1)); + map.put("allUser",list.size()); + List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1)); + map.put("allVip",list1.size()); + + + 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()); + // 年 + ArrayList<Long> years = new ArrayList<>(); + ArrayList<Long> yearsVip = new ArrayList<>(); + for (Object o : collect) { + String s = o.toString(); + long count = list.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + long count1 = list1.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + years.add(count); + yearsVip.add(count1); + } + map.put("yearData",years); + map.put("yearsVip",yearsVip); + + ArrayList<Long> months = new ArrayList<>(); + ArrayList<Long> monthsVip = new ArrayList<>(); + // 月 + for (int i = 1; i <= 12; i++) { + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + long count = list.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + long count1 = list1.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + months.add(count); + monthsVip.add(count1); + } + map.put("monthData",months); + map.put("monthsVip",monthsVip); + + // 周 + + // 获取最近四周 + 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(); + + + int count = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).between(TAppUser::getInsertTime, s7, s8)); + int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s7, s8)); + + int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).between(TAppUser::getInsertTime,s5,s6)); + int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s5,s6)); + + int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).between(TAppUser::getInsertTime,s3,s4)); + int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s3,s4)); + + int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).between(TAppUser::getInsertTime,s1,s2)); + int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s1,s2)); + map.put("count",count); + map.put("count1",count1); + map.put("count2",count2); + map.put("count3",count3); + map.put("countVip",countVip); + map.put("countVip1",countVip1); + map.put("countVip2",countVip2); + map.put("countVip3",countVip3); + + + // 日 + ArrayList<Integer> days = new ArrayList<>(); + ArrayList<Integer> daysVip = new ArrayList<>(); + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + int count4 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).between(TAppUser::getInsertTime,s,s9)); + int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s,s9)); + days.add(count4); + daysVip.add(countVip5); + } + map.put("dayData",days); + map.put("daysVip",daysVip); + + + return map; + + } + + + + + + @PostMapping("/student/queryFee") public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ HashMap<String, Object> map = new HashMap<>(); -- Gitblit v1.7.1