查询教练课程信息接口 - 根据教练ID、用户ID和日期
<p>"@GetMapping("/queryCourseByCoachIDAndUserIdByDate")\npublic Result<Object> queryCourseByCoachIDAndUserIdByDate(Coach coach, String date, CarUser carUser, HttpServletRequest request) throws ParseException {\n\n //权限验证\n String token = (String) request.getAttribute("claims_user");\n\n if (token == null || "".equals(token)) {\n throw new RuntimeException("权限不足!");\n }\n\n if (coach.getCoachId() == null) {\n log.info("coachId为null");\n return new Result<>(ResultCode.FAIL);\n }\n\n CarUser carUser2 = carUserService.queryOneCarUserById(carUser.getUserId());\n\n //转换前端传递日期格式\n Date convertedDate = RcqtUtils.getconvertedDate(date);\n\n Map<String, Object> map = new HashMap<>();\n //查询日期对应的数据\n List<UpdateTime> updateTimeList = updateTimeService.queryUpdateTimeByDate(coach.getCoachId(), convertedDate);\n\n List<UpdateTimeDto> updateTimeDtoList = updateTimeList.parallelStream().map(updateTime -> {\n UpdateTimeDto updateTimeDto = new UpdateTimeDto();\n BeanUtils.copyProperties(updateTime, updateTimeDto);\n updateTimeDto.setIsOrder(false);\n\n List<CourseInfo> courseInfos = courseInfoService.queryCourseByUpdateTimeId(updateTime.getUpdateTimeId());\n Set<Integer> carUserIds = new HashSet<>();\n List<CarUser> currentCarUsers = new ArrayList<>();\n\n //获取约课学员\n if (!courseInfos.isEmpty()) {\n for (CourseInfo courseInfo : courseInfos) {\n carUserIds.add(courseInfo.getUserId());\n currentCarUsers.add(carUserService.queryOneCarUserById(courseInfo.getUserId()));\n if (Objects.equals(carUser.getUserId(), courseInfo.getUserId())) {\n updateTimeDto.setIsOrder(true);\n updateTimeDto.setStatus(1);\n }\n }\n\n updateTimeDto.setCurrentReservation(currentCarUsers.size());\n }\n\n //判断时间是否过期\n if (updateTime.getCourseDate().equals(RcqtUtils.getDay()) && updateTime.getStartReservationTime() != null){\n updateTimeDto.setIsTimeOut(LocalTime.now().isAfter(updateTime.getStartReservationTime().toLocalTime()));\n }\n\n //显示当前教练对应日期下该学员训练阶段相关约车信息\n //即科二则显示教练科二预约信息\n //即科二/科三则显示教练科二、科三的预约信息\n if (carUser2.getDrivingProjectType().equals("科二/科三")) {\n if (updateTimeDto.getStartReservationTime() != null && updateTimeDto.getEndReservationTime() != null) {\n return updateTimeDto;\n }\n } else if (updateTime.getProjectType().equals(carUser2.getDrivingProjectType())) {\n if (updateTimeDto.getStartReservationTime() != null && updateTimeDto.getEndReservationTime() != null) {\n return updateTimeDto;\n }\n } else if (updateTime.getProjectType().equals("科二/科三")){\n if (updateTimeDto.getStartReservationTime() != null && updateTimeDto.getEndReservationTime() != null) {\n return updateTimeDto;\n }\n }\n\n return null;\n }).filter(Objects::nonNull).collect(Collectors.toList());\n\n map.put("updateTimeList", updateTimeDtoList);\n\n return new Result<>(ResultCode.SUCCESS, map);\n}</p>
原文地址: https://www.cveoy.top/t/topic/p7G4 著作权归作者所有。请勿转载和采集!