package com.zcloud.service.curriculum;

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

import java.util.List;

/**
 * 说明：课程管理
 * 作者：luoxiaobao
 * 时间：2021-07-03
 * 官网：www.zcloudchina.com
 */
public interface CurriculumService{

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

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

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

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

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

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

	/**手機端獲取我的課件（通过id获取数据）
	 * @param pd
	 * @throws Exception
	 */
	public PageData getMyCurriculum(PageData pd)throws Exception;

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

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

	/** 去习题练习页面
	 * @param pd	课程ID
	 * @return
	 */
    PageData findForStudyByCurriculumId(PageData pd)throws Exception;

	/** 去习题练习页面
	 * @param pd	课件ID
	 * @return
	 */
	PageData countForStudyByCoursewareId(PageData pd)throws Exception;

	/** 去习题练习页面
	 * @param pd	课件ID
	 * @return
	 */
	PageData findForStudyByCoursewareId(PageData pd)throws Exception;

	/**我的课程（获取当前用户的所属课程）
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> pageDataByUser(Page page)throws Exception;

	/**学员课程列表（查询课程信息及可想关联的学员统计）
	 * @param page
	 * @throws Exception
	 */
	public List<PageData> listSummary(Page page)throws Exception;
}

