Browse Source

add:定时任务

yonge 5 years ago
parent
commit
66d00efc99

+ 15 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -438,16 +438,28 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
 	List<CourseSchedule> findByDateZone(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
 
 	/**
-	 * 查询用户明天的课程数
+	 * 查询学生明天的课程数
 	 * @return
 	 */
 	List<Mapper> queryStudentCoursesTimesOfTomorrow();
 
 	/**
-	 * 查询90分钟内未上的课程
+	 * 查询学生90分钟内未上的课程
 	 * @return
 	 */
-	List<Mapper> queryNotStartCourseScheduleIn90Mins();
+	List<Mapper> queryStudentNotStartCourseScheduleIn90Mins();
+	
+	/**
+	 * 查询老师明天的课程数
+	 * @return
+	 */
+	List<Mapper> queryTeacherCoursesTimesOfTomorrow();
+
+	/**
+	 * 查询老师30分钟内未上的课程
+	 * @return
+	 */
+	List<Mapper> queryTeacherNotStartCourseScheduleIn30Mins();
 
 	/**
 	 * @describe 获取课程编号和与之对应教师编号列表

+ 198 - 189
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -19,170 +19,169 @@ import java.util.Map;
 
 public interface CourseScheduleService extends BaseService<Long, CourseSchedule> {
 
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/10
-     * 根据课程ID获取当前课程的信息
-     */
-    TeacherAttendanceDto getCurrentCourseDetail(Long courseID);
-
-    /**
-     * @describe 根据课程编号删除课程计划及对应的学生缴费、教师课酬记录
-     * @author Joburgess
-     * @date 2019/10/31
-     * @param courseScheduleIds:
-     * @return int
-     */
-    void deleteCourseSchedules(List<Long> courseScheduleIds);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/16
-     * @params [teacherAttendanceDto, userId]
-     * @return YesOrNoEnum
-     * @describe 判断该课程是否只能进行正常签到
-     */
-    YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto, Long userId);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 批量插入课程计划
-     */
-    void batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
-
-    /**
-     * @describe 创建乐团课课程计划
-     * @author Joburgess
-     * @date 2019/10/24
-     * @param courseSchedules: 课程计划列表
-     * @return void
-     */
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/10
+	 * 根据课程ID获取当前课程的信息
+	 */
+	TeacherAttendanceDto getCurrentCourseDetail(Long courseID);
+
+	/**
+	 * @describe 根据课程编号删除课程计划及对应的学生缴费、教师课酬记录
+	 * @author Joburgess
+	 * @date 2019/10/31
+	 * @param courseScheduleIds:
+	 * @return int
+	 */
+	void deleteCourseSchedules(List<Long> courseScheduleIds);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/16
+	 * @params [teacherAttendanceDto, userId]
+	 * @return YesOrNoEnum
+	 * @describe 判断该课程是否只能进行正常签到
+	 */
+	YesOrNoEnum enableOnlyNormalAttendance(TeacherAttendanceDto teacherAttendanceDto, Long userId);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 批量插入课程计划
+	 */
+	void batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
+
+	/**
+	 * @describe 创建乐团课课程计划
+	 * @author Joburgess
+	 * @date 2019/10/24
+	 * @param courseSchedules: 课程计划列表
+	 * @return void
+	 */
 	void createCourseSchedules(List<CourseSchedule> courseSchedules);
 
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 批量更新课程计划
-     */
-    void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules,Long musicGroupID);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据日期获取当日排课信息
-     */
-    List<CourseScheduleDto> getCourseSchedulesWithDate(Date classDate);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据日期获取当日排课信息
-     */
-    Map getStudentCourseSchedulesWithDate(Date classDate);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据日期获取当日排课信息
-     */
-    List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId,Date classDate,String type);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据日期获取当日排课信息
-     */
-    PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据月份获取乐团在该月有课的日期
-     */
-    List<Date> getCourseScheduleDateByMonth(Long musicGroupID, Date month);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 根据学生获取乐团在该月有课的日期
-     */
-    List<Date> getCourseScheduleDateByStudent(Date month, Integer isAttend);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/17
-     * 获取教师在该月有课的日期
-     */
-    List<Date> getCourseScheduleDateByTeacher(Date month,String type);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/11
-     * @params [month]
-     * @return java.util.List<java.util.Date>
-     * @describe 获取
-     */
-    List<Date> getCourseScheduleDates(Date month);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/23
-     * 课时调整
-     */
-    void classStartDateAdjust(List<CourseSchedule> newCourseSchedules);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/24
-     * 课程交换
-     */
-    void courseSwap(Long courseScheduleId1,Long courseScheduleId2);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/14
-     * @params [day1, day2]
-     * @return void
-     * @describe 对调两天的课程
-     */
-    void courseSwapWithDay(Date day1,Date day2);
-
-    /**
-     * @describe 检测数据库不存在的课程是否存在错误
-     * @author Joburgess
-     * @date 2019/10/31
-     * @param courseSchedules: 课程列表
-     * @return void
-     */
-    void checkNewCourseSchedules(List<CourseSchedule> courseSchedules);
-
-    /**
-     * 获取班级未开始的课程计划
-     *
-     * @param classGroupTeacherMapperList
-     * @return
-     */
-    List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
-
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/30
-     * 获取学生上课记录
-     */
-    Object findStudentCourseScheduleRecords(StudentCourseScheduleRecordQueryInfo queryInfo);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [courseScheduleComplaints]
-     * @return void
-     * @describe 课程投诉
-     */
-    void courseScheduleCommplaint(CourseScheduleComplaints courseScheduleComplaints);
-
-    /**
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 批量更新课程计划
+	 */
+	void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据日期获取当日排课信息
+	 */
+	List<CourseScheduleDto> getCourseSchedulesWithDate(Date classDate);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据日期获取当日排课信息
+	 */
+	Map getStudentCourseSchedulesWithDate(Date classDate);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据日期获取当日排课信息
+	 */
+	List<CourseScheduleDto> getTeacherCourseSchedulesWithDate(Integer userId, Date classDate, String type);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据日期获取当日排课信息
+	 */
+	PageInfo getCourseSchedulesWithDateByEdu(CourseScheduleQueryInfo queryInfo);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据月份获取乐团在该月有课的日期
+	 */
+	List<Date> getCourseScheduleDateByMonth(Long musicGroupID, Date month);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 根据学生获取乐团在该月有课的日期
+	 */
+	List<Date> getCourseScheduleDateByStudent(Date month, Integer isAttend);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/17
+	 * 获取教师在该月有课的日期
+	 */
+	List<Date> getCourseScheduleDateByTeacher(Date month, String type);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/11
+	 * @params [month]
+	 * @return java.util.List<java.util.Date>
+	 * @describe 获取
+	 */
+	List<Date> getCourseScheduleDates(Date month);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/23
+	 * 课时调整
+	 */
+	void classStartDateAdjust(List<CourseSchedule> newCourseSchedules);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/24
+	 * 课程交换
+	 */
+	void courseSwap(Long courseScheduleId1, Long courseScheduleId2);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/14
+	 * @params [day1, day2]
+	 * @return void
+	 * @describe 对调两天的课程
+	 */
+	void courseSwapWithDay(Date day1, Date day2);
+
+	/**
+	 * @describe 检测数据库不存在的课程是否存在错误
+	 * @author Joburgess
+	 * @date 2019/10/31
+	 * @param courseSchedules: 课程列表
+	 * @return void
+	 */
+	void checkNewCourseSchedules(List<CourseSchedule> courseSchedules);
+
+	/**
+	 * 获取班级未开始的课程计划
+	 *
+	 * @param classGroupTeacherMapperList
+	 * @return
+	 */
+	List<CourseSchedule> findClassGroupNoStartCourseSchedules(List<ClassGroupTeacherMapper> classGroupTeacherMapperList);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/9/30
+	 * 获取学生上课记录
+	 */
+	Object findStudentCourseScheduleRecords(StudentCourseScheduleRecordQueryInfo queryInfo);
+
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [courseScheduleComplaints]
+	 * @return void
+	 * @describe 课程投诉
+	 */
+	void courseScheduleCommplaint(CourseScheduleComplaints courseScheduleComplaints);
+
+	/**
 	 * @Author: Joburgess
 	 * @Date: 2019/10/3
 	 * @params [id] 申诉编号
@@ -193,12 +192,12 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @describe 课程投诉审核
 	 */
 	void courseScheduleCommplaintAudit(Long id, Double teacherLiabilityRatio, Double studentLiabilityRatio, AuditStatusEnum status);
-    
-    /**
-     * 更新课程至结束状态
-     * @return
-     */
-    boolean updateCourseScheduleToOverStatus();
+
+	/**
+	 * 更新课程至结束状态
+	 * @return
+	 */
+	boolean updateCourseScheduleToOverStatus();
 
 	/**
 	 * 推送未签到消息提醒
@@ -222,7 +221,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param courseScheduleId: 课程编号
 	 * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
 	 */
-    CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId);
+	CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId);
 
 	/**
 	 * @describe 检测指定乐团下所有班级是否已排课
@@ -240,24 +239,34 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param courseSchedules:
 	 * @return java.util.Map<java.lang.Integer,java.lang.Integer>
 	 */
-	Map<Integer,Integer> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
-
-    /**
-     * 查询班级未开始的课程
-     *
-     * @param classGroupId
-     * @return
-     */
-    List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId);
-
-    /**
-     * 有课提醒
-     * @return
-     */
-    void studentCoursesScheduleRemind();
-    
-    /**
-     * 上课提醒
-     */
-    void studentSignInRemind();
+	Map<Integer, Integer> findCourseScheduleCurrentTimes(List<Integer> courseSchedules);
+
+	/**
+	 * 查询班级未开始的课程
+	 *
+	 * @param classGroupId
+	 * @return
+	 */
+	List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId);
+
+	/**
+	 * 学生有课提醒
+	 * @return
+	 */
+	void studentCoursesScheduleRemind();
+
+	/**
+	 * 学生上课提醒
+	 */
+	void studentSignInRemind();
+
+	/**
+	 * 老师课程提醒
+	 */
+	void teacherCoursesScheduleRemind();
+
+	/**
+	 * 老师上课提醒
+	 */
+	void teacherSignInRemind();
 }

+ 30 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -16,6 +16,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -861,7 +862,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 	@Override
 	public void studentSignInRemind() {
-		List<Mapper> mapperList = courseScheduleDao.queryNotStartCourseScheduleIn90Mins();
+		List<Mapper> mapperList = courseScheduleDao.queryStudentNotStartCourseScheduleIn90Mins();
 		if(mapperList != null && mapperList.size() > 0){
 			for(Mapper mapper : mapperList){
 				Map<Integer, String> receivers = new HashMap<Integer, String>();
@@ -871,4 +872,32 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 		}
 	}
+
+	@Override
+	public void teacherCoursesScheduleRemind() {
+		List<Mapper> mapperList = courseScheduleDao.queryTeacherCoursesTimesOfTomorrow();
+		for (Mapper mapper : mapperList) {
+			Integer userId = (Integer) mapper.getKey();
+			String teacherName = (String) mapper.getValue();
+
+			Map<Integer, String> receivers = new HashMap<Integer, String>();
+			receivers.put(userId, userId + "");
+
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_HAVE_COURSE_MESSAGE, receivers, null, 0, "", teacherName);
+		}
+	}
+
+	@Override
+	public void teacherSignInRemind() {
+		List<Mapper> mapperList = courseScheduleDao.queryTeacherNotStartCourseScheduleIn30Mins();
+		for (Mapper mapper : mapperList) {
+			Integer userId = (Integer) mapper.getKey();
+			String scheduleName = (String) mapper.getValue();
+
+			Map<Integer, String> receivers = new HashMap<Integer, String>();
+			receivers.put(userId, userId + "");
+
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_ATTEND_CLASS_MESSAGE, receivers, null, 0, "", scheduleName);
+		}
+	}
 }

+ 9 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1099,9 +1099,17 @@
     	select cssp.user_id_ key_,count(1) value_ from course_schedule cs right join course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_ where class_date_ = date(DATE_ADD(now(),INTERVAL 1 DAY)) group by cssp.user_id_
     </select>
     
-    <select id="queryNotStartCourseScheduleIn90Mins" resultMap="Mapper">
+    <select id="queryStudentNotStartCourseScheduleIn90Mins" resultMap="Mapper">
     	select cssp.user_id_ key_,cs.name_ value_ from course_schedule cs right join course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_ where CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt; DATE_ADD(now(),INTERVAL 90 MINUTE) and cs.status_ = 'NOT_START'
     </select>
+    
+    <select id="queryTeacherCoursesTimesOfTomorrow" resultMap="Mapper">
+    	select csts.user_id_ key_,u.real_name_ value_ from course_schedule cs right join course_schedule_teacher_salary csts on cs.id_ = csts.course_schedule_id_ left join sys_user u on csts.user_id_ = u.id_ where class_date_ = date(DATE_ADD(now(),INTERVAL 1 DAY)) group by csts.user_id_
+    </select>
+    
+    <select id="queryTeacherNotStartCourseScheduleIn30Mins" resultMap="Mapper">
+    	select csts.user_id_ key_,cs.name_ value_ from course_schedule cs right join course_schedule_teacher_salary csts on cs.id_ = csts.course_schedule_id_ where CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &lt; DATE_ADD(now(),INTERVAL 30 MINUTE) and cs.status_ = 'NOT_START'
+    </select>
 
     <resultMap id="IntegerAndIntegerListDto" type="com.ym.mec.biz.dal.dto.IntegerAndIntegerListDto">
         <result property="id" column="id_"/>

+ 16 - 8
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -14,31 +14,39 @@ public interface TaskRemoteService {
 
 	@GetMapping(value = "task/vipGroupAwardedMonthlyRewards")
 	public void vipGroupAwardedMonthlyRewards();
-	
+
 	@GetMapping(value = "task/updateCourseScheduleToOverStatus")
-    boolean updateCourseScheduleToOverStatus();
-	
+	boolean updateCourseScheduleToOverStatus();
+
 	@GetMapping("task/pushNoSignInMessage")
 	// 推送未签到消息提醒
 	public void pushNoSignInMessage();
-	
+
 	@GetMapping("task/pushNoSignOutMessage")
 	// 推送未签退消息提醒
 	public void pushNoSignOutMessage();
-	
+
 	@GetMapping("task/vipGroupTeacherSalarySettlement")
 	// vip课课酬结算
 	public void vipGroupTeacherSalarySettlement();
-	
+
 	@GetMapping("task/studentCoursesScheduleRemind")
 	// 学生有课提醒
 	public void studentCoursesScheduleRemind();
-	
+
 	@GetMapping("task/studentSignInRemind")
 	// 学生上课提醒
 	public void studentSignInRemind();
-	
+
 	@GetMapping("task/studentHomeworkRemind")
 	// 学生作业提醒
 	public void studentHomeworkRemind();
+
+	@GetMapping("task/teacherCoursesScheduleRemind")
+	// 老师有课提醒
+	public void teacherCoursesScheduleRemind();
+
+	@GetMapping("task/teacherSignInRemind")
+	// 老师上课提醒
+	public void teacherSignInRemind();
 }

+ 10 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -57,4 +57,14 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 		logger.info("学生作业提醒的服务调用失败");
 	}
 
+	@Override
+	public void teacherCoursesScheduleRemind() {
+		logger.info("老师有课提醒的服务调用失败");
+	}
+
+	@Override
+	public void teacherSignInRemind() {
+		logger.info("老师上课提醒的服务调用失败");
+	}
+
 }

+ 18 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/StudentHomeworkRemaindTask.java

@@ -0,0 +1,18 @@
+package com.ym.mec.task.jobs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+
+public class StudentHomeworkRemaindTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.studentHomeworkRemind();
+	}
+}

+ 18 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/TeacherCoursesScheduleRemaindTask.java

@@ -0,0 +1,18 @@
+package com.ym.mec.task.jobs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+
+public class TeacherCoursesScheduleRemaindTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.teacherCoursesScheduleRemind();
+	}
+}

+ 18 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/TeacherSignInRemaindTask.java

@@ -0,0 +1,18 @@
+package com.ym.mec.task.jobs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+
+public class TeacherSignInRemaindTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.teacherSignInRemind();
+	}
+}

+ 17 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -25,16 +25,16 @@ public class TaskController extends BaseController {
 
 	@Autowired
 	private CourseScheduleService courseScheduleService;
-	
+
 	@Autowired
 	private TeacherAttendanceService teacherAttendanceService;
-	
+
 	@Autowired
 	private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
-	
+
 	@Autowired
 	private StudentCourseHomeworkService studentCourseHomeworkService;
-	
+
 	@GetMapping("/refreshPaymentFeeStatus")
 	// 刷新付费状态
 	public void refreshPaymentFeeStatus() {
@@ -88,4 +88,17 @@ public class TaskController extends BaseController {
 	public void studentHomeworkRemind() {
 		studentCourseHomeworkService.homeworkRemind();
 	}
+
+	@GetMapping("/teacherCoursesScheduleRemind")
+	// 老师有课提醒
+	public void teacherCoursesScheduleRemind() {
+		courseScheduleService.teacherCoursesScheduleRemind();
+	}
+
+	@GetMapping("/teacherSignInRemind")
+	// 老师上课提醒
+	public void teacherSignInRemind() {
+		courseScheduleService.teacherSignInRemind();
+	}
+
 }