| | |
| | | package com.dsh.account.controller; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.account.dto.*; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.entity.GiftSearchDto; |
| | | import com.dsh.account.entity.TStudent; |
| | | import com.dsh.account.entity.*; |
| | | import com.dsh.account.feignclient.course.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.IVipPaymentService; |
| | | import com.dsh.account.service.RechargeRecordsService; |
| | | import com.dsh.account.service.TAppUserService; |
| | | import com.dsh.account.service.TStudentService; |
| | | 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 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.HashMap; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | |
| | | @Autowired |
| | | private TokenUtil tokenUtil; |
| | | |
| | | @Autowired |
| | | private TAppUserService appUserService; |
| | | |
| | | @Autowired |
| | | private IVipPaymentService vipPaymentService; |
| | | |
| | | @Autowired |
| | | private RechargeRecordsService rechargeRecordsService; |
| | | |
| | | /** |
| | | * 添加学员 |
| | |
| | | @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(); |
| | |
| | | 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端查找学员 |
| | |
| | | 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>().in(TAppUser::getInsertType, 1)); |
| | | return list.stream().map(TAppUser::getId).collect(Collectors.toList()); |
| | | } |
| | | |
| | | |
| | | @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>().in(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; |
| | | |
| | | |
| | | |
| | | } |
| | | } |