From 3c8dc107047c0b5ee407fa36ca2ce06090f75929 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 12 四月 2025 18:05:02 +0800
Subject: [PATCH] bug修改
---
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 1290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 1,248 insertions(+), 42 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 aa78a73..86a9955 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,28 +1,34 @@
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.*;
-import com.dsh.account.entity.Coach;
-import com.dsh.account.entity.GiftSearchDto;
-import com.dsh.account.entity.TStudent;
+import com.dsh.account.entity.*;
+import com.dsh.account.feignclient.course.CoursePackageClient;
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.Student;
import com.dsh.account.model.StudentVo;
-import com.dsh.account.service.TStudentService;
+import com.dsh.account.model.updateTimeDto;
+import com.dsh.account.service.*;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+import com.dsh.account.util.ToolUtil;
+import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
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
@@ -38,42 +44,124 @@
@Autowired
private TokenUtil tokenUtil;
+ @Autowired
+ private TAppUserService appUserService;
+
+ @Autowired
+ private IVipPaymentService vipPaymentService;
+
+ @Autowired
+ private RechargeRecordsService rechargeRecordsService;
+
+ @Resource
+ private CoursePackageClient coursePackageClient;
+
+ /**
+ * 查询惠民卡绑定学员列表信息
+ *
+ * @return
+ */
+ @RequestMapping("/base/student/getStudentByIds/{ids}")
+ public List<TStudent> getStudentByIds(@PathVariable("ids") String ids) {
+ List<TStudent> list = studentService.list(new LambdaQueryWrapper<TStudent>()
+ .in(TStudent::getId, Arrays.asList(ids.split(","))));
+ return list;
+ }
+
/**
* 添加学员
+ *
* @return
*/
@RequestMapping("/base/student/addStudent")
- public Object addStudent(@RequestBody TStudent student){
+ public Object addStudent(@RequestBody TStudent student) {
student.setInsertTime(new Date());
student.setIsDefault(1);
- return studentService.save(student);
+ return studentService.save(student);
}
+
+ /**
+ * 获取有学员的用户ids
+ *
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/student/getHasStudentUser")
+ public List<Integer> getHasStudentUser() {
+ return studentService.list(new QueryWrapper<TStudent>()).stream().map(TStudent::getAppUserId).distinct().collect(Collectors.toList());
+ }
+
/**
* 获取用户学员列表
+ *
* @param appUserId
* @return
*/
@ResponseBody
@PostMapping("/student/queryStudentList")
- public List<TStudent> queryStudentList(@RequestBody Integer appUserId){
+ public List<TStudent> queryStudentList(@RequestBody Integer appUserId) {
try {
List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("state", 1));
return list;
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return new ArrayList<>();
}
}
+ @ResponseBody
+ @PostMapping("/student/queryListByIds")
+ public List<TStudent> queryListByIds(@RequestBody List<Integer> collect) {
+ try {
+ List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().in("id", collect).eq("state", 1));
+ return list;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return new ArrayList<>();
+ }
+ }
+
+
+ @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/getById")
+ public Date getById(@RequestBody Integer tStudentId) {
+ return studentService.getById(tStudentId).getValidity();
+
+ }
+ @ResponseBody
+ @PostMapping("/student/update1")
+ public void update(@RequestBody updateTimeDto updateTimeDto) {
+
+ TStudent student = new TStudent();
+ student.setId(updateTimeDto.getTStudentId());
+ student.setValidity(updateTimeDto.getDate());
+ studentService.updateById(student);
+ }
+
@ResponseBody
@PostMapping("/student/queryDefaultStudent")
- public TStudent queryDefaultStudent(@RequestBody Integer appUserId){
+ public TStudent queryDefaultStudent(@RequestBody Integer appUserId) {
try {
TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("isDefault", 1).eq("state", 1).last("limit 1"));
return one;
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return null;
}
@@ -86,10 +174,10 @@
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
})
- public ResultUtil<List<StudentVo>> queryStudentList(){
+ public ResultUtil<List<StudentVo>> queryStudentList() {
try {
Integer uid = tokenUtil.getUserIdFormRedis();
- if(null == uid){
+ if (null == uid) {
return ResultUtil.tokenErr();
}
List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().eq("appUserId", uid).eq("state", 1));
@@ -104,7 +192,7 @@
studentVo.setName(tStudent.getName());
}
return ResultUtil.success(listVo);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return ResultUtil.runErr();
}
@@ -113,45 +201,73 @@
/**
* 根据电话号码学员信息
+ *
* @param phone
* @return
*/
@ResponseBody
@PostMapping("/student/queryStudentByPhone")
- public TStudent queryStudentByPhone(@RequestBody String phone){
+ public TStudent queryStudentByPhone(@RequestBody String phone) {
try {
TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("phone", phone).eq("state", 1));
return one;
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
return null;
}
}
+ @ResponseBody
+ @PostMapping("/student/queryById")
+ public TStudent queryById(@RequestBody Integer id) {
+ return studentService.getById(id);
+ }
+
+ @ResponseBody
+ @PostMapping("/base/appUser/updateTStudent")
+ public void updateTStudent(@RequestBody TStudent student) {
+ try {
+ studentService.updateById(student);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
/**
* 根据id获取数据
+ *
* @param id
* @return
*/
@ResponseBody
@PostMapping("/student/queryStudentById")
- public TStudent queryStudentById(@RequestBody Integer id){
+ public TStudent queryStudentById(@RequestBody Integer id) {
TStudent student = studentService.getById(id);
return student;
}
-
-
/**
* 根据名称模糊搜索学员
+ *
* @param name
* @return
*/
@ResponseBody
@PostMapping("/student/queryStudentListByName")
- public List<TStudent> queryStudentListByName(@RequestBody String name){
+ 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));
}
@@ -163,55 +279,54 @@
@ResponseBody
@PostMapping("/student/webStudentList")
- public List<TStudentDto> querywebStudent(@RequestBody StudentSearch search){
+ public List<TStudentDto> querywebStudent(@RequestBody StudentSearch search) {
return studentService.listAll(search);
}
@ResponseBody
@PostMapping("/student/webOneStudent")
- public TStudentDto querywebStudentOne(@RequestParam("id")Integer id){
- System.out.println("===?==》"+id);
+ public TStudentDto querywebStudentOne(@RequestParam("id") Integer id) {
+ System.out.println("===?==》" + id);
return studentService.listOne(id);
}
@ResponseBody
@PostMapping("/student/update")
- public void update(@RequestBody TStudent tStudent){
- System.out.println("======tStudent======"+tStudent);
+ public void update(@RequestBody TStudent tStudent) {
+ System.out.println("======tStudent======" + tStudent);
studentService.updateById(tStudent);
}
@ResponseBody
@PostMapping("/student/createHistory")
- public void createHistory(@RequestBody CreateHistoryDto createHistoryDto){
+ 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();
+ 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);
-
+ public List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto) {
+ System.out.println("======giftSelect=========giftSearchDto====" + giftSearchDto);
+ TAppUser one = appUserService.getOne(new QueryWrapper<TAppUser>().eq("name", giftSearchDto.getName())
+ .eq("phone", giftSearchDto.getPhone()));
// 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")
+ List<TStudent> selectDtos = studentService.list(new QueryWrapper<TStudent>()
.eq("state", 1)
- .eq("name", giftSearchDto.getName()).eq("phone",giftSearchDto.getPhone()).ne("appUserId",coursePackagePaymentById.getAppUserId()));
-
-
+ .eq("appUserId", one.getId()));
List<SelectDto> list = new ArrayList<>();
for (TStudent student : selectDtos) {
SelectDto selectDto = new SelectDto();
@@ -219,7 +334,1098 @@
selectDto.setId(student.getId());
list.add(selectDto);
}
- System.out.println("=======giftSelect======selectDtos====>"+list);
+ // 只筛选当前用户已经购买了这个课程的学员
+
+ 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());
+ }
+
+ @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());
+ }
+
+ @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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids));
+ 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, ids).between(TStudent::getInsertTime, s7, s8));
+
+ int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).between(TStudent::getInsertTime, s5, s6));
+
+ int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).between(TStudent::getInsertTime, s3, s4));
+
+ int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).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, ids).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/updatePassWord")
+ public void updatePassWord(@RequestBody List<String> strings) throws Exception {
+ appUserService.updatePassword1(strings.get(0),strings.get(1),strings.get(2));
+
+ }
+
+
+ @ResponseBody
+ @PostMapping("/student/stuStores")
+ public HashMap<String, Object> stuStores(@RequestBody List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+
+ List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids));
+ 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, ids).between(TStudent::getInsertTime, s7, s8));
+
+ int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).between(TStudent::getInsertTime, s5, s6));
+
+ int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).between(TStudent::getInsertTime, s3, s4));
+
+ int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids).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, ids).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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids));
+ map.put("allUser", list.size());
+ List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids).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).in(TAppUser::getId, ids).between(TAppUser::getInsertTime, s7, s8));
+ int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s7, s8));
+
+ int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).between(TAppUser::getInsertTime, s5, s6));
+ int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s5, s6));
+
+ int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).between(TAppUser::getInsertTime, s3, s4));
+ int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s3, s4));
+
+ int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).between(TAppUser::getInsertTime, s1, s2));
+ int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).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).in(TAppUser::getId, ids).between(TAppUser::getInsertTime, s, s9));
+ int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).in(TAppUser::getId, ids).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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ // 所有的
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids));
+ map.put("allUser", list.size());
+ List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids).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::getId, ids).between(TAppUser::getInsertTime, s7, s8));
+ int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s7, s8));
+
+ int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).between(TAppUser::getInsertTime, s5, s6));
+ int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s5, s6));
+
+ int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).between(TAppUser::getInsertTime, s3, s4));
+ int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).eq(TAppUser::getIsVip, 1).between(TAppUser::getInsertTime, s3, s4));
+
+ int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).between(TAppUser::getInsertTime, s1, s2));
+ int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).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::getId, ids).between(TAppUser::getInsertTime, s, s9));
+ int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getId, ids).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)
+ .isNotNull(TAppUser::getPhone)
+ .ne(TAppUser::getState,3)
+ .isNotNull(TAppUser::getCity));
+ Set<String> strings2 = new HashSet<>(list.stream().filter(e -> e.getCity().equals("[]")).collect(Collectors.groupingBy(TAppUser::getProvince)).keySet());
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if (collect.size() == 0) {
+ collect.add(-1);
+ }
+
+ Set<String> strings = new HashSet<>(list.stream()
+ .filter(e -> !e.getCity().equals("[]") && StringUtils.hasLength(e.getCity()))
+ .collect(Collectors.groupingBy(TAppUser::getCity))
+ .keySet());
+ strings.addAll(strings2);
+ 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()!=null&&tAppUser.getCity().equals(string)) {
+ a++;
+ }else if (tAppUser.getProvince()!=null&&tAppUser.getProvince().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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids)
+ .isNotNull(TAppUser::getPhone)
+ .ne(TAppUser::getState,3)
+ .isNotNull(TAppUser::getCity));
+ Set<String> strings2 = new HashSet<>(list.stream().filter(e -> e.getCity().equals("[]")).collect(Collectors.groupingBy(TAppUser::getProvince)).keySet());
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if (collect.size() == 0) {
+ collect.add(-1);
+ }
+
+
+ Set<String> strings = new HashSet<>(list.stream()
+ .filter(e -> !e.getCity().equals("[]") && StringUtils.hasLength(e.getCity()))
+ .collect(Collectors.groupingBy(TAppUser::getCity))
+ .keySet());
+ strings.addAll(strings2);
+ 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()!=null&&tAppUser.getCity().equals(string)) {
+ a++;
+ }else if (tAppUser.getProvince()!=null&&tAppUser.getProvince().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(@RequestBody List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids)
+ .isNotNull(TAppUser::getPhone)
+ .ne(TAppUser::getState,3)
+ .isNotNull(TAppUser::getCity));
+ List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList());
+ if (collect.size() == 0) {
+ collect.add(-1);
+ }
+ Set<String> strings2 = new HashSet<>(list.stream().filter(e -> e.getCity().equals("[]")).collect(Collectors.groupingBy(TAppUser::getProvince)).keySet());
+
+
+ Set<String> strings = new HashSet<>(list.stream()
+ .filter(e -> !e.getCity().equals("[]") && StringUtils.hasLength(e.getCity()))
+ .collect(Collectors.groupingBy(TAppUser::getCity))
+ .keySet());
+ strings.addAll(strings2);
+ 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()!=null&&tAppUser.getCity().equals(string)) {
+ a++;
+ }else if (tAppUser.getProvince()!=null&&tAppUser.getProvince().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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids));
+ 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 List<Integer> ids) {
+ HashMap<String, Object> map = new HashMap<>();
+ List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, ids));
+ 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;
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/student/queryExpiredList")
+ public List<TStudent> queryExpiredList(){
+ List<TStudent> list = studentService.list(new QueryWrapper<TStudent>().eq("state", 1).last(" and DATE_FORMAT(now(), '%Y-%m-%d') > validity"));
return list;
}
}
--
Gitblit v1.7.1