package com.pangu.school.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.pangu.school.domain.entity.SchoolGrade;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学校年级Mapper接口
 * @author pangu
 */
@Mapper
public interface SchoolGradeMapper extends BaseMapper<SchoolGrade> {

    /**
     * 按学校ID批量查询年级
     * @param schoolIds 学校ID列表
     * @return 学校年级列表
     */
    List<SchoolGrade> selectBySchoolIds(@Param("schoolIds") List<Long> schoolIds);

    /**
     * 检查是否已存在
     * @param schoolId 学校ID
     * @param gradeId 年级ID
     * @return 是否存在
     */
    boolean exists(@Param("schoolId") Long schoolId, @Param("gradeId") Long gradeId);

    /**
     * 统计学校下的年级数量
     * @param schoolId 学校ID
     * @return 年级数量
     */
    int countBySchoolId(@Param("schoolId") Long schoolId);

    /**
     * 批量插入学校年级
     * @param schoolGrades 学校年级列表
     * @return 影响行数
     */
    int batchInsert(@Param("list") List<SchoolGrade> schoolGrades);
}
