|
@@ -2125,6 +2125,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
|
|
|
TeacherFreeTime teacherFreeTime = teacherFreeTimeDao.findTeacherFreeTime(teacherId);
|
|
|
+ JSONObject teacherFreeTimes=new JSONObject();
|
|
|
Integer maxTeacherCourses = null;
|
|
|
int holiday = 0;
|
|
|
if (Objects.nonNull(teacherFreeTime)) {
|
|
@@ -2134,6 +2135,30 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
if (Objects.nonNull(teacherFreeTime.getHoliday())) {
|
|
|
holiday = teacherFreeTime.getHoliday();
|
|
|
}
|
|
|
+ if (Objects.nonNull(teacherFreeTime.getHoliday())) {
|
|
|
+ holiday = DateUtil.normalWeekNumCalendarWeekNumMap.get(teacherFreeTime.getHoliday());
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.MONDAY), JSON.parseArray(teacherFreeTime.getMonday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.TUESDAY), JSON.parseArray(teacherFreeTime.getTuesday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.WEDNESDAY), JSON.parseArray(teacherFreeTime.getWednesday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.THURSDAY), JSON.parseArray(teacherFreeTime.getThursday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.FRIDAY), JSON.parseArray(teacherFreeTime.getFriday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.SATURDAY), JSON.parseArray(teacherFreeTime.getSaturday()));
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(teacherFreeTime.getMonday())){
|
|
|
+ teacherFreeTimes.put(String.valueOf(Calendar.SUNDAY), JSON.parseArray(teacherFreeTime.getSunday()));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
DateTimeFormatter ddtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
@@ -2214,6 +2239,33 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ for (Integer weekNum : weekNumApplyTimesMap.keySet()) {
|
|
|
+ JSONArray teacherWeekDayFreeTimes = teacherFreeTimes.getJSONArray(String.valueOf(weekNum));
|
|
|
+ if(Objects.nonNull(teacherWeekDayFreeTimes)){
|
|
|
+ List<String> applyTimeStrs = weekNumApplyTimesMap.get(weekNum);
|
|
|
+ Iterator<String> iterator = applyTimeStrs.iterator();
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ LocalTime enableApplyStartTime=LocalTime.parse(iterator.next(), dtf);
|
|
|
+ LocalTime enableApplyEndTime=enableApplyStartTime.plusMinutes(practiceCourseMinutes);
|
|
|
+ boolean isInclude=false;
|
|
|
+ for (Object teacherWeekDayFreeTimeObject : teacherWeekDayFreeTimes) {
|
|
|
+ JSONObject teacherWeekDayFreeTime=JSONObject.parseObject(teacherWeekDayFreeTimeObject.toString());
|
|
|
+ LocalTime teacherFreeStartTime=LocalTime.parse(teacherWeekDayFreeTime.getString("startTime"),DateUtil.timeFormatter);
|
|
|
+ LocalTime teacherFreeEndTime=LocalTime.parse(teacherWeekDayFreeTime.getString("endTime"),DateUtil.timeFormatter);
|
|
|
+ if(enableApplyStartTime.isBefore(teacherFreeEndTime)
|
|
|
+ &&enableApplyEndTime.isAfter(teacherFreeStartTime)){
|
|
|
+ isInclude=true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!isInclude){
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ weekNumApplyTimesMap.put(weekNum,applyTimeStrs);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (CollectionUtils.isEmpty(allTeacherCourses)) {
|
|
|
result.put("teacherFreeDays", weekNumApplyTimesMap);
|
|
|
return result;
|