教练帮学员预约练车 - API 接口
<p>///'@PostMapping(///'/orderCourseByCoach///')//npublic Result<Object> orderCourseByCoach(@RequestBody Map<String, Object> params, HttpServletRequest request) {//n //权限验证//n String token = (String) request.getAttribute(///'claims_coach///');//n if (StringUtils.isEmpty(token)) {//n throw new RuntimeException(///'权限不足!///');//n }//n//n log.info(///'orderCourseByCoach请求报文:///' + params);//n//n //解析前端传递参数//n Long updateTimeId = Optional.ofNullable(params.get(///'updateTimeId///'))//n .map(String::valueOf)//n .map(Long::parseLong)//n .orElseThrow(() -> new RuntimeException(///'updateTimeId为null///'));//n//n JSONArray jsonArray = Optional.ofNullable((JSONArray) params.get(///'carUser///'))//n .orElseThrow(() -> new RuntimeException(///'carUser为null///'));//n//n List<Long> carUsers = jsonArray.toJavaList(Long.class);//n log.info(///'通过前端传递拿到carUser为:///' + carUsers);//n//n //查询当前课程信息//n UpdateTime updateTime = updateTimeService.getById(updateTimeId);//n//n if (updateTime.getCourseDate().before(RcqtUtils.getDay()) && !updateTime.getCourseDate().equals(RcqtUtils.getDay())) {//n log.info(///'课程过期,无法预约!///');//n return new Result<>(ResultCode.COURSE_DATE_OUT);//n } else if (updateTime.getCourseDate().equals(RcqtUtils.getDay()) && LocalTime.now().isAfter(updateTime.getStartReservationTime().toLocalTime())) {//n log.info(///'课程过期,无法预约!///');//n return new Result<>(ResultCode.COURSE_DATE_OUT);//n }//n//n //查询课程教练信息//n Coach coach = coachService.queryOneCoachByID(updateTime.getCoachId());//n//n List<CourseInfo> courseInfoList = carUsers.stream().map(id -> {//n CourseInfo courseInfo = new CourseInfo();//n courseInfo.setUserId(id);//n courseInfo.setTrainingStatus(0);//训练状态为待训练//n courseInfo.setUpdateTimeId(updateTimeId);//n //存放一份课程数据给学员//n courseInfo.setProjectTypeByUser(updateTime.getProjectType());//n courseInfo.setCourseDateByUser(updateTime.getCourseDate());//n courseInfo.setStartReservationTimeByUser(updateTime.getStartReservationTime());//n courseInfo.setEndReservationTimeByUser(updateTime.getEndReservationTime());//n courseInfo.setSubmitTime(new Date());//预约的时间//n return courseInfo;//n }).collect(Collectors.toList());//n//n if (!CollectionUtils.isEmpty(courseInfoList) && !courseInfoService.saveBatch(courseInfoList)) {//n log.info(///'新增失败!!///');//n return new Result<>(ResultCode.FAIL);//n }//n//n log.info(///'成功!///');//n int count = updateTime.getCurrentReservation() + courseInfoList.size();//存放目前预约人数//n log.info(///'当前预约人数:///' + count);//n//n //修改当前预约人数//n updateTime.setCurrentReservation(count);//n//n int a = updateTimeService.updateOneUpdateTimeByID(updateTime);//n//n if (a < 0) {//n log.info(///'修改当前预约人数失败!///');//n return new Result<>(ResultCode.FAIL);//n }//n//n if (count > updateTime.getMaxReservation()) {//n log.info(///'当前预约人数大于以前设置的最大预约人数///');//n //修改当前最大预约人数//n updateTime.setMaxReservation(count);//n//n int ret = updateTimeService.updateOneUpdateTimeByID(updateTime);//n//n if (ret > 0) {//n log.info(///'修改成功!给所有约课学员发送短信!///');//n//n //通知学员//n for (Long id : carUsers) {//n CarUser carUser1 = carUserService.queryOneCarUserById(id);//n//n Map<String, String> map = new HashMap<>();//n map.put(///'coachName///', coach.getCoachName());//n map.put(///'date///', DateUtils.getTime(updateTime.getCourseDate()));//n map.put(///'time///', RcqtUtils.getStrTime(updateTime.getStartReservationTime(), updateTime.getEndReservationTime()));//n map.put(///'project///', updateTime.getProjectType());//n//n boolean c = msgService.noticeByOrderUserCourse(map, carUser1.getUserPhone());//n//n if (!c) {//n log.info(///'发送信息失败!///');//n return new Result<>(ResultCode.FAIL);//n }//n//n System.out.println(///'【软件名称】您的教练 ///' + coach.getRealName() + ///' 帮您已预约 ///' + DateUtils.getTime(updateTime.getCourseDate()) + ///' ///' + RcqtUtils.getStrTime(updateTime.getStartReservationTime(), updateTime.getEndReservationTime()) + ///' ///' + updateTime.getProjectType() + ///' 的练车,请准时前往驾校练车,如有变动及时登录系统。///');//n }//n//n return new Result<>(ResultCode.SUCCESS);//n } else {//n log.info(///'修改失败!///');//n return new Result<>(ResultCode.FAIL);//n }//n//n } else {//n log.info(///'当前预约人数小于等于以前设置预约人数!给所有约课学员发送短信!///');//n//n for (Long id : carUsers) {//n CarUser carUser1 = carUserService.queryOneCarUserById(id);//n//n Map<String, String> map = new HashMap<>();//n map.put(///'coachName///', coach.getCoachName());//n map.put(///'date///', DateUtils.getTime(updateTime.getCourseDate()));//n map.put(///'time///', RcqtUtils.getStrTime(updateTime.getStartReservationTime(), updateTime.getEndReservationTime()));//n map.put(///'project///', updateTime.getProjectType());//n//n boolean c = msgService.noticeByOrderUserCourse(map, carUser1.getUserPhone());//n//n if (!c) {//n log.info(///'发送信息失败!///');//n return new Result<>(ResultCode.FAIL);//n }//n//n System.out.println(///'【软件名称】您的教练 ///' + coach.getRealName() + ///' 帮您已预约 ///' + DateUtils.getTime(updateTime.getCourseDate()) + ///' ///' + RcqtUtils.getStrTime(updateTime.getStartReservationTime(), updateTime.getEndReservationTime()) + ///' ///' + updateTime.getProjectType() + ///' 的练车,请准时前往驾校练车,如有变动及时登录系统。///');//n }//n//n return new Result<>(ResultCode.SUCCESS);//n }//n}//n/</p>
原文地址: https://www.cveoy.top/t/topic/p4qM 著作权归作者所有。请勿转载和采集!