浏览代码

1、陪练课调整
2、教师端通讯录

Joburgess 5 年之前
父节点
当前提交
ab5a633d47

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherFreeTimeDao.java

@@ -2,8 +2,17 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.TeacherFreeTime;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface TeacherFreeTimeDao extends BaseDAO<Integer, TeacherFreeTime> {
 
+    /**
+     * @describe 获取教师休息时间
+     * @author Joburgess
+     * @date 2020/2/16
+     * @param userId: 教师编号
+     * @return com.ym.mec.biz.dal.entity.TeacherFreeTime
+     */
+    TeacherFreeTime findTeacherFreeTime(@Param("userId") Integer userId);
 	
-}
+}

+ 34 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -77,6 +77,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     private MusicGroupDao musicGroupDao;
     @Autowired
     private ImFeignService imFeignService;
+    @Autowired
+    private TeacherFreeTimeDao teacherFreeTimeDao;
 
     private static Map<Integer, Map<Integer, List<Integer>>> schoolSubjectTeachersMap;
 
@@ -811,6 +813,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             checkTeacherLeaveDate = false;
         }
 
+        Set<Integer> disableApplyWeekNum = new HashSet<>();
+
+        TeacherFreeTime teacherFreeTime=teacherFreeTimeDao.findTeacherFreeTime(teacherId);
+        int maxTeacherCourses=80;
+        if(Objects.nonNull(teacherFreeTime)){
+            if(Objects.nonNull(teacherFreeTime.getTotalTimes())){
+                maxTeacherCourses=teacherFreeTime.getTotalTimes();
+            }
+//            if(Objects.nonNull(teacherFreeTime.get))
+        }
+
         Date now = new Date();
         Calendar calendar = Calendar.getInstance();
         calendar.setFirstDayOfWeek(Calendar.MONDAY);
@@ -825,11 +838,21 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Date firstMonday = DateUtil.getWeekDayWithDate(applyStartDate, Calendar.MONDAY);
         Date secondSunday = DateUtil.getWeekDayWithDate(applyEndDate, Calendar.SUNDAY);
 
+        Date yesterday=null;
+        Date tomorrow=null;
+        if(Objects.nonNull(firstClassTime)){
+            Calendar tempCalendar=Calendar.getInstance();
+            tempCalendar.setTime(firstClassTime);
+            tempCalendar.add(Calendar.DATE,-1);
+            yesterday=tempCalendar.getTime();
+            tempCalendar.add(Calendar.DATE,2);
+            tomorrow=tempCalendar.getTime();
+        }
+
         List<Date> enableApplyDates = getEnableApplyDates(applyStartDate, applyEndDate);
         List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
         allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
-        Set<Integer> disableApplyWeekNum = new HashSet<>();
         List<CourseSchedule> applyDateRangeCourses = new ArrayList<>();
         Calendar courseCalendar = Calendar.getInstance();
         courseCalendar.setFirstDayOfWeek(Calendar.MONDAY);
@@ -865,8 +888,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         if (CollectionUtils.isEmpty(applyDateRangeCourses)) {
             for (Date enableApplyDate : enableApplyDates) {
-                if (Objects.nonNull(firstClassTime) && DateUtil.isSameDay(enableApplyDate, firstClassTime)) {
-                    continue;
+                if (Objects.nonNull(firstClassTime)) {
+                    if(DateUtil.isSameDay(enableApplyDate, firstClassTime)){
+                        continue;
+                    }
+                    if(DateUtil.isSameDay(enableApplyDate, tomorrow)){
+                        continue;
+                    }
+                    if(DateUtil.isSameDay(enableApplyDate, yesterday)){
+                        continue;
+                    }
                 }
                 Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
                 if (teacherId == 100473) {
@@ -947,16 +978,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
 
         List<Date> tempEnableApplyDates = new ArrayList<>();
-        Date yesterday=null;
-        Date tomorrow=null;
-        if(Objects.nonNull(firstClassTime)){
-            Calendar tempCalendar=Calendar.getInstance();
-            tempCalendar.setTime(firstClassTime);
-            tempCalendar.add(Calendar.DATE,-1);
-            yesterday=tempCalendar.getTime();
-            tempCalendar.add(Calendar.DATE,2);
-            tomorrow=tempCalendar.getTime();
-        }
         for (Date enableApplyDate : enableApplyDates) {
             Date enableApplyDateCourseEndTime = DateUtil.addMinutes(enableApplyDate, practiceCourseMinutes);
             if (Objects.nonNull(firstClassTime)) {

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml

@@ -102,4 +102,8 @@
 		SELECT COUNT(*) FROM
 		teacher_free_time
 	</select>
+	<select id="findTeacherFreeTime" resultMap="TeacherFreeTime">
+		SELECT * FROM
+		teacher_free_time WHERE user_id_ = #{userId}
+	</select>
 </mapper>