项目介绍
本系统使用springboot,mybatis-plus,shiro,lombok等技术,使用json传递数据 使用加盐加密对数据进行保存,前端页面使用vue搭建并打包放在static文件夹中 使用token保存当前用户,当用户登录过之后,一段时间内无需再次登录,但只保存一个角色信息,即:当使用root登录过后,再用student登录,则root用户就没有权限了。
内置用户:
-
学生
-
用户名:student
-
密码:student
-
-
教师
-
用户名:teacher
-
密码:teacher
-
-
教务
-
用户名:admin
-
密码:admin
-
-
系统管理员
-
用户名:root
-
密码:root
-
运行方式
-
克隆
-
运行BackApplication.java
功能
-
学院管理
-
人员管理
-
选课管理
-
成绩管理
-
历史课程查询
-
等等
角色
-
学生
-
教师
-
教务
-
系统管理员
权限
-
学生
-
选课相关
-
选课
-
退课
-
选课结果
-
历史课程
-
成绩相关
-
本学期成绩
-
历史成绩
-
-
教师
-
成绩管理
-
录入成绩
-
查看开课
-
历史开课
-
本学期开课
-
查看课程学生名单
-
-
教务
-
查看课程学生名单
-
课程管理
-
增加课程
-
查看课程
-
删除课程
-
修改课程
-
-
系统管理员
-
学期管理
-
设置当前学期
-
选课管理
-
开放选课
-
关闭选课
-
学院管理
-
管理学院
-
修改学院
-
删除学院
-
增加学院
-
角色管理
-
角色增加
-
管理角色
-
修改角色
-
删除角色
-
角色赋权
-
package com.tsubaki.controller;
import com.alibaba.fastjson.JSON;
import com.tsubaki.entity.School;
import com.tsubaki.entity.Term;
import com.tsubaki.response.Result;
import com.tsubaki.service.SchoolService;
import com.tsubaki.util.StringUtil;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 前端控制器
* </p>
*
* @author tsubaki
* @since 2022-01-17
*/
@RestController
@RequestMapping("/school")
public class SchoolController {
@Autowired
private SchoolService schoolService;
@ApiOperation("获取所有学院信息")
@RequestMapping(value = "/getAll", method = RequestMethod.GET)
public String getAllSchool(@Nullable String pageNum, @Nullable String pageSize) {
Integer first = StringUtil.changeString(pageNum);
Integer second = StringUtil.changeString(pageSize);
Map<String, Object> map = schoolService.getAll(first,second);
if ((long)(map.get("total")) == 0){
return JSON.toJSONString(new Result().setCode(200).setMessage("当前无学院信息"));
}
return JSON.toJSONString(new Result().setCode(200).setData(map));
}
@ApiOperation("增加学院信息")
// @RequiresPermissions("school:add")
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String saveSchool(@RequestBody School school) {
schoolService.saveOrUpdate(school);
return JSON.toJSONString(new Result().setCode(200).setMessage("添加成功"));
}
@ApiOperation("修改学院信息")
@RequiresPermissions("school:update")
@RequestMapping(value = "/update", method = RequestMethod.PUT)
public String setThisTerm(@RequestBody School school) {
schoolService.saveOrUpdate(school);
return JSON.toJSONString(new Result().setCode(200).setMessage("修改成功"));
}
@ApiOperation("删除学院")
// @RequiresPermissions("school:delete")
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public String setThisTerm(Integer schoolId) {
// schoolService.removeById(schoolId);
if (schoolService.removeById(schoolId)){
// System.out.println();
return JSON.toJSONString(new Result().setCode(200).setMessage("删除成功"));
}else {
return JSON.toJSONString(new Result().setCode(500).setMessage("删除失败"));
}
}
}