| | |
| | | */ |
| | | @Override |
| | | public void updateCoursePackageById(TCoursePackage coursePackage) { |
| | | try { |
| | | List<CoursePackageStudent> coursePackageStudents = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackage.getId())); |
| | | List<Long> collect = coursePackageStudents.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); |
| | | |
| | | QueryWrapper<CoursePackageScheduling> coursePackageSchedulingQueryWrapper = new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()); |
| | | if (collect.size() > 0) { |
| | | coursePackageSchedulingQueryWrapper.notIn("id", collect); |
| | | } |
| | | coursePackageSchedulingService.remove(coursePackageSchedulingQueryWrapper); |
| | | int coursePackageId = orderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", coursePackage.getId())); |
| | | if (coursePackageId>0) { |
| | | // try { |
| | | // List<CoursePackageStudent> coursePackageStudents = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackage.getId())); |
| | | // List<Long> collect = coursePackageStudents.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); |
| | | // |
| | | // QueryWrapper<CoursePackageScheduling> coursePackageSchedulingQueryWrapper = new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()); |
| | | // if (collect.size() > 0) { |
| | | // coursePackageSchedulingQueryWrapper.notIn("id", collect); |
| | | // } |
| | | // coursePackageSchedulingService.remove(coursePackageSchedulingQueryWrapper); |
| | | // int coursePackageId = orderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", coursePackage.getId())); |
| | | // if (coursePackageId>0) { |
| | | this.baseMapper.updateById(coursePackage); |
| | | |
| | | //生成排课数据 |
| | | Date date = null; |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()).last(" and classDate > now() order by classDate desc limit 0, 1")); |
| | | if (null != coursePackageScheduling) { |
| | | date = sdf1.parse(sdf.format(coursePackageScheduling.getClassDate()) + " 00:00:00"); |
| | | } else { |
| | | date = sdf1.parse(sdf.format(new Date()) + " 00:00:00"); |
| | | // Date date = null; |
| | | // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | // SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | // CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().eq("coursePackageId", coursePackage.getId()).last(" and classDate > now() order by classDate desc limit 0, 1")); |
| | | // if (null != coursePackageScheduling) { |
| | | // date = sdf1.parse(sdf.format(coursePackageScheduling.getClassDate()) + " 00:00:00"); |
| | | // } else { |
| | | // date = sdf1.parse(sdf.format(new Date()) + " 00:00:00"); |
| | | // } |
| | | // List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";")); |
| | | // String classStartTime = coursePackage.getClassStartTime(); |
| | | // String[] split = classStartTime.split(":"); |
| | | // String classEndTime = coursePackage.getClassEndTime(); |
| | | // String[] split1 = classEndTime.split(":"); |
| | | // Calendar s = Calendar.getInstance(); |
| | | // s.setTime(date); |
| | | // s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | // |
| | | // Calendar e = Calendar.getInstance(); |
| | | // e.setTime(date); |
| | | // if (null != coursePackageScheduling) { |
| | | // long time = sdf1.parse(sdf.format(new Date()) + " 00:00:00").getTime(); |
| | | // int d = Long.valueOf(14L - ((s.getTimeInMillis() - time) / 86400000L)).intValue(); |
| | | // e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + d); |
| | | // } else { |
| | | // e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); |
| | | // } |
| | | // long timeInMillis = e.getTimeInMillis(); |
| | | // |
| | | // while (true) { |
| | | // int w = s.get(Calendar.DAY_OF_WEEK); |
| | | // WeekEnum weekEnum = WeekEnum.getWeekEnum(w); |
| | | // if (list.contains(weekEnum.getChineseName())) { |
| | | // Calendar classDate = Calendar.getInstance(); |
| | | // classDate.setTime(s.getTime()); |
| | | // classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); |
| | | // classDate.set(Calendar.MINUTE, Integer.valueOf(split[1])); |
| | | // classDate.set(Calendar.SECOND, 0); |
| | | // |
| | | // Calendar endDate = Calendar.getInstance(); |
| | | // endDate.setTime(s.getTime()); |
| | | // endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0])); |
| | | // endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1])); |
| | | // endDate.set(Calendar.SECOND, 0); |
| | | // |
| | | // CoursePackageScheduling coursePackageScheduling1 = new CoursePackageScheduling(); |
| | | // coursePackageScheduling1.setCoursePackageId(coursePackage.getId()); |
| | | // coursePackageScheduling1.setClassDate(classDate.getTime()); |
| | | // coursePackageScheduling1.setEndDate(endDate.getTime()); |
| | | // coursePackageScheduling1.setStatus(1); |
| | | // coursePackageSchedulingService.save(coursePackageScheduling1); |
| | | // } |
| | | // s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | // if (s.getTimeInMillis() > timeInMillis) { |
| | | // break; |
| | | // } |
| | | // } |
| | | // } |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | } |
| | | List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";")); |
| | | String classStartTime = coursePackage.getClassStartTime(); |
| | | String[] split = classStartTime.split(":"); |
| | | String classEndTime = coursePackage.getClassEndTime(); |
| | | String[] split1 = classEndTime.split(":"); |
| | | Calendar s = Calendar.getInstance(); |
| | | s.setTime(date); |
| | | s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | |
| | | Calendar e = Calendar.getInstance(); |
| | | e.setTime(date); |
| | | if (null != coursePackageScheduling) { |
| | | long time = sdf1.parse(sdf.format(new Date()) + " 00:00:00").getTime(); |
| | | int d = Long.valueOf(14L - ((s.getTimeInMillis() - time) / 86400000L)).intValue(); |
| | | e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + d); |
| | | } else { |
| | | e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); |
| | | } |
| | | long timeInMillis = e.getTimeInMillis(); |
| | | |
| | | while (true) { |
| | | int w = s.get(Calendar.DAY_OF_WEEK); |
| | | WeekEnum weekEnum = WeekEnum.getWeekEnum(w); |
| | | if (list.contains(weekEnum.getChineseName())) { |
| | | Calendar classDate = Calendar.getInstance(); |
| | | classDate.setTime(s.getTime()); |
| | | classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); |
| | | classDate.set(Calendar.MINUTE, Integer.valueOf(split[1])); |
| | | classDate.set(Calendar.SECOND, 0); |
| | | |
| | | Calendar endDate = Calendar.getInstance(); |
| | | endDate.setTime(s.getTime()); |
| | | endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0])); |
| | | endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1])); |
| | | endDate.set(Calendar.SECOND, 0); |
| | | |
| | | CoursePackageScheduling coursePackageScheduling1 = new CoursePackageScheduling(); |
| | | coursePackageScheduling1.setCoursePackageId(coursePackage.getId()); |
| | | coursePackageScheduling1.setClassDate(classDate.getTime()); |
| | | coursePackageScheduling1.setEndDate(endDate.getTime()); |
| | | coursePackageScheduling1.setStatus(1); |
| | | coursePackageSchedulingService.save(coursePackageScheduling1); |
| | | } |
| | | s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | if (s.getTimeInMillis() > timeInMillis) { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |