package com.xhkjedu.suser.mapper.gradeclass;

import com.xhkjedu.base.TkMapper;
import com.xhkjedu.suser.model.gradeclass.TClass;
import com.xhkjedu.suser.vo.gradeclass.ClassTeacherSubjectVo;
import com.xhkjedu.suser.vo.gradeclass.ClassVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ClassMapper extends TkMapper<TClass> {
    //获取学校班级列表
    List<ClassVo> findAll(@Param("tClass") TClass tClass);

    //更新学生数量
    void updateNum(@Param("classid") Integer classid);

    //更新班级、分组学生数量
    void updateNum2(@Param("classid") Integer classid);
    //更新指定班级、分组学生数量
    void updateClassGroupNumByType(@Param("classids") String classids);

    //基本信息
    ClassVo getById(Integer classid);

    //根据班级名称获取班级信息
    TClass getByName(@Param("tClass") TClass tClass);

    //获取任教老师列表
    List<ClassTeacherSubjectVo> listTeacher(@Param("classid") Integer classid,@Param("schoolid") Integer schoolid);

    //修改单个班级状态
    Integer updateClassstateByClassid(@Param("classid") Integer classid, @Param("classstate") Integer classstate);

    //获取班级集合
    List<Map> listClass(Integer schoolid, Integer classtype);

    //班级下教师，以及教师科目
    List<Map> listTeacherSubject(Integer classid);

    //获取班级信息
    List<ClassVo> listByIds(@Param("classids") List<Integer> classids);

    //获取伙伴学校及伙伴学校班级
    List<Map> listSchoolAndClass(@Param("schoolid")Integer schoolid);

    //获取学生所在行政班信息
    ClassVo getXzClassByUserid(@Param("userid")Integer userid);
}
