package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.WebCourseHomeworkListDto;
import com.ym.mec.biz.dal.entity.CourseHomework;
import com.ym.mec.biz.dal.page.CourseHomeWorkTemplateQueryInfo;
import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
import com.ym.mec.common.page.PageInfo;
import com.ym.mec.common.service.BaseService;

import java.util.List;
import java.util.Map;

public interface CourseHomeworkService extends BaseService<Long, CourseHomework> {

	/**
	 * @describe 布置作业
	 * @author qnc99
	 * @date 2020/12/2 0002
	 * @param courseHomework:
	 * @return void
	 */
	void addCourseHomework(CourseHomework courseHomework);

	/**
	 * @describe 根据班级获取教师布置的作业
	 * @author Joburgess
	 * @date 2019/10/20
	 * @param queryInfo:
	 * @return com.ym.mec.common.page.PageInfo
	 */
	List<Map<String, Object>> findTeacherCourseHomeworkByClassGroup(CourseHomeworkQueryInfo queryInfo);

	/**
	 * 作业未回复提醒
	 */
	void homeworkNoReplyRemind();

	/**
	 * 删除指定课程的作业
	 * @param courseScheduleId
	 * @return
	 */
	boolean delHomwworkByCourseScheduleId(Long courseScheduleId);

	/**
	 * 删除指定课程的作业
	 * @param courseScheduleIdList
	 * @return
	 */
	boolean delHomwworkByCourseScheduleId(List<Long> courseScheduleIdList);

	/**
	 * 管理端作业列表
	 * @param queryInfo
	 * @return
	 */
	PageInfo<WebCourseHomeworkListDto> queryHomePage(CourseHomeWorkTemplateQueryInfo queryInfo);
}
