package com.xinyilu.system.service.classinfo;

import com.xinyilu.common.core.domain.AjaxResult;
import com.xinyilu.common.core.page.TableDataInfo;
import com.xinyilu.system.domain.dto.ClassInfoDTO;
import com.xinyilu.system.domain.dto.ClassTypeDTO;
import com.xinyilu.system.domain.vo.ClassInfoVO;


/**
 * 班级信息Service接口
 *
 * @author jihan
 * @date 2022-07-29
 */
public interface IClassInfoService {
    /**
     * 查询班级信息
     *
     * @param id 班级信息主键
     * @return 班级信息
     */
    public ClassInfoVO selectClassInfoById(Long id);

    /**
     * 查询班级信息列表
     *
     * @param classInfo 班级信息
     * @return 班级信息集合
     */
    public TableDataInfo selectClassInfoList(ClassInfoDTO classInfo);

    /**
     * 新增班级信息
     *
     * @param classInfo 班级信息
     * @return 结果
     */
    public int insertClassInfo(ClassInfoDTO classInfo);

    /**
     * 修改班级信息
     *
     * @param classInfo 班级信息
     * @return 结果
     */
    public int updateClassInfo(ClassInfoDTO classInfo);

    /**
     * 批量删除班级信息
     *
     * @param ids 需要删除的班级信息主键集合
     * @return 结果
     */
    public int deleteClassInfoByIds(Long[] ids);

    /**
     * 删除班级信息信息
     *
     * @param id 班级信息主键
     * @return 结果
     */
    public int deleteClassInfoById(Long id);

    /**
     * 批量删除班级信息
     *
     * @param ids 主键id
     * @return 结果
     */
    int updateClassInfoById(Long[] ids);

    /**
     * 批量修改“班级类型”
     *
     * @param classTypeDTO  幼儿园id及班级信息
     * @return AjaxResult
     */
    AjaxResult updateClassType(ClassTypeDTO classTypeDTO);
}
