From 6593a67fdfb688c70365b419c0e9658c690524b5 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期一, 16 十月 2023 09:50:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 1181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,170 insertions(+), 11 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 b567478..aab6727 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
@@ -1,26 +1,32 @@
package com.dsh.account.controller;
+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.account.dto.StudentSearch;
-import com.dsh.account.dto.TStudentDto;
-import com.dsh.account.entity.TStudent;
+import com.dsh.account.dto.*;
+import com.dsh.account.entity.*;
+import com.dsh.account.feignclient.course.CoursePaymentClient;
+import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
+import com.dsh.account.model.QueryDataFee;
import com.dsh.account.model.StudentVo;
-import com.dsh.account.service.TAppUserService;
-import com.dsh.account.service.TStudentService;
+import com.dsh.account.service.*;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
-import io.micrometer.core.instrument.search.Search;
+import com.dsh.account.util.ToolUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
-import jdk.nashorn.internal.ir.annotations.Ignore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import springfox.documentation.swagger2.mappers.ModelMapper;
+import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @author zhibing.pu
@@ -36,7 +42,25 @@
@Autowired
private TokenUtil tokenUtil;
+ @Autowired
+ private TAppUserService appUserService;
+ @Autowired
+ private IVipPaymentService vipPaymentService;
+
+ @Autowired
+ private RechargeRecordsService rechargeRecordsService;
+
+ /**
+ * 添加学员
+ * @return
+ */
+ @RequestMapping("/base/student/addStudent")
+ public Object addStudent(@RequestBody TStudent student){
+ student.setInsertTime(new Date());
+ student.setIsDefault(1);
+ return studentService.save(student);
+ }
/**
* 获取用户学员列表
* @param appUserId
@@ -54,13 +78,30 @@
}
}
+ @ResponseBody
+ @PostMapping("/student/queryStudentCom")
+ public List<Map<String, Object>> queryStudentCom(@RequestBody Integer id){
+
+ List<Map<String, Object>> list = studentService.queryCom(id);
+ return list;
+
+ }
+
+ @ResponseBody
+ @PostMapping("/student/frozen")
+ public void frozen(@RequestBody TStudent student){
+ studentService.updateById(student);
+
+ }
+
+
@ResponseBody
@PostMapping("/student/queryDefaultStudent")
public TStudent queryDefaultStudent(@RequestBody Integer appUserId){
try {
- TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("isDefault", 1).eq("state", 1));
+ TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("isDefault", 1).eq("state", 1).last("limit 1"));
return one;
}catch (Exception e){
e.printStackTrace();
@@ -131,6 +172,8 @@
}
+
+
/**
* 根据名称模糊搜索学员
* @param name
@@ -139,6 +182,15 @@
@ResponseBody
@PostMapping("/student/queryStudentListByName")
public List<TStudent> queryStudentListByName(@RequestBody String name){
+ return studentService.list(new QueryWrapper<TStudent>().eq("state", 1).like("name", name));
+ }
+ /**
+ * 根据名称模糊搜索学员
+ * @param name
+ * @return
+ */
+ @PostMapping("/student/queryTStudentListByName")
+ public List<TStudent> queryTStudentListByName(@RequestBody String name){
return studentService.list(new QueryWrapper<TStudent>().eq("state", 1).like("name", name));
}
@@ -160,4 +212,1111 @@
System.out.println("===?==》"+id);
return studentService.listOne(id);
}
+
+ @ResponseBody
+ @PostMapping("/student/update")
+ public void update(@RequestBody TStudent tStudent){
+ System.out.println("======tStudent======"+tStudent);
+ studentService.updateById(tStudent);
+ }
+
+ @ResponseBody
+ @PostMapping("/student/createHistory")
+ public void createHistory(@RequestBody CreateHistoryDto createHistoryDto){
+ createHistoryDto.setDate(new Date());
+ studentService.createHistory(createHistoryDto);
+ }
+
+ @ResponseBody
+ @PostMapping("/student/getHisory")
+ public List<GetHistoryDto> getHisory(){
+ List<GetHistoryDto> getHistoryDtos = studentService.getHistory();
+ return getHistoryDtos;
+ }
+
+
+ @Resource
+ private CoursePaymentClient paymentClient;
+ @ResponseBody
+ @PostMapping("/student/giftSelect")
+ public List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto){
+ System.out.println("======giftSelect=========giftSearchDto===="+giftSearchDto);
+
+// Integer appId = studentService.getGiftSelect(giftSearchDto);
+ TCoursePackagePayment1 coursePackagePaymentById = paymentClient.getCoursePackagePaymentById1(giftSearchDto.getId());
+// System.out.println("=======giftSelect======appId====>"+appId);
+ List<TStudent> selectDtos = studentService.list(new QueryWrapper<TStudent>()
+ .select("name, id")
+ .eq("state", 1)
+ .eq("name", giftSearchDto.getName()).eq("phone",giftSearchDto.getPhone()).ne("appUserId",coursePackagePaymentById.getAppUserId()));
+
+
+ List<SelectDto> list = new ArrayList<>();
+ for (TStudent student : selectDtos) {
+ SelectDto selectDto = new SelectDto();
+ selectDto.setValue(student.getName());
+ selectDto.setId(student.getId());
+ list.add(selectDto);
+ }
+ System.out.println("=======giftSelect======selectDtos====>"+list);
+ return list;
+ }
+
+
+ @PostMapping("/student/getUserPt")
+ @ResponseBody
+ public List<Integer> getUserPt(@RequestBody List<Integer> ids){
+ if(ids.size()==0){
+ ids.add(-1);
+ }
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1));
+ return list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ }
+ @PostMapping("/student/getUserYYs")
+ @ResponseBody
+ public List<Integer> getUserYYs(@RequestBody Integer id){
+ 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());
+ }
+ @PostMapping("/student/getUserStore")
+ @ResponseBody
+ public List<Integer> getUserStore(@RequestBody Integer id){
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).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());
+ }
+
+
+
+
+ @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<>();
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ // 月
+ 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 -> format.format(e.getInsertTime()).contains(s)).count();
+ long count1 = list1.stream().filter(e -> format.format(e.getInsertTime()).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;
+
+ }
+ @ResponseBody
+ @PostMapping("/student/stuPt")
+ public HashMap<String, Object> stuPt(){
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1));
+ List<Integer> collect1 = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect1.size()==0){
+ collect1.add(-1);
+ }
+ List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1));
+ map.put("allUser",students.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<>();
+ for (Object o : collect) {
+ String s = o.toString();
+ long count = students.stream().filter(e -> e.getInsertTime().toString().contains(s)).count();
+ years.add(count);
+ }
+ map.put("yearData",years);
+
+ ArrayList<Long> months = new ArrayList<>();
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+ // 月
+ for (int i = 1; i <= 12; i++) {
+ String m=i+"";
+ if(i<10){
+ m="0"+i;
+ }
+ String s = year + "-" + m;
+ long count = students.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count();
+ months.add(count);
+ }
+ map.put("monthData",months);
+
+ // 周
+
+ // 获取最近四周
+ 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 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime, s7, s8));
+
+ int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s5,s6));
+
+ int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s3,s4));
+
+ int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s1,s2));
+ map.put("count",count);
+ map.put("count1",count1);
+ map.put("count2",count2);
+ map.put("count3",count3);
+
+
+ // 日
+ ArrayList<Integer> days = new ArrayList<>();
+ for (int i = 6; i >= 0; i--) {
+ String s = minNow.minusDays(i).toString();
+ String s9 = maxNow.minusDays(i).toString();
+ int count4 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s,s9));
+ days.add(count4);
+ }
+ map.put("dayData",days);
+
+
+ return map;
+
+
+ }
+ @ResponseBody
+ @PostMapping("/student/stuYys")
+ public HashMap<String, Object> stuYys(@RequestBody Integer id){
+
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getAddUserId, id));
+ List<Integer> collect1 = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect1.size()==0){
+ collect1.add(-1);
+ }
+ List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1));
+ map.put("allUser",students.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<>();
+ for (Object o : collect) {
+ String s = o.toString();
+ long count = students.stream().filter(e -> e.getInsertTime().toString().contains(s)).count();
+ years.add(count);
+ }
+ map.put("yearData",years);
+
+ ArrayList<Long> months = new ArrayList<>();
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+ // 月
+ for (int i = 1; i <= 12; i++) {
+ String m=i+"";
+ if(i<10){
+ m="0"+i;
+ }
+ String s = year + "-" + m;
+ long count = students.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count();
+ months.add(count);
+ }
+ map.put("monthData",months);
+
+ // 周
+
+ // 获取最近四周
+ 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 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime, s7, s8));
+
+ int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s5,s6));
+
+ int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s3,s4));
+
+ int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s1,s2));
+ map.put("count",count);
+ map.put("count1",count1);
+ map.put("count2",count2);
+ map.put("count3",count3);
+
+
+ // 日
+ ArrayList<Integer> days = new ArrayList<>();
+ for (int i = 6; i >= 0; i--) {
+ String s = minNow.minusDays(i).toString();
+ String s9 = maxNow.minusDays(i).toString();
+ int count4 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s,s9));
+ days.add(count4);
+ }
+ map.put("dayData",days);
+
+
+ return map;
+
+ }
+
+
+ @ResponseBody
+ @PostMapping("/student/comdel")
+ public void comdel(@RequestBody Integer id) {
+ evaluateStudentService.removeById(id);
+
+ }
+
+
+ @ResponseBody
+ @PostMapping("/student/stuStores")
+ public HashMap<String, Object> stuStores(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getAddUserId, id));
+ List<Integer> collect1 = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect1.size()==0){
+ collect1.add(-1);
+ }
+ List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1));
+ map.put("allUser",students.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<>();
+ for (Object o : collect) {
+ String s = o.toString();
+ long count = students.stream().filter(e -> e.getInsertTime().toString().contains(s)).count();
+ years.add(count);
+ }
+ map.put("yearData",years);
+
+ ArrayList<Long> months = new ArrayList<>();
+
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+
+ // 月
+ for (int i = 1; i <= 12; i++) {
+ String m=i+"";
+ if(i<10){
+ m="0"+i;
+ }
+ String s = year + "-" + m;
+ long count = students.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count();
+ months.add(count);
+ }
+ map.put("monthData",months);
+
+ // 周
+
+ // 获取最近四周
+ 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 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime, s7, s8));
+
+ int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s5,s6));
+
+ int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s3,s4));
+
+ int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s1,s2));
+ map.put("count",count);
+ map.put("count1",count1);
+ map.put("count2",count2);
+ map.put("count3",count3);
+
+
+ // 日
+ ArrayList<Integer> days = new ArrayList<>();
+ for (int i = 6; i >= 0; i--) {
+ String s = minNow.minusDays(i).toString();
+ String s9 = maxNow.minusDays(i).toString();
+ int count4 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s,s9));
+ days.add(count4);
+ }
+ map.put("dayData",days);
+
+
+ return map;
+
+ }
+
+
+
+
+ @Autowired
+ private EvaluateStudentService evaluateStudentService;
+ @ResponseBody
+ @PostMapping("/student/save")
+ public void save(@RequestBody EvaluateStudent evaluateStudent) {
+ evaluateStudent.setInsertTime(new Date());
+ evaluateStudentService.saveOrUpdate(evaluateStudent);
+
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/student/userAndVipYys")
+ public HashMap<String, Object> userAndVipYys(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id));
+ map.put("allUser",list.size());
+ List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).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<>();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ // 月
+ 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 -> format.format(e.getInsertTime()).contains(s)).count();
+ long count1 = list1.stream().filter(e -> format.format(e.getInsertTime()).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, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime, s7, s8));
+ int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s7, s8));
+
+ int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s5,s6));
+ int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s5,s6));
+
+ int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s3,s4));
+ int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s3,s4));
+
+ int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s1,s2));
+ int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).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, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s,s9));
+ int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).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;
+
+ }
+ @ResponseBody
+ @PostMapping("/student/userAndVipStore")
+ public HashMap<String, Object> userAndVipStore(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id));
+ map.put("allUser",list.size());
+ List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).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<>();
+ // 月
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ 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 -> format.format(e.getInsertTime()).contains(s)).count();
+ long count1 = list1.stream().filter(e -> format.format(e.getInsertTime()).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, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime, s7, s8));
+ int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s7, s8));
+
+ int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s5,s6));
+ int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s5,s6));
+
+ int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s3,s4));
+ int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s3,s4));
+
+ int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s1,s2));
+ int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).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, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s,s9));
+ int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).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<>();
+ String data = queryDataFee.getData();
+ List<Integer> ids = queryDataFee.getIds();
+ if(ids.size()==0){
+ ids.add(-1);
+ }
+ LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if(ToolUtil.isNotEmpty(data)){
+ String stime = data.split(" - ")[0]+" 00:00:00";
+ String etime = data.split(" - ")[1]+" 23:59:59";
+ vipPaymentLambdaQueryWrapper.between(VipPayment::getInsertTime,stime,etime);
+ }
+ vipPaymentLambdaQueryWrapper.in(VipPayment::getAppUserId,ids);
+ vipPaymentLambdaQueryWrapper.eq(VipPayment::getPayStatus,2);
+ List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper);
+ double sum = list.stream().mapToDouble(VipPayment::getAmount).sum();
+
+ map.put("fee1",sum);
+
+ LambdaQueryWrapper<RechargeRecords> rechargeRecordsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ if(ToolUtil.isNotEmpty(data)){
+ String stime = data.split(" - ")[0]+" 00:00:00";
+ String etime = data.split(" - ")[1]+" 23:59:59";
+ rechargeRecordsLambdaQueryWrapper.between(RechargeRecords::getInsertTime,stime,etime);
+ }
+ rechargeRecordsLambdaQueryWrapper.in(RechargeRecords::getAppUserId,ids);
+ rechargeRecordsLambdaQueryWrapper.eq(RechargeRecords::getPayStatus,2);
+ List<RechargeRecords> list1 = rechargeRecordsService.list(rechargeRecordsLambdaQueryWrapper);
+ double sum1 = list1.stream().map(RechargeRecords::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).doubleValue();
+
+ map.put("fee2",sum1);
+
+
+
+
+ return map;
+
+
+ }
+
+
+
+ @PostMapping("/student/queryUserAge")
+ public HashMap<String, Object> queryUserAge(){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+ List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect));
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int boy=0;
+ int girl=0;
+ for (TStudent tStudent : list1) {
+ Date birthday = tStudent.getBirthday();
+ long l = DateUtil.betweenYear(birthday, new Date(), true);
+ if(l<7){
+ age1++;
+ }else if(l>=8 && l<11){
+ age2++;
+ }else if(l>=11 && l<=12){
+ age3++;
+ }else {
+ age4++;
+ }
+ if(tStudent.getSex()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+
+
+ }
+ @PostMapping("/student/queryUserAge1")
+ public HashMap<String, Object> queryUserAge1(){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+
+
+ Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet();
+ ArrayList<String> strings1 = new ArrayList<>();
+ ArrayList<Integer> integers = new ArrayList<>();
+
+ for (String string : strings) {
+ int a = 0;
+ strings1.add(string);
+ for (TAppUser tAppUser : list) {
+ if(tAppUser.getCity().equals(string)){
+ a++;
+ }
+ }
+ integers.add(a);
+ }
+
+ map.put("cityData",strings1);
+ map.put("cityNum",integers);
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int age5=0;
+ int age6=0;
+ int boy=0;
+ int girl=0;
+ for (TAppUser tStudent : list) {
+ Date birthday = tStudent.getBirthday();
+ long l =0;
+ if(birthday!=null){
+
+ l = DateUtil.betweenYear(birthday, new Date(), true);
+ }
+ if(l<=12){
+ age1++;
+ }else if(l>12 && l<18){
+ age2++;
+ }else if(l>=19 && l<=25){
+ age3++;
+ }else if(l>=26 && l<=35){
+ age4++;
+ }else if(l>=36 && l<=50){
+ age5++;
+ }else {
+ age6++;
+ }
+ if(tStudent.getGender()!=null &&tStudent.getGender()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("age5",age5);
+ map.put("age6",age6);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+
+
+ }
+ @PostMapping("/student/queryUserAgeYys")
+ public HashMap<String, Object> queryUserAgeYys(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+
+
+ Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet();
+ ArrayList<String> strings1 = new ArrayList<>();
+ ArrayList<Integer> integers = new ArrayList<>();
+
+ for (String string : strings) {
+ int a = 0;
+ strings1.add(string);
+ for (TAppUser tAppUser : list) {
+ if(tAppUser.getCity().equals(string)){
+ a++;
+ }
+ }
+ integers.add(a);
+ }
+
+ map.put("cityData",strings1);
+ map.put("cityNum",integers);
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int age5=0;
+ int age6=0;
+ int boy=0;
+ int girl=0;
+ for (TAppUser tStudent : list) {
+ Date birthday = tStudent.getBirthday();
+ long l =0;
+ if(birthday!=null){
+
+ l = DateUtil.betweenYear(birthday, new Date(), true);
+ }
+ if(l<=12){
+ age1++;
+ }else if(l>12 && l<18){
+ age2++;
+ }else if(l>=19 && l<=25){
+ age3++;
+ }else if(l>=26 && l<=35){
+ age4++;
+ }else if(l>=36 && l<=50){
+ age5++;
+ }else {
+ age6++;
+ }
+ if(tStudent.getGender()!=null &&tStudent.getGender()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("age5",age5);
+ map.put("age6",age6);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+ }
+ @PostMapping("/student/queryUserAgeStore")
+ public HashMap<String, Object> queryUserAgeStore(Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+
+
+ Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet();
+ ArrayList<String> strings1 = new ArrayList<>();
+ ArrayList<Integer> integers = new ArrayList<>();
+
+ for (String string : strings) {
+ int a = 0;
+ strings1.add(string);
+ for (TAppUser tAppUser : list) {
+ if(tAppUser.getCity().equals(string)){
+ a++;
+ }
+ }
+ integers.add(a);
+ }
+
+ map.put("cityData",strings1);
+ map.put("cityNum",integers);
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int age5=0;
+ int age6=0;
+ int boy=0;
+ int girl=0;
+ for (TAppUser tStudent : list) {
+ Date birthday = tStudent.getBirthday();
+ long l =0;
+ if(birthday!=null){
+
+ l = DateUtil.betweenYear(birthday, new Date(), true);
+ }
+ if(l<=12){
+ age1++;
+ }else if(l>12 && l<18){
+ age2++;
+ }else if(l>=19 && l<=25){
+ age3++;
+ }else if(l>=26 && l<=35){
+ age4++;
+ }else if(l>=36 && l<=50){
+ age5++;
+ }else {
+ age6++;
+ }
+ if(tStudent.getGender()!=null &&tStudent.getGender()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("age5",age5);
+ map.put("age6",age6);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+ }
+ @PostMapping("/student/queryUserAgeYys1")
+ public HashMap<String, Object> queryUserAgeYys1(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+ List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect));
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int boy=0;
+ int girl=0;
+ for (TStudent tStudent : list1) {
+ Date birthday = tStudent.getBirthday();
+ long l = DateUtil.betweenYear(birthday, new Date(), true);
+ if(l<7){
+ age1++;
+ }else if(l>=8 && l<11){
+ age2++;
+ }else if(l>=11 && l<=12){
+ age3++;
+ }else {
+ age4++;
+ }
+ if(tStudent.getSex()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+
+ }
+ @PostMapping("/student/queryUserAgeStore1")
+ public HashMap<String, Object> queryUserAgeStore1(@RequestBody Integer id){
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if(collect.size()==0){
+ collect.add(-1);
+ }
+ List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect));
+ int age1=0;
+ int age2=0;
+ int age3=0;
+ int age4=0;
+ int boy=0;
+ int girl=0;
+ for (TStudent tStudent : list1) {
+ Date birthday = tStudent.getBirthday();
+ long l = DateUtil.betweenYear(birthday, new Date(), true);
+ if(l<7){
+ age1++;
+ }else if(l>=8 && l<11){
+ age2++;
+ }else if(l>=11 && l<=12){
+ age3++;
+ }else {
+ age4++;
+ }
+ if(tStudent.getSex()==1){
+ boy++;
+ }else {
+ girl++;
+ }
+ }
+ map.put("age1",age1);
+ map.put("age2",age2);
+ map.put("age3",age3);
+ map.put("age4",age4);
+ map.put("boy",boy);
+ map.put("girl",girl);
+ return map;
+
+
+ }
}
--
Gitblit v1.7.1