package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.CourseScheduleDto;
import com.ym.mec.biz.dal.enums.GroupType;

import java.util.Date;
import java.util.List;

/**
 * @Author Joburgess
 * @Date 2020/3/10
 **/
public interface TeacherCourseScheduleService {

    /**
     * @describe 获取老师在指定月份有课的日期
     * @author Joburgess
     * @date 2020/3/10
     * @param teacherId: 教师编号
     * @param month: 月份
     * @param groupType: 课程组类型
     * @return java.util.List<java.util.Date>
     */
    List<Date> findTeacherHaveClassesDates(Integer teacherId, Date month, String groupId, GroupType groupType);

    /**
     * @describe 获取老师在指定日期的课程列表
     * @author Joburgess
     * @date 2020/3/10
     * @param teacherId: 教师编号
     * @param classDate: 上课日期
     * @param groupType: 课程组类型
     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
     */
    List<CourseScheduleDto> findCourseSchedulesWithDate(Integer teacherId, Date classDate, String groupId, GroupType groupType);

    /**
     * @describe 根据课程编号获取课程所在课程组的课程
     * @author Joburgess
     * @date 2020/3/10
     * @param courseScheduleId:
     * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleDto>
     */
    List<CourseScheduleDto> findGroupClassesWithCourse(Long courseScheduleId);

}
