package com.ruoyi.mall.service;

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

import com.ruoyi.mall.domain.MallMajorClass;

/**
 * 专业分类Service接口
 *
 * @author LCL
 * @date 2023-10-18
 */
public interface IMallMajorClassService
{
    /**
     * 查询专业分类
     *
     * @param majorId 专业分类主键
     * @return 专业分类
     */
    public MallMajorClass selectMallMajorClassByMajorId(Long majorId);

    /**
     * 查询专业分类列表
     *
     * @param mallMajorClass 专业分类
     * @return 专业分类集合
     */
    public List<MallMajorClass> selectMallMajorClassList(MallMajorClass mallMajorClass);

    /**
     * 新增专业分类
     *
     * @param mallMajorClass 专业分类
     * @return 结果
     */
    public int insertMallMajorClass(MallMajorClass mallMajorClass);

    /**
     * 修改专业分类
     *
     * @param mallMajorClass 专业分类
     * @return 结果
     */
    public int updateMallMajorClass(MallMajorClass mallMajorClass);

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

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

    /**
     * 查询一级、二级专业分类列表
     *
     * @return 专业分类集合
     */
    public List<Map<String, Object>> selectOneOrTwoMallMajorClassList(Integer type);

    /**
     * 查询专业前景-岗位（职业）列表
     *
     * @param majorId 专业分类ID
     * @return 专业分类集合
     */
    public List<Map<String, Object>> selectMajorProspectList(Long majorId);

    /**
     * 查询二级专业分类列表
     *
     * @return 专业分类集合
     */
    public Map<Object, List<Map<String, Object>>> selectAllTwoMallMajorClassList();

    /**
     * 父级id查询专业分类列表
     * @param pid  父级id
     * @return 结果
     */
    public List<MallMajorClass> selectMajorListByPid(Long pid);

    /**
     * 所有二级专业列表
     * @return 结果
     */
    public List<MallMajorClass> selectMajorListByLevel2();

    /**
     * 硕士点建设院校
     * @param majorId 专业id
     * @return 结果
     */
    public List<Map<String, Object>> selectOneOrTwoMallMajorClassListByMaster(Long majorId);

    /**
     * 专业分类级联列表
     * @return
     */
    public List<MallMajorClass> getMajorList();
}
