package com.srs.comprehensive.mapper;

import java.util.List;

import com.srs.comprehensive.domain.SrsGrade;
import com.srs.framework.mybatisplusMapper.EasyBaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 年级
 * Mapper接口
 *
 * @author srs
 * @date 2023-07-05
 */
@Mapper
public interface SrsGradeMapper extends EasyBaseMapper<SrsGrade> {
    /**
     * 查询年级
     *
     * @param gradeId 年级
     *                主键
     * @return 年级
     */
    public SrsGrade selectSrsGradeByGradeId(Long gradeId);

    /**
     * 通过年级代码查询信息
     *
     * @param gradeCode
     * @return
     */

    public SrsGrade selectSrsGradeByGradeCode(String gradeCode);

    /**
     * 查询年级
     * 列表
     *
     * @param srsGrade 年级
     * @return 年级
     * 集合
     */
    public List<SrsGrade> selectSrsGradeList(SrsGrade srsGrade);

    /**
     * 新增年级
     *
     * @param srsGrade 年级
     * @return 结果
     */
    public int insertSrsGrade(SrsGrade srsGrade);

    /**
     * 修改年级
     *
     * @param srsGrade 年级
     * @return 结果
     */
    public int updateSrsGrade(SrsGrade srsGrade);

    /**
     * 删除年级
     *
     * @param gradeId 年级
     *                主键
     * @return 结果
     */
    public int deleteSrsGradeByGradeId(Long gradeId);

    /**
     * 批量删除年级
     *
     * @param gradeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSrsGradeByGradeIds(Long[] gradeIds);

    /**
     * 根据年级代码列表查询年级列表
     * @param gradeCodes 年级代码列表
     * @return
     */
    public List<SrsGrade> selectSrsGradeByGradeCodes(@Param("gradeCodes") List<String> gradeCodes);

    //批量更新
    void updateSrsClassList(@Param("studentList") List<SrsGrade> studentList);
}
