package com.ruoyi.mall.mapper;

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

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

/**
 * 联考一分一段Mapper接口
 *
 * @author LCL
 * @date 2023-10-23
 */
public interface MallExamSectionMapper
{
    /**
     * 查询联考一分一段
     *
     * @param sectionId 联考一分一段主键
     * @return 联考一分一段
     */
    public MallExamSection selectMallExamSectionBySectionId(Long sectionId);

    /**
     * 查询联考一分一段列表
     *
     * @param mallExamSection 联考一分一段
     * @return 联考一分一段集合
     */
    public List<MallExamSection> selectMallExamSectionList(MallExamSection mallExamSection);

    /**
     * 新增联考一分一段
     *
     * @param mallExamSection 联考一分一段
     * @return 结果
     */
    public int insertMallExamSection(MallExamSection mallExamSection);

    /**
     * 修改联考一分一段
     *
     * @param mallExamSection 联考一分一段
     * @return 结果
     */
    public int updateMallExamSection(MallExamSection mallExamSection);

    /**
     * 删除联考一分一段
     *
     * @param sectionId 联考一分一段主键
     * @return 结果
     */
    public int deleteMallExamSectionBySectionId(Long sectionId);

    /**
     * 批量删除联考一分一段
     *
     * @param sectionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMallExamSectionBySectionIds(Long[] sectionIds);

    /**
     * 成绩分析-联考成绩分析-分数排名
     *
     * @param userId 用户ID
     * @return 结果
     */
    public Map<String, Object> selectUserScoreRanking(Long userId);

    /**
     * 查询联考一分一段中分数最接近的数据
     *
     * @param years 年份
     * @param score 分数
     * @return 联考一分一段
     */
    public MallExamSection selectMallExamSectionClosestBy(@Param("years") String years, @Param("score") Integer score);

    /**
     * 查询联考一分一段中历年同位分
     *
     * @param years 年份
     * @param score 分数
     * @return 联考一分一段
     */
    public List<MallExamSection> selectMallExamSectionClosestListBy(@Param("years") String years, @Param("score") Integer score);
}
