3.13 管理-班级

本节完成班级表(clazz)的新增和修改。
(如果使用上面的远程前端,那么需要在Controller类上声明标签CrossOrgin,原因是不同ip之间的http请求称为跨域请求,有可能被拦截)
@CrossOrigin 
@RestController 
public class GreetingController{
    /*
     省略
     */
    }

一.添加班级
由于class是编程语言的关键字,所以使用clazz作为表名。
用管理员登录后,点击管理,然后左侧菜单的“班级管理”,第一条就是添加班级
选择班级的年级后,输入班级名、专业、方向(可为空)、下列选择默认课程(可为空)
默认课程的值和菜单的课程一致,如果前面的课程查询已完成(13.5要完成的getCourses请求),这里就会有值。
点击添加课程后,将以post方式发送saveClass请求,参数为:

和课程表course一样,clazz表也有一个valid字段,表示该班级是否有效,新建班级该值为‘1’,表示有效

二.修改班级
修改班级和修改课程类似。它也需要额外载入两个数据:
1.取得所有教师。班级在创建的时候,会让创建者成为该班级的默认教师,修改班级的时候,可以修改。前端将发起/getTeachers的get请求,后台则需要返回role为4的所有用户,返回的json格式为:
{    
    "code": "200", 
    "info": null, 
    "data": [
        {
            "username": "13708",
            "role": "4",
            "nickname": "肖生",
            "createDate": "2019-03-14 18:43:25",
            "isValid": "1",
            "wxOpenid": null
        },
        {
            "username": "kcw",
            "role": "4",
            "nickname": "邝文文",
            "createDate": "2020-02-14 14:02:50",
            "isValid": "1",
            "wxOpenid": null
        },
        //其余省略...
     ]
}        
2.取得所有班级。前端将发起一个get请求/getAllClasses,请求没有参数,要求返回所有班级。
该请求应当返回的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"
        },
        //省略剩余班级
   ]
}

与添加课程、修改课程共用addCourse请求一样,添加班级和修改班级也共用请求saveClass。要修改班级的时候,下拉选择要修改的班级,表单对应的值会自动填入,修改了信息,点击修改会把当前表单的所有项都发送到后台的/saveClass请求: