package com.ruoyi.dz.mapper;

import java.util.Collection;
import java.util.List;
import com.ruoyi.dz.domain.DzSchool;
import org.apache.ibatis.annotations.Param;

/**
 * 机构校区Mapper接口
 *
 * @author ruoyi
 * @date 2025-09-12
 */
public interface DzSchoolMapper
{
    /**
     * 查询机构校区
     *
     * @param id 机构校区主键
     * @return 机构校区
     */
    public DzSchool selectDzSchoolById(Long id);

    /**
     * 查询机构校区列表
     *
     * @param dzSchool 机构校区
     * @return 机构校区集合
     */
    public List<DzSchool> selectDzSchoolList(DzSchool dzSchool);
    public List<DzSchool> selectDzSchoolListByIds(@Param("ids") Collection<Long> ids);
    /**
     * 新增机构校区
     *
     * @param dzSchool 机构校区
     * @return 结果
     */
    public int insertDzSchool(DzSchool dzSchool);

    /**
     * 修改机构校区
     *
     * @param dzSchool 机构校区
     * @return 结果
     */
    public int updateDzSchool(DzSchool dzSchool);

    /**
     * 删除机构校区
     *
     * @param id 机构校区主键
     * @return 结果
     */
    public int deleteDzSchoolById(Long id);

    /**
     * 批量删除机构校区
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDzSchoolByIds(Long[] ids);

    /**
     * 校验学校名称是否唯一
     *
     * @param name 学校名称
     * @param id 学校ID（修改时传入，新增时传null）
     * @return 学校数量
     */
    public int checkSchoolName(@Param("name") String name, @Param("id") Long id);

    /**
     * 根据班级ID列表查询学校信息
     *
     * @param classIds 班级ID列表
     * @return 学校信息列表
     */
    public List<DzSchool> getDzSchoolByClassIds(@Param("classIds") List<Long> classIds);
}
