Browse Source

1、陪练课调整
2、付费陪练课

Joburgess 5 năm trước cách đây
mục cha
commit
abe86f42cf

+ 52 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -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;