| | |
| | | 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.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 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 |
| | |
| | | @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; |
| | | } |
| | |
| | | @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)); |
| | |
| | | studentVo.setName(tStudent.getName()); |
| | | } |
| | | return ResultUtil.success(listVo); |
| | | }catch (Exception e){ |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return ResultUtil.runErr(); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 根据电话号码学员信息 |
| | | * |
| | | * @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) { |
| | | 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); |
| | | 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/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)); |
| | | 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; |
| | | } |
| | | } |