package com.ruoyi.hezhi.service;

import com.ruoyi.hezhi.domain.TbCourseChapter;

import java.util.List;

/**
 * 课程章节Service接口
 *
 * @author ruoyi
 * @date 2024-09-14
 */
public interface ITbCourseChapterService
{
    /**
     * 查询课程章节
     *
     * @param chapterId 课程章节主键
     * @return 课程章节
     */
    public TbCourseChapter selectTbCourseChapterByChapterId(Long chapterId);

    /**
     * 查询课程章节列表
     *
     * @param tbCourseChapter 课程章节
     * @return 课程章节集合
     */
    public List<TbCourseChapter> selectTbCourseChapterList(TbCourseChapter tbCourseChapter);

    /**
     * 新增课程章节
     *
     * @param tbCourseChapter 课程章节
     * @return 结果
     */
    public int insertTbCourseChapter(TbCourseChapter tbCourseChapter);

    /**
     * 修改课程章节
     *
     * @param tbCourseChapter 课程章节
     * @return 结果
     */
    public int updateTbCourseChapter(TbCourseChapter tbCourseChapter);

    /**
     * 批量删除课程章节
     *
     * @param chapterIds 需要删除的课程章节主键集合
     * @return 结果
     */
    public int deleteTbCourseChapterByChapterIds(Long[] chapterIds);

    /**
     * 删除课程章节信息
     *
     * @param chapterId 课程章节主键
     * @return 结果
     */
    public int deleteTbCourseChapterByChapterId(Long chapterId);

    /**
     * 查询课程章节树列表
     *
     * @param courseId 课程ID
     * @return 课程章节集合
     */
    public List<TbCourseChapter> getCourseChapterTreeList(Long courseId);

    /**
     * 查询课程章节树列表
     *
     * @param treeList 课程章节列表
     * @param pid 父级ID
     * @return 课程章节集合
     */
    public List<TbCourseChapter> toTree(List<TbCourseChapter> treeList, Long pid);
}
