package com.ym.mec.biz.dal.dao;

import com.ym.mec.biz.dal.entity.DemoGroupCoursesPlan;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

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

public interface DemoGroupCoursesPlanDao extends BaseDAO<Long, DemoGroupCoursesPlan> {

    /**
     * @Author: Joburgess
     * @Date: 2019/9/25
     * 根据上课时间批量记录临时上课计划
     */
    int batchInsertByDates(@Param("dates") List<Date> dates,
                           @Param("demoGroupId") Long demoGroupId,
                           @Param("classMinutes") Integer classMinutes);

    /**
     * @describe 根据时间区段获取指定老师的试听课计划
     * @author Joburgess
     * @date 2019/10/27
     * @param startTime: 开始时间
     * @param endTime: 结束时间
     * @param userId: 用户编号
     * @return java.util.List<com.ym.mec.biz.dal.entity.DemoGroupCoursesPlan>
     */
    List<DemoGroupCoursesPlan> findByDateZone(@Param("startTime") Date startTime,
                                              @Param("endTime") Date endTime,
                                              @Param("userId") Integer userId);

    /**
     * @describe 删除指定日期之后的未被预约的试听课计划
     * @author Joburgess
     * @date 2019/10/27
     * @param date: 日期
     * @param demoGroupId: 试听课编号
     * @return int
     */
    int deleteAfterDate(@Param("date") Date date,
                        @Param("demoGroupId") Integer demoGroupId);
	
}
