当前位置:网站首页>教务管理系统(免费源码获取)
教务管理系统(免费源码获取)
2022-07-01 05:30:00 【azhou的代码园】
项目介绍
本系统使用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("删除失败"));
}
}
}







边栏推荐
- Day 05 - file operation function
- More than one file was found with OS independent path ‘lib/armeabi-v7a/libyuv.so‘.
- 轩逸保养手册
- [SRS] use of Vhost isolated stream: push / pull Stream Address
- [Yugong series] February 2022 Net architecture class 005 ABP vNext Net core web application getting started configuration
- How to start learning editing? Detailed analysis of zero basis
- 提高企业产品交付效率系列(1)—— 企业应用一键安装和升级
- One click deployment of highly available emqx clusters in rainbow
- Printk debugging summary
- Simple read / write verification of qdatastream
猜你喜欢

小程序常用组件小结

云原生存储解决方案Rook-Ceph与Rainbond结合的实践

Cockroachdb: the resistant geo distributed SQL database paper reading notes

TypeORM 框架

Copier le matériel de conseils de bébé ne peut pas être vide, comment résoudre?

eBPF Cilium实战(2) - 底层网络可观测性

Using nocalhost to develop microservice application on rainbow

LevelDB源码分析之memtable

Leetcode top 100 question 2 Add two numbers

el-cascader回显失败;el-cascader回显不出来
随机推荐
JDBC common interview questions
Data consistency between redis and database
[data recovery in North Asia] a data recovery case of raid crash caused by hard disk drop during data synchronization of hot spare disk of RAID5 disk array
El cascade echo failed; El cascader does not echo
LRU cache for leveldb source code analysis
Unity项目心得总结
Copy baby prompt: material cannot be empty. How to solve it?
多表操作-外键级联操作
导电滑环短路的原因以及应对措施
Receiving package install and uninstall events
Daily code 300 lines learning notes day 11
Simple read / write verification of qdatastream
Redis database deployment and common commands
Spanner 论文小结
eBPF Cilium实战(2) - 底层网络可观测性
了解 JVM 中几个相关问题 — JVM 内存布局、类加载机制、垃圾回收
Web Security (IX) what is JWT?
新手在挖财开通证券账户安全吗?
How to meet the requirements of source code confidentiality and source code security management
Global and Chinese markets of InGaAs APD arrays 2022-2028: Research Report on technology, participants, trends, market size and share