| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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 u.id as student_id, cs.official_number, cs.stu_name, cs.state FROM class_student cs JOIN users u ON cs.official_number = u.official_number WHERE cs.class_id = #{classId}")
- @Results({
- @Result(property = "studentId", column = "student_id"),
- @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);
- }
|