<p>&quot;@GetMapping(&quot;/queryCourseByCoachIDAndUserIdByDate&quot;)\npublic Result<Object> queryCourseByCoachIDAndUserIdByDate(Coach coach, String date, CarUser carUser, HttpServletRequest request) throws ParseException {\n\n    //权限验证\n    String token = (String) request.getAttribute(&quot;claims_user&quot;);\n\n    if (token == null || &quot;&quot;.equals(token)) {\n        throw new RuntimeException(&quot;权限不足!&quot;);\n    }\n\n    if (coach.getCoachId() == null) {\n        log.info(&quot;coachId为null&quot;);\n        return new Result&lt;&gt;(ResultCode.FAIL);\n    }\n\n    CarUser carUser2 = carUserService.queryOneCarUserById(carUser.getUserId());\n\n    //转换前端传递日期格式\n    Date convertedDate = RcqtUtils.getconvertedDate(date);\n\n    Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();\n    //查询日期对应的数据\n    List<UpdateTime> updateTimeList = updateTimeService.queryUpdateTimeByDate(coach.getCoachId(), convertedDate);\n\n    List<UpdateTimeDto> updateTimeDtoList = updateTimeList.parallelStream().map(updateTime -&gt; {\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&lt;&gt;();\n        List<CarUser> currentCarUsers = new ArrayList&lt;&gt;();\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()) &amp;&amp; updateTime.getStartReservationTime() != null){\n            updateTimeDto.setIsTimeOut(LocalTime.now().isAfter(updateTime.getStartReservationTime().toLocalTime()));\n        }\n\n        //显示当前教练对应日期下该学员训练阶段相关约车信息\n        //即科二则显示教练科二预约信息\n        //即科二/科三则显示教练科二、科三的预约信息\n        if (carUser2.getDrivingProjectType().equals(&quot;科二/科三&quot;)) {\n            if (updateTimeDto.getStartReservationTime() != null &amp;&amp; updateTimeDto.getEndReservationTime() != null) {\n                return updateTimeDto;\n            }\n        } else if (updateTime.getProjectType().equals(carUser2.getDrivingProjectType())) {\n            if (updateTimeDto.getStartReservationTime() != null &amp;&amp; updateTimeDto.getEndReservationTime() != null) {\n                return updateTimeDto;\n            }\n        } else if (updateTime.getProjectType().equals(&quot;科二/科三&quot;)){\n            if (updateTimeDto.getStartReservationTime() != null &amp;&amp; updateTimeDto.getEndReservationTime() != null) {\n                return updateTimeDto;\n            }\n        }\n\n        return null;\n    }).filter(Objects::nonNull).collect(Collectors.toList());\n\n    map.put(&quot;updateTimeList&quot;, updateTimeDtoList);\n\n    return new Result&lt;&gt;(ResultCode.SUCCESS, map);\n}</p>
查询教练课程信息接口 - 根据教练ID、用户ID和日期

原文地址: https://www.cveoy.top/t/topic/p7G4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录