package com.pangu.school.mapper;

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

import java.util.List;

/**
 * 学校班级Mapper接口
 * @author pangu
 */
@Mapper
public interface SchoolClassMapper extends BaseMapper<SchoolClass> {

    /**
     * 按学校年级ID批量查询班级
     * @param schoolGradeIds 学校年级ID列表
     * @return 学校班级列表
     */
    List<SchoolClass> selectBySchoolGradeIds(@Param("schoolGradeIds") List<Long> schoolGradeIds);

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

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

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