package com.zcloud.service.onlinexxks;

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

import java.util.List;

/**
 * 说明：课件课程中间表
 * 作者：luoxiaobao
 * 时间：2021-07-03
 * 官网：www.zcloudchina.com
 */
public interface KcmiddlekjService{

	/**新增
	 * @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;

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

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

	/**批量删除（根据所选课程id删除所选关系课件）
	 * @param pd
	 * @throws Exception
	 */
	public void deleteByCurriculumIds(PageData pd) throws Exception;

	/**新增(保存课程主表后保存所选课件中间表)
	 * @param pd
	 * @throws Exception
	 */
    void saveByCurriculum(PageData pd);

	/**列表(根据课程ID获取数据)
	 * @param pd
	 * @throws Exception
	 */
	public List<PageData> findByCurriculumId(PageData pd) throws Exception;

	/** 列表(根据课程ID获取习题数据)
	 * @param pd
	 * @return
	 */
	List<PageData> findForStudyByCurriculumId(PageData pd) throws Exception;

	/** 列表(根据课程ID获取习题数据)
	 * @param pd
	 * @return
	 */
	List<PageData> findForStudyByCoursewareId(PageData pd) throws Exception;
	/**新增(保存课程主表后保存所选课件中间表)
	 * @param pd
	 * @throws Exception
	 */
	void saveByCurriculumV2(PageData pd);

	/**
	 * 根基课件id获取课程
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	List<PageData> findByCurriculumIds (PageData pd)throws Exception;

	/**【app学习详细】（根据STUDYTASK_ID获取当前的任务下的相关课件）
	 * @param pd
	 * @throws Exception
	 */
    List<PageData> listAllByTask(PageData pd) throws Exception;

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

	String countByCourseWareId (PageData pageData)throws Exception;

}

