From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 1271 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 1,237 insertions(+), 34 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 e3b035a..9629d6d 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,35 @@ 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.CreateHistoryDto; -import com.dsh.account.dto.GetHistoryDto; -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.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.TAppUserService; -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.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 @@ -38,33 +45,114 @@ @Autowired private TokenUtil tokenUtil; + @Autowired + private TAppUserService appUserService; + + @Autowired + private IVipPaymentService vipPaymentService; + + @Autowired + private RechargeRecordsService rechargeRecordsService; + + @Resource + private CoursePackageClient coursePackageClient; + + + + /** + * 添加学员 + * + * @return + */ + @RequestMapping("/base/student/addStudent") + public Object addStudent(@RequestBody TStudent student) { + student.setInsertTime(new Date()); + student.setIsDefault(1); + 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<>(); + } + } + + + @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/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)); + 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; } @@ -77,10 +165,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)); @@ -95,7 +183,7 @@ studentVo.setName(tStudent.getName()); } return ResultUtil.success(listVo); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); } @@ -104,30 +192,48 @@ /** * 根据电话号码学员信息 + * * @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; } @@ -135,12 +241,24 @@ /** * 根据名称模糊搜索学员 + * * @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)); } @@ -152,40 +270,1125 @@ @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(); + return getHistoryDtos; + } + + + @Resource + private CoursePaymentClient paymentClient; + + @ResponseBody + @PostMapping("/student/giftSelect") + 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>() + .eq("state", 1) + .eq("appUserId", one.getId())); + 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()); + } + + @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/getHisory") - public List<GetHistoryDto> getHisory(){ + @PostMapping("/student/comdel") + public void comdel(@RequestBody Integer id) { + evaluateStudentService.removeById(id); - List<GetHistoryDto> getHistoryDtos = studentService.getHistory(); + } - return getHistoryDtos; + @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)); + 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 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); + } + + + 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(@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); + } + + + 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 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