查询学员绑定的教练信息 API - /queryCoachesByUserID
<p>///'@GetMapping//(///'/queryCoachesByUserID///'//)//npublic Result<Object> queryCoachesByUserID(CarUser carUser, HttpServletRequest request) {//n//n //权限验证//n String token = (String) request.getAttribute(///'claims_user///');//n if (StringUtils.isEmpty(token)) {//n throw new RuntimeException(///'权限不足!///');//n }//n//n //调用方法查询出学员//n CarUser carUser0 = carUserService.queryOneCarUserById(carUser.getUserId());//n//n if (carUser0 != null) {//n//n JSONArray jsonArray = JSONArray.parseArray(carUser0.getCoachId()); //拿出数据库字符串转为json数组//n//n List<Coach> coaches = new ArrayList<>();//n//n for (Object o : jsonArray) {//n //从json数组中拿出的教练id//n long coachId = ((Integer) o).longValue();//n//n Coach coach = coachService.queryOneCoachByID(coachId);//n//n coaches.add(coach);//n }//n//n List<CoachDto> coachDtoList = new ArrayList<>();//n//n if (!CollectionUtils.isEmpty(coaches)) {//n LocalDate currentDate = RcqtUtils.getDay().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();//n//n for (Coach coach : coaches) {//n CoachDto coachDto = new CoachDto();//n BeanUtils.copyProperties(coach, coachDto);//n//n //判断教练是否在工作中//n //1.获取当前查询时间//n LocalTime currentTime = LocalTime.now();//n//n //2.查询当前教练课程//n //判断教练的工作状态(true工作中/false休息中)//n List<CourseDto> courseDtoList = courseInfoService.queryCourseByCoachId(coach.getCoachId(), RcqtUtils.getDay());//n boolean isWorking = courseDtoList.stream()//n .anyMatch(c -> currentTime.isAfter(c.getStartReservationTime().toLocalTime()) && currentTime.isBefore(c.getEndReservationTime().toLocalTime()));//n//n coachDto.setWorkStatus(isWorking);//n//n DrivingSchool drivingSchool = drivingSchoolService.getById(coach.getDrivingSchoolId());//n//n if (drivingSchool != null) {//n coachDto.setDrivingSchoolName(drivingSchool.getDrivingSchoolName());//n coachDto.setAddress1(drivingSchool.getAddress1());//n coachDto.setAddress2(drivingSchool.getAddress2());//n coachDto.setAddress3(drivingSchool.getAddress3());//n//n //获得此车辆的地址经纬度//n String address3 = drivingSchool.getAddress3();//n if (!StringUtils.isEmpty(address3)) {//n List<String> addressList = tengXunMapService.getLongitudeAndLatitudeByAddress(address3);//n if (!CollectionUtils.isEmpty(addressList)) {//n coachDto.setLongitude(addressList.get(0));//n coachDto.setLatitude(addressList.get(1));//n }//n }//n }//n//n if (coach.getServeDate() != null) {//n LocalDate serveDate = coach.getServeDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();//n //计算驾龄//n int years = RcqtUtils.calculateYears(serveDate, currentDate);//n coachDto.setDrivingYear(years + ///'年///');//n }//n//n coachDtoList.add(coachDto);//n }//n//n //排序(按照工作状态和姓名排序)//n Comparator<CoachDto> comparator = Comparator.comparing(CoachDto::getWorkStatus, Comparator.reverseOrder())//n .thenComparing((c1, c2) -> Collator.getInstance(Locale.CHINESE).compare(c1.getRealName(), c2.getRealName()));//n//n coachDtoList.sort(comparator);//n }//n//n //把查询到的的对象放入map集合//n Map<String, Object> map = new HashMap<>();//n map.put(///'coaches///', coachDtoList);//n//n //查询到学员传给前端//n log.info(///'查询学员绑定的教练成功!///');//n return new Result<>(ResultCode.SUCCESS, map);//n } else {//n log.info(///'查不到此学员!///');//n return new Result<>(ResultCode.FAIL);//n }//n}//n/</p>
原文地址: https://www.cveoy.top/t/topic/p7SR 著作权归作者所有。请勿转载和采集!