| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.njuzr.eaibackend.mapper;
- import com.baomidou.mybatisplus.core.mapper.BaseMapper;
- import com.njuzr.eaibackend.po.ClassStudent;
- import com.njuzr.eaibackend.vo.StudentInfoVO;
- import org.apache.ibatis.annotations.*;
- import java.util.List;
- @Mapper
- public interface ClassStudentMapper extends BaseMapper<ClassStudent> {
- int batchInsert(@Param("list") List<ClassStudent> students);
- /**
- * 根据班级ID和学号列表批量删除学生
- * @param classId 班级ID
- * @param officialNumbers 学号列表
- * @return 删除的行数
- */
- int batchDeleteByClassIdAndNumbers(
- @Param("classId") Long classId,
- @Param("officialNumbers") List<String> officialNumbers);
- @Select("SELECT official_number, stu_name, state FROM class_student WHERE class_id = #{classId}")
- @Results({
- @Result(property = "officialNumber", column = "official_number"),
- @Result(property = "stuName", column = "stu_name")
- })
- List<StudentInfoVO> selectStudentsByClassId(@Param("classId") Long classId);
- /**
- * 根据学生ID和课程ID查找班级学生记录
- */
- @Select("SELECT cs.* FROM class_student cs " +
- "JOIN class c ON cs.class_id = c.class_id " +
- "JOIN users u ON cs.official_number = u.official_number " +
- "WHERE u.id = #{studentId} AND c.course_id = #{courseId}")
- ClassStudent findClassStudentByStudentAndCourse(@Param("studentId") Long studentId,
- @Param("courseId") Long courseId);
- /**
- * 更新学生加入状态
- */
- @Update("UPDATE class_student SET state = #{state} WHERE id = #{id}")
- int updateStateById(@Param("id") Long id, @Param("state") int state);
- }
|