From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 26 十月 2023 18:04:58 +0800 Subject: [PATCH] 修改bug --- cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 1247 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,238 insertions(+), 9 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 c264ecf..a0045da 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,22 +1,32 @@ package com.dsh.account.controller; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.dsh.account.entity.TStudent; +import com.dsh.account.dto.*; +import com.dsh.account.entity.*; +import com.dsh.account.feignclient.course.CoursePaymentClient; +import com.dsh.account.feignclient.course.model.TCoursePackagePayment; +import com.dsh.account.model.QueryDataFee; import com.dsh.account.model.StudentVo; -import com.dsh.account.service.TAppUserService; -import com.dsh.account.service.TStudentService; +import com.dsh.account.service.*; import com.dsh.account.util.ResultUtil; import com.dsh.account.util.TokenUtil; +import com.dsh.account.util.ToolUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; 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 @@ -32,7 +42,25 @@ @Autowired private TokenUtil tokenUtil; + @Autowired + private TAppUserService appUserService; + @Autowired + private IVipPaymentService vipPaymentService; + + @Autowired + private RechargeRecordsService rechargeRecordsService; + + /** + * 添加学员 + * @return + */ + @RequestMapping("/base/student/addStudent") + public Object addStudent(@RequestBody TStudent student){ + student.setInsertTime(new Date()); + student.setIsDefault(1); + return studentService.save(student); + } /** * 获取用户学员列表 * @param appUserId @@ -50,13 +78,30 @@ } } + @ResponseBody + @PostMapping("/student/queryStudentCom") + public List<Map<String, Object>> queryStudentCom(@RequestBody Integer id){ + + List<Map<String, Object>> list = studentService.queryCom(id); + return list; + + } + + @ResponseBody + @PostMapping("/student/frozen") + public void frozen(@RequestBody TStudent student){ + studentService.updateById(student); + + } + + @ResponseBody @PostMapping("/student/queryDefaultStudent") public TStudent queryDefaultStudent(@RequestBody Integer appUserId){ try { - TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("isDefault", 1).eq("state", 1)); + TStudent one = studentService.getOne(new QueryWrapper<TStudent>().eq("appUserId", appUserId).eq("isDefault", 1).eq("state", 1).last("limit 1")); return one; }catch (Exception e){ e.printStackTrace(); @@ -69,8 +114,6 @@ @PostMapping("/api/student/queryStudentList") @ApiOperation(value = "获取学员列表", tags = {"APP-课程列表"}) @ApiImplicitParams({ - @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = true), - @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil<List<StudentVo>> queryStudentList(){ @@ -88,6 +131,7 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); studentVo.setAge(Integer.valueOf(sdf.format(new Date())) - Integer.valueOf(sdf.format(tStudent.getBirthday()))); listVo.add(studentVo); + studentVo.setName(tStudent.getName()); } return ResultUtil.success(listVo); }catch (Exception e){ @@ -96,4 +140,1189 @@ } } + + /** + * 根据电话号码学员信息 + * @param phone + * @return + */ + @ResponseBody + @PostMapping("/student/queryStudentByPhone") + 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){ + e.printStackTrace(); + return null; + } + } + + + /** + * 根据id获取数据 + * @param id + * @return + */ + @ResponseBody + @PostMapping("/student/queryStudentById") + 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){ + 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)); + } + + /** + * web端查找学员 + * + * @return + */ + + @ResponseBody + @PostMapping("/student/webStudentList") + 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); + return studentService.listOne(id); + } + + @ResponseBody + @PostMapping("/student/update") + public void update(@RequestBody TStudent tStudent){ + System.out.println("======tStudent======"+tStudent); + studentService.updateById(tStudent); + } + + @ResponseBody + @PostMapping("/student/createHistory") + public void createHistory(@RequestBody CreateHistoryDto createHistoryDto){ + createHistoryDto.setDate(new Date()); + studentService.createHistory(createHistoryDto); + } + + @ResponseBody + @PostMapping("/student/getHisory") + public List<GetHistoryDto> getHisory(){ + List<GetHistoryDto> getHistoryDtos = studentService.getHistory(); + return getHistoryDtos; + } + + + @Resource + private CoursePaymentClient paymentClient; + @ResponseBody + @PostMapping("/student/giftSelect") + public List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto){ + System.out.println("======giftSelect=========giftSearchDto===="+giftSearchDto); + +// Integer appId = studentService.getGiftSelect(giftSearchDto); + TCoursePackagePayment1 coursePackagePaymentById = paymentClient.getCoursePackagePaymentById1(giftSearchDto.getId()); +// System.out.println("=======giftSelect======appId====>"+appId); + List<TStudent> selectDtos = studentService.list(new QueryWrapper<TStudent>() + .select("name, id") + .eq("state", 1) + .eq("name", giftSearchDto.getName()).eq("phone",giftSearchDto.getPhone()).ne("appUserId",coursePackagePaymentById.getAppUserId())); + + + List<SelectDto> list = new ArrayList<>(); + for (TStudent student : selectDtos) { + SelectDto selectDto = new SelectDto(); + selectDto.setValue(student.getName()); + selectDto.setId(student.getId()); + list.add(selectDto); + } + System.out.println("=======giftSelect======selectDtos====>"+list); + return list; + } + + + @PostMapping("/student/getUserPt") + @ResponseBody + public List<Integer> getUserPt(@RequestBody List<Integer> ids){ + if(ids.size()==0){ + ids.add(-1); + } + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1)); + return list.stream().map(TAppUser::getId).collect(Collectors.toList()); + } + @PostMapping("/student/getUserYYs") + @ResponseBody + public List<Integer> getUserYYs(@RequestBody Integer id){ + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id)); + return list.stream().map(TAppUser::getId).collect(Collectors.toList()); + } + @PostMapping("/student/getUserStore") + @ResponseBody + public List<Integer> getUserStore(@RequestBody Integer id){ + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id)); + return list.stream().map(TAppUser::getId).collect(Collectors.toList()); + } + @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 Integer id){ + + HashMap<String, Object> map = new HashMap<>(); + // 所有的 + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getAddUserId, id)); + List<Integer> collect1 = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect1.size()==0){ + collect1.add(-1); + } + List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1)); + map.put("allUser",students.size()); + + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Long> years = new ArrayList<>(); + for (Object o : collect) { + String s = o.toString(); + long count = students.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + years.add(count); + } + map.put("yearData",years); + + ArrayList<Long> months = new ArrayList<>(); + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + + // 月 + for (int i = 1; i <= 12; i++) { + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + long count = students.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + months.add(count); + } + map.put("monthData",months); + + // 周 + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + + int count = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime, s7, s8)); + + int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s5,s6)); + + int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s3,s4)); + + int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s1,s2)); + map.put("count",count); + map.put("count1",count1); + map.put("count2",count2); + map.put("count3",count3); + + + // 日 + ArrayList<Integer> days = new ArrayList<>(); + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + int count4 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s,s9)); + days.add(count4); + } + map.put("dayData",days); + + + return map; + + } + + + @ResponseBody + @PostMapping("/student/comdel") + public void comdel(@RequestBody Integer id) { + evaluateStudentService.removeById(id); + + } + + + @ResponseBody + @PostMapping("/student/stuStores") + public HashMap<String, Object> stuStores(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + // 所有的 + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getAddUserId, id)); + List<Integer> collect1 = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect1.size()==0){ + collect1.add(-1); + } + List<TStudent> students = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1)); + map.put("allUser",students.size()); + + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Long> years = new ArrayList<>(); + for (Object o : collect) { + String s = o.toString(); + long count = students.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + years.add(count); + } + map.put("yearData",years); + + ArrayList<Long> months = new ArrayList<>(); + + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + + // 月 + for (int i = 1; i <= 12; i++) { + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + long count = students.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + months.add(count); + } + map.put("monthData",months); + + // 周 + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + + int count = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime, s7, s8)); + + int count1 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s5,s6)); + + int count2 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s3,s4)); + + int count3 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s1,s2)); + map.put("count",count); + map.put("count1",count1); + map.put("count2",count2); + map.put("count3",count3); + + + // 日 + ArrayList<Integer> days = new ArrayList<>(); + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + int count4 = studentService.count(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect1).between(TStudent::getInsertTime,s,s9)); + days.add(count4); + } + map.put("dayData",days); + + + return map; + + } + + + + + @Autowired + private EvaluateStudentService evaluateStudentService; + @ResponseBody + @PostMapping("/student/save") + public void save(@RequestBody EvaluateStudent evaluateStudent) { + evaluateStudent.setInsertTime(new Date()); + evaluateStudentService.saveOrUpdate(evaluateStudent); + + } + + + + @ResponseBody + @PostMapping("/student/userAndVipYys") + public HashMap<String, Object> userAndVipYys(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + // 所有的 + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id)); + map.put("allUser",list.size()); + List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1)); + map.put("allVip",list1.size()); + + + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Long> years = new ArrayList<>(); + ArrayList<Long> yearsVip = new ArrayList<>(); + for (Object o : collect) { + String s = o.toString(); + long count = list.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + long count1 = list1.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + years.add(count); + yearsVip.add(count1); + } + map.put("yearData",years); + map.put("yearsVip",yearsVip); + + ArrayList<Long> months = new ArrayList<>(); + ArrayList<Long> monthsVip = new ArrayList<>(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 月 + for (int i = 1; i <= 12; i++) { + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + long count = list.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + long count1 = list1.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + months.add(count); + monthsVip.add(count1); + } + map.put("monthData",months); + map.put("monthsVip",monthsVip); + + // 周 + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + + int count = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime, s7, s8)); + int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s7, s8)); + + int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s5,s6)); + int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s5,s6)); + + int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s3,s4)); + int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s3,s4)); + + int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s1,s2)); + int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s1,s2)); + map.put("count",count); + map.put("count1",count1); + map.put("count2",count2); + map.put("count3",count3); + map.put("countVip",countVip); + map.put("countVip1",countVip1); + map.put("countVip2",countVip2); + map.put("countVip3",countVip3); + + + // 日 + ArrayList<Integer> days = new ArrayList<>(); + ArrayList<Integer> daysVip = new ArrayList<>(); + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + int count4 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s,s9)); + int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s,s9)); + days.add(count4); + daysVip.add(countVip5); + } + map.put("dayData",days); + map.put("daysVip",daysVip); + + + return map; + + } + @ResponseBody + @PostMapping("/student/userAndVipStore") + public HashMap<String, Object> userAndVipStore(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + // 所有的 + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id)); + map.put("allUser",list.size()); + List<TAppUser> list1 = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1)); + map.put("allVip",list1.size()); + + + ArrayList<Object> integers = new ArrayList<>(); + int year = DateUtil.year(new Date()); + for (int i = 0; i < 10; i++) { + integers.add(year-i); + } + List<Object> collect = integers.stream().sorted().collect(Collectors.toList()); + // 年 + ArrayList<Long> years = new ArrayList<>(); + ArrayList<Long> yearsVip = new ArrayList<>(); + for (Object o : collect) { + String s = o.toString(); + long count = list.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + long count1 = list1.stream().filter(e -> e.getInsertTime().toString().contains(s)).count(); + years.add(count); + yearsVip.add(count1); + } + map.put("yearData",years); + map.put("yearsVip",yearsVip); + + ArrayList<Long> months = new ArrayList<>(); + ArrayList<Long> monthsVip = new ArrayList<>(); + // 月 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + for (int i = 1; i <= 12; i++) { + String m=i+""; + if(i<10){ + m="0"+i; + } + String s = year + "-" + m; + long count = list.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + long count1 = list1.stream().filter(e -> format.format(e.getInsertTime()).contains(s)).count(); + months.add(count); + monthsVip.add(count1); + } + map.put("monthData",months); + map.put("monthsVip",monthsVip); + + // 周 + + // 获取最近四周 + LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); + LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); + // 周度数据 + String s1 = minNow.minusDays(6).toString(); + String s2 = maxNow.toString(); + + String s3 = minNow.minusDays(13).toString(); + String s4 = maxNow.minusDays(6).toString(); + + + String s5 = minNow.minusDays(20).toString(); + String s6 = maxNow.minusDays(13).toString(); + + String s7 = minNow.minusDays(27).toString(); + String s8 = maxNow.minusDays(20).toString(); + + + int count = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime, s7, s8)); + int countVip = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s7, s8)); + + int count1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s5,s6)); + int countVip1 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s5,s6)); + + int count2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s3,s4)); + int countVip2 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s3,s4)); + + int count3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s1,s2)); + int countVip3 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s1,s2)); + map.put("count",count); + map.put("count1",count1); + map.put("count2",count2); + map.put("count3",count3); + map.put("countVip",countVip); + map.put("countVip1",countVip1); + map.put("countVip2",countVip2); + map.put("countVip3",countVip3); + + + // 日 + ArrayList<Integer> days = new ArrayList<>(); + ArrayList<Integer> daysVip = new ArrayList<>(); + for (int i = 6; i >= 0; i--) { + String s = minNow.minusDays(i).toString(); + String s9 = maxNow.minusDays(i).toString(); + int count4 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).between(TAppUser::getInsertTime,s,s9)); + int countVip5 = appUserService.count(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id).eq(TAppUser::getIsVip,1).between(TAppUser::getInsertTime, s,s9)); + days.add(count4); + daysVip.add(countVip5); + } + map.put("dayData",days); + map.put("daysVip",daysVip); + + + return map; + + } + + + + + + + @PostMapping("/student/queryFee") + public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ + HashMap<String, Object> map = new HashMap<>(); + String data = queryDataFee.getData(); + List<Integer> ids = queryDataFee.getIds(); + if(ids.size()==0){ + ids.add(-1); + } + LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + vipPaymentLambdaQueryWrapper.between(VipPayment::getInsertTime,stime,etime); + } + vipPaymentLambdaQueryWrapper.in(VipPayment::getAppUserId,ids); + vipPaymentLambdaQueryWrapper.eq(VipPayment::getPayStatus,2); + List<VipPayment> list = vipPaymentService.list(vipPaymentLambdaQueryWrapper); + double sum = list.stream().mapToDouble(VipPayment::getAmount).sum(); + + map.put("fee1",sum); + + LambdaQueryWrapper<RechargeRecords> rechargeRecordsLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if(ToolUtil.isNotEmpty(data)){ + String stime = data.split(" - ")[0]+" 00:00:00"; + String etime = data.split(" - ")[1]+" 23:59:59"; + rechargeRecordsLambdaQueryWrapper.between(RechargeRecords::getInsertTime,stime,etime); + } + rechargeRecordsLambdaQueryWrapper.in(RechargeRecords::getAppUserId,ids); + rechargeRecordsLambdaQueryWrapper.eq(RechargeRecords::getPayStatus,2); + List<RechargeRecords> list1 = rechargeRecordsService.list(rechargeRecordsLambdaQueryWrapper); + double sum1 = list1.stream().map(RechargeRecords::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add).doubleValue(); + + map.put("fee2",sum1); + + + + + return map; + + + } + + + + @PostMapping("/student/queryUserAge") + public HashMap<String, Object> queryUserAge(){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect)); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int boy=0; + int girl=0; + for (TStudent tStudent : list1) { + Date birthday = tStudent.getBirthday(); + long l = DateUtil.betweenYear(birthday, new Date(), true); + if(l<7){ + age1++; + }else if(l>=8 && l<11){ + age2++; + }else if(l>=11 && l<=12){ + age3++; + }else { + age4++; + } + if(tStudent.getSex()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("boy",boy); + map.put("girl",girl); + return map; + + + + } + @PostMapping("/student/queryUserAge1") + public HashMap<String, Object> queryUserAge1(){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 1)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + + + Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet(); + ArrayList<String> strings1 = new ArrayList<>(); + ArrayList<Integer> integers = new ArrayList<>(); + + for (String string : strings) { + int a = 0; + strings1.add(string); + for (TAppUser tAppUser : list) { + if(tAppUser.getCity().equals(string)){ + a++; + } + } + integers.add(a); + } + + map.put("cityData",strings1); + map.put("cityNum",integers); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int age5=0; + int age6=0; + int boy=0; + int girl=0; + for (TAppUser tStudent : list) { + Date birthday = tStudent.getBirthday(); + long l =0; + if(birthday!=null){ + + l = DateUtil.betweenYear(birthday, new Date(), true); + } + if(l<=12){ + age1++; + }else if(l>12 && l<18){ + age2++; + }else if(l>=19 && l<=25){ + age3++; + }else if(l>=26 && l<=35){ + age4++; + }else if(l>=36 && l<=50){ + age5++; + }else { + age6++; + } + if(tStudent.getGender()!=null &&tStudent.getGender()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("age5",age5); + map.put("age6",age6); + map.put("boy",boy); + map.put("girl",girl); + return map; + + + + } + @PostMapping("/student/queryUserAgeYys") + public HashMap<String, Object> queryUserAgeYys(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + + + Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet(); + ArrayList<String> strings1 = new ArrayList<>(); + ArrayList<Integer> integers = new ArrayList<>(); + + for (String string : strings) { + int a = 0; + strings1.add(string); + for (TAppUser tAppUser : list) { + if(tAppUser.getCity().equals(string)){ + a++; + } + } + integers.add(a); + } + + map.put("cityData",strings1); + map.put("cityNum",integers); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int age5=0; + int age6=0; + int boy=0; + int girl=0; + for (TAppUser tStudent : list) { + Date birthday = tStudent.getBirthday(); + long l =0; + if(birthday!=null){ + + l = DateUtil.betweenYear(birthday, new Date(), true); + } + if(l<=12){ + age1++; + }else if(l>12 && l<18){ + age2++; + }else if(l>=19 && l<=25){ + age3++; + }else if(l>=26 && l<=35){ + age4++; + }else if(l>=36 && l<=50){ + age5++; + }else { + age6++; + } + if(tStudent.getGender()!=null &&tStudent.getGender()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("age5",age5); + map.put("age6",age6); + map.put("boy",boy); + map.put("girl",girl); + return map; + + } + @PostMapping("/student/queryUserAgeStore") + public HashMap<String, Object> queryUserAgeStore(Integer id){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + + + Set<String> strings = list.stream().collect(Collectors.groupingBy(TAppUser::getCity)).keySet(); + ArrayList<String> strings1 = new ArrayList<>(); + ArrayList<Integer> integers = new ArrayList<>(); + + for (String string : strings) { + int a = 0; + strings1.add(string); + for (TAppUser tAppUser : list) { + if(tAppUser.getCity().equals(string)){ + a++; + } + } + integers.add(a); + } + + map.put("cityData",strings1); + map.put("cityNum",integers); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int age5=0; + int age6=0; + int boy=0; + int girl=0; + for (TAppUser tStudent : list) { + Date birthday = tStudent.getBirthday(); + long l =0; + if(birthday!=null){ + + l = DateUtil.betweenYear(birthday, new Date(), true); + } + if(l<=12){ + age1++; + }else if(l>12 && l<18){ + age2++; + }else if(l>=19 && l<=25){ + age3++; + }else if(l>=26 && l<=35){ + age4++; + }else if(l>=36 && l<=50){ + age5++; + }else { + age6++; + } + if(tStudent.getGender()!=null &&tStudent.getGender()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("age5",age5); + map.put("age6",age6); + map.put("boy",boy); + map.put("girl",girl); + return map; + + } + @PostMapping("/student/queryUserAgeYys1") + public HashMap<String, Object> queryUserAgeYys1(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 2).eq(TAppUser::getAddUserId,id)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect)); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int boy=0; + int girl=0; + for (TStudent tStudent : list1) { + Date birthday = tStudent.getBirthday(); + long l = DateUtil.betweenYear(birthday, new Date(), true); + if(l<7){ + age1++; + }else if(l>=8 && l<11){ + age2++; + }else if(l>=11 && l<=12){ + age3++; + }else { + age4++; + } + if(tStudent.getSex()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("boy",boy); + map.put("girl",girl); + return map; + + + } + @PostMapping("/student/queryUserAgeStore1") + public HashMap<String, Object> queryUserAgeStore1(@RequestBody Integer id){ + HashMap<String, Object> map = new HashMap<>(); + List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getInsertType, 3).eq(TAppUser::getAddUserId,id)); + List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); + if(collect.size()==0){ + collect.add(-1); + } + List<TStudent> list1 = studentService.list(new LambdaQueryWrapper<TStudent>().in(TStudent::getAppUserId, collect)); + int age1=0; + int age2=0; + int age3=0; + int age4=0; + int boy=0; + int girl=0; + for (TStudent tStudent : list1) { + Date birthday = tStudent.getBirthday(); + long l = DateUtil.betweenYear(birthday, new Date(), true); + if(l<7){ + age1++; + }else if(l>=8 && l<11){ + age2++; + }else if(l>=11 && l<=12){ + age3++; + }else { + age4++; + } + if(tStudent.getSex()==1){ + boy++; + }else { + girl++; + } + } + map.put("age1",age1); + map.put("age2",age2); + map.put("age3",age3); + map.put("age4",age4); + map.put("boy",boy); + map.put("girl",girl); + return map; + + + } } -- Gitblit v1.7.1