package com.zcloud.mapper.datasource.curriculum;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;

import java.util.List;

/**
 * 说明：课程学员关系表
 * 作者：luoxiaobao
 * 时间：2021-09-10
 * 官网：www.zcloudchina.com
 */
public interface CourseStudentRelationMapper{

	/**新增
	 * @param pd
	 * @throws Exception
	 */
	void save(PageData pd);

	/**删除
	 * @param pd
	 * @throws Exception
	 */
	void delete(PageData pd);

	/**修改
	 * @param pd
	 * @throws Exception
	 */
	void edit(PageData pd);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> datalistPage(Page page);

	/**列表(全部)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listAll(PageData pd);

	/**通过id获取数据
	 * @param pd
	 * @throws Exception
	 */
	PageData findById(PageData pd);

	/**批量删除
	 * @param pd
	 * @throws Exception
	 */
	void deleteAll(PageData pd);

	/**列表(根据所选ID获取数据)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> findByIds(PageData pd);

	/**批量删除（根据所选的课程进行删除课程学员关系表）
	 * @param pd
	 * @throws Exception
	 */
	void deleteByCurriculumIds(PageData pd);

	/**修改（更新学员状态）
	 * @param
	 * @throws Exception
	 */
    void updateStudentState(PageData pd);


	/**修改（更新学员考试成绩及状态）
	 * @param
	 * @throws Exception
	 */
    void updateStudentScore(PageData pd);

	/**
	 * 课程结束（定时任务，按处理没有参加考试的学员课程，课程结束STUDYSTATE = '4'，考试未考COURSEEXAMSTATE = '4'）
	 * @param pd
	 * @throws Exception
	 */
    void overCourseNotInvolved(PageData pd);

	/**
	 * 课程结束（定时任务，处理参加考试的学员课程，课程结束STUDYSTATE = '4'）
	 * @param pd
	 * @throws Exception
	 */
	void overCourse(PageData pd);
}

