3.14 管理-班级-学生换班
学生换班是把学生从一个班划分到另一个班级的操作,分为是否保留在原来班级,如果保留,那么该学生同时处于两个班,例如21软件1班以及21java方向1班。
管理页面进入班级管理,然后点击学生换班。
首先是选择班级,首先发起一个Get请求/getValidClasses,无需额外的参数,返回的json如下:
{ "code": "200", "info": null, "data": [ { "valid": "1", "teacherId": "abc", "major": "普通", "studentNumber": 237, "grade": "0", "name": "普通", "id": "27", "oriented": "无", "courseId": "1", "createDate": "2020-03-07 22:45:04" }, { "valid": "1", "teacherId": "abc", "major": "1", "studentNumber": 3, "grade": "0", "name": "教师", "id": "28", "oriented": "1", "courseId": "1", "createDate": "2020-02-27 11:11:52" }, //剩余的班级数据省略...]
如果一切正常,那么下拉框就会出现可用班级,选择班级后,会发起一个post请求/getClassStudent,请求参数为classId,后台需要根据这个班级id,把所有学生都找出来(查询user_class表),json如下:
{ "code": "200", "info": null, "data": [ { "latestLogin": "2025-06-12 14:37:34", "nickname": "java", "loginTimes": 6730, "username": "abc", "createDate": "2020-09-16 16:44:32" }, { "latestLogin": "2025-06-05 08:58:21", "nickname": "刘军军", "loginTimes": 42, "username": "liujunjun", "createDate": "2019-03-02 11:12:32" }, //剩余的数据省略...]
其中nickname、username、createDate都来自user表
latestLogin表示最近的一次登录时间,来自user_login表
loginTimes表示所有登录次数,通过查询user_login表得到
user_login表是记录用户登录的一个表,该表格的必填字段有:
id:主键
ip:登录者ip地址
login_datetime:登录时间
最后选择要转移的学生,点击底部的“移动”按钮,就会发起一个post请求/moveToClass,它包含四个参数:
1.studentIds。要转移的学生id,由于可以多选,这里是以逗号分隔的多个学生账号,例如23008,2223210242
2.toClassId。要转移的目的地班级id
3.currentClassId。当前班级id
4.stay。是否保留在本班,如果保留的话(下方有选择框可以勾选),那么此值为true
转移成功后返回的json:
{"code":"200","info":"成功","data":null}