package com.ruoyi.hezhi.mapper;

import com.ruoyi.hezhi.domain.TbMajorClass;

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

/**
 * 专业分类Mapper接口
 *
 * @author ruoyi
 * @date 2024-10-16
 */
public interface TbMajorClassMapper
{

    /**
     * 查询专业分类
     *
     * @param majorId 专业分类主键
     * @return 专业分类
     */
    public TbMajorClass selectTbMajorClassByMajorId(Long majorId);

    /**
     * 查询专业分类列表
     *
     * @param tbMajorClass 专业分类
     * @return 专业分类集合
     */
    public List<TbMajorClass> selectTbMajorClassList(TbMajorClass tbMajorClass);

    /**
     * 查询专业分类列表
     *
     * @return 专业分类集合
     */
    public List<TbMajorClass> getAllMajorClassList();

    /**
     * 新增专业分类
     *
     * @param tbMajorClass 专业分类
     * @return 结果
     */
    public int insertTbMajorClass(TbMajorClass tbMajorClass);

    /**
     * 修改专业分类
     *
     * @param tbMajorClass 专业分类
     * @return 结果
     */
    public int updateTbMajorClass(TbMajorClass tbMajorClass);

    /**
     * 删除专业分类
     *
     * @param majorId 专业分类主键
     * @return 结果
     */
    public int deleteTbMajorClassByMajorId(Long majorId);

    /**
     * 批量删除专业分类
     *
     * @param majorIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbMajorClassByMajorIds(Long[] majorIds);

    /**
     * 专业分类列表
     *
     * @param params 参数
     * @return 专业分类列表
     */
    public List<Map<String, Object>> selectTbMajorClassMapList(Map<String, Object> params);

    /**
     * 专业课程列表
     *
     * @param params 参数
     * @return 专业课程列表
     */
    public List<Map<String, Object>> getMajorCourseList(Map<String, Object> params);

    /**
     * 专业课程详情
     *
     * @param params 参数
     * @return 专业课程详情
     */
    public Map<String, Object> getMajorCourseInfo(Map<String, Object> params);

    /**
     * 课程师资列表
     *
     * @param params 参数
     * @return 课程师资列表
     */
    public List<Map<String, Object>> getCourseTeacherList(Map<String, Object> params);

    /**
     * 专业课程视频列表
     *
     * @param params 参数
     * @return 专业课程视频列表
     */
    public List<Map<String, Object>> getMajorCourseVideoList(Map<String, Object> params);
}
