package com.ruoyi.mall.mapper;

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

import com.ruoyi.mall.domain.MallMajorRanking;
import org.apache.ibatis.annotations.Param;

/**
 * 专业榜单Mapper接口
 *
 * @author LCL
 * @date 2023-10-24
 */
public interface MallMajorRankingMapper
{
    /**
     * 查询专业榜单
     *
     * @param rankingId 专业榜单主键
     * @return 专业榜单
     */
    public MallMajorRanking selectMallMajorRankingByRankingId(Long rankingId);

    /**
     * 查询专业榜单列表
     *
     * @param mallMajorRanking 专业榜单
     * @return 专业榜单集合
     */
    public List<MallMajorRanking> selectMallMajorRankingList(MallMajorRanking mallMajorRanking);

    /**
     * 新增专业榜单
     *
     * @param mallMajorRanking 专业榜单
     * @return 结果
     */
    public int insertMallMajorRanking(MallMajorRanking mallMajorRanking);

    /**
     * 修改专业榜单
     *
     * @param mallMajorRanking 专业榜单
     * @return 结果
     */
    public int updateMallMajorRanking(MallMajorRanking mallMajorRanking);

    /**
     * 删除专业榜单
     *
     * @param rankingId 专业榜单主键
     * @return 结果
     */
    public int deleteMallMajorRankingByRankingId(Long rankingId);

    /**
     * 批量删除专业榜单
     *
     * @param rankingIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMallMajorRankingByRankingIds(Long[] rankingIds);

    /**
     * 专业榜单信息列表
     *
     * @param type 类型：0-排行榜，1-专业强校，2-省份强校，3-非正常研究
     * @return 结果
     */
    public List<Map<String, Object>> selectMajorRankingList(String type);

    /**
     * 专业榜单信息学校列表
     *
     * @param rankingId 专业榜单主键
     * @return 结果
     */
    public List<Map<String, Object>> selectMajorRankingSchoolList(Long rankingId);

    /**
     * 专业榜单信息浏览量+1
     *
     * @param rankingId 专业榜单主键
     * @return 结果
     */
    public int updateMallMajorRankingViewNumByRankingId(Long rankingId);

    /** 查询 教育部学科评估榜 榜单名列表*/
    List<String> rankingMenuForReport(String type);

    /**
     * 学校在榜单上的专业
     * @param schoolId 学校id
     * @return 结果
     */
    public List<String> selectMajorBySchoolId(@Param("schoolId")Long schoolId);
}
