基于javaweb+mysql的ssm+maven学生学籍管理系统(java+ssm+layui+maven+mysql+jsp)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven学生学籍管理系统(java+ssm+layui+maven+mysql+jsp)
项目介绍
SSM项目-学生学籍管理系统。该项目分管理员、老师、学生三种用户角色。每种角色分别对应不同的菜单;
以下分别介绍各个角色对应的功能模块:
管理员角色:
- 用户登录和退出 - 权限控制 - 系统管理 - 专业管理 - 班级管理 - 学生管理 - 老师管理 - 课程管理 - 开课管理 - 用户管理
老师角色:
- 老师管理 - 成绩管理 - 学生查询
学生角色:
- 学生管理 - 选课管理 - 成绩查询
技术路线
- 开发工具:IDEA 2020.1 - 技术框架:Spring、SpringMVC、MyBatis - Web容器:Tomcat 8.5.7 - 数据库:MySQL 5.7 - 前端UI框架:LayUI - 项目管理:Maven 3.6.3
使用说明
- 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包; 2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置 4. 配置tomcat,然后运行项目,输入localhost:8080 登录
//全局异常处理类
@ControllerAdvice
public class GlobalControllerAdvice {
private final String ERROR = "error";
@ExceptionHandler(value=PermissionException.class)
public ModelAndView noPermission(PermissionException e){
ModelAndView modelAndView = new ModelAndView(ERROR);
modelAndView.addObject(ERROR,e.getMessage());
return modelAndView;
}
@ExceptionHandler(value=RuntimeException.class)
@ResponseBody
public Map<String,Object> runtimeException(RuntimeException e){
e.printStackTrace();
return MapControl.getInstance().error().getMap();
}
}
package com.yanzhen.controller;
@Controller
public class LogoutController {
//退出操作
@RequestMapping("/logout")
public String logout(HttpSession session) {
//让session失效
session.invalidate();
//重定向到登录页
return "redirect:login";
}
}
package com.yanzhen.controller;
@Controller
@RequestMapping("/clazz")
public class ClazzController {
private static final String LIST = "clazz/list";
private static final String ADD = "clazz/add";
private static final String UPDATE = "clazz/update";
@Autowired
private ClazzService clazzService;
@Autowired
private SubjectService subjectService;
//跳转添加页面
@GetMapping("/add")
public String create(ModelMap modelMap) {
//查询所有的专业,存储到request域
List<Subject> subjects = subjectService.query(null);
modelMap.addAttribute("subjects", subjects);
return ADD;
}
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(@RequestBody Clazz clazz) {
int result = clazzService.create(clazz);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id删除
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
int result = clazzService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//批量删除
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = clazzService.delete(ids);
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = userService.delete(ids);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//修改操作
@PostMapping("/update")
@ResponseBody
public Map<String, Object> update(@RequestBody User user) {
int result = userService.update(user);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable("id") Integer id, ModelMap modelMap) {
User user = userService.detail(id);
modelMap.addAttribute("user", user);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody User user) {
List<User> list = userService.query(user);
Integer count = userService.count(user);
return MapControl.getInstance().success().page(list, count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
}
if(teacher.getTeacherPwd().equals(MD5Utils.getMD5(sourcePwd))) {
Teacher entity = new Teacher();
entity.setId(id);
entity.setTeacherPwd(MD5Utils.getMD5(newPwd));
int result = teacherService.update(entity);
if(result <= 0) {
return MapControl.getInstance().error().getMap();
} else {
return MapControl.getInstance().success().getMap();
}
} else {
return MapControl.getInstance().error("原密码错误").getMap();
}
}
if("3".equals(type)) {
Student student = studentService.detail(id);
//比较原密码
if(student.getStuPwd().equals(MD5Utils.getMD5(sourcePwd))) {
Student entity = new Student();
entity.setId(id);
entity.setStuPwd(MD5Utils.getMD5(newPwd));
int result = studentService.update(entity);
if(result <= 0) {
return MapControl.getInstance().error().getMap();
} else {
return MapControl.getInstance().success().getMap();
}
} else {
return MapControl.getInstance().error("原密码错误").getMap();
}
}
return MapControl.getInstance().error().getMap();
}
//跳转系统主页(数据概览)
@GetMapping("/main")
public String main(ModelMap modelMap) {
//1.系统数据概览
List<Clazz> clazzes = clazzService.query(null);
List<Subject> subjects = subjectService.query(null);
List<Teacher> teachers = teacherService.query(null);
List<Course> courses = courseService.query(null);
List<Section> sections = sectionService.query(null);
List<Student> students = studentService.query(null);
modelMap.addAttribute("clazzCnt",clazzes.size());
modelMap.addAttribute("subjectCnt",subjects.size());
modelMap.addAttribute("teacherCnt",teachers.size());
modelMap.addAttribute("courseCnt",courses.size());
modelMap.addAttribute("studentCnt",students.size());
public Map<String, Object> update(@RequestBody Clazz clazz) {
int result = clazzService.update(clazz);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable("id") Integer id, ModelMap modelMap) {
//查询所有的专业
List<Subject> subjects = subjectService.query(null);
//查询出要修改的班级的信息
Clazz clazz = clazzService.detail(id);
//将查询出来的数据存储到request域,实现表单回显
modelMap.addAttribute("clazz", clazz);
modelMap.addAttribute("subjects", subjects);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody Clazz clazz) {
//查询所有的班级
List<Clazz> list = clazzService.query(clazz);
//查询所有的专业
List<Subject> subjects = subjectService.query(null);
//设置关联
list.forEach(entity -> {
subjects.forEach(subject -> {
//判断班级表中subjectId与专业表的id是否一致
if (entity.getSubjectId() == subject.getId()) {
entity.setSubject(subject);
}
});
});
//查询班级总数
Integer count = clazzService.count(clazz);
return MapControl.getInstance().success().page(list, count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
//新增失败
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable Integer id, ModelMap modelMap) {
//查询要修改的老师
Teacher teacher = teacherService.detail(id);
modelMap.addAttribute("teacher", teacher);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody Teacher teacher) {
List<Teacher> list = teacherService.query(teacher);
Integer count = teacherService.count(teacher);
return MapControl.getInstance().success().put("data", list).put("count", count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
}
}
package com.yanzhen.controller;
//修改操作
@PostMapping("/update")
@ResponseBody
public Map<String, Object> update(Subject subject) {
int result = subjectService.update(subject);
if (result <= 0) {
//新增失败
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable Integer id, ModelMap modelMap) {
//查询单个专业信息,存储到request域,实现表单回显
Subject subject = subjectService.detail(id);
modelMap.addAttribute("subject", subject);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody Subject subject) {
List<Subject> list = subjectService.query(subject);
Integer count = subjectService.count(subject);
return MapControl.getInstance().success().put("data", list).put("count", count).getMap();
}
//跳转登录页面
@GetMapping("/list")
public String list() {
return LIST;
}
}
package com.yanzhen.controller;
@Controller
public class LoginController {
@Autowired
private UserService userService;
@Autowired
private TeacherService teacherService;
@Autowired
private StudentService studentService;
//跳转登录页面
@GetMapping("/login")
public String login() {
return "login";
}
//登录操作
@PostMapping("/login")
@ResponseBody
public Map<String, Object> login(String userName, String password, String captcha, String type, HttpSession session) {
//判断用户名、密码、用户类型、验证码是否为空
if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(type)) {
return MapControl.getInstance().error("用户名或密码不能为空").getMap();
}
//获取系统生成的验证码
//String _captcha = (String) session.getAttribute("captcha");
//先判断验证码是否正确
/* if (!captcha.equals(_captcha)) {
//验证码错误
return MapControl.getInstance().error("验证码错误").getMap();
}
*/
//判断用户类型
if ("1".equals(type)) { //管理员验证登录
User user = userService.login(userName, MD5Utils.getMD5(password)); //对密码进行加密处理,因为数据库中存储的是加密后的密码
if (user != null) {
session.setAttribute("user", user);
if (result <= 0) {
//新增失败
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable Integer id, ModelMap modelMap) {
//查询单个专业信息,存储到request域,实现表单回显
Subject subject = subjectService.detail(id);
modelMap.addAttribute("subject", subject);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody Subject subject) {
List<Subject> list = subjectService.query(subject);
Integer count = subjectService.count(subject);
return MapControl.getInstance().success().put("data", list).put("count", count).getMap();
}
//跳转登录页面
@GetMapping("/list")
public String list() {
return LIST;
}
}
package com.yanzhen.controller;
@Controller
@RequestMapping("/student")
public class StudentController {
private static final String LIST = "student/list";
private static final String ADD = "student/add";
private static final String UPDATE = "student/update";
@Autowired
private StudentService studentService;
@Autowired
private SubjectService subjectService;
@Autowired
private ClazzService clazzService;
//跳转添加页面
@GetMapping("/add")
public String create(ModelMap modelMap) {
//查询所有的专业,存储到request域
List<Subject> subjects = subjectService.query(null);
modelMap.addAttribute("subjects", subjects);
return ADD;
}
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(@RequestBody Student student) {
//设置学生的状态
student.setStatus(Student.StatusType.type_1);
int result = studentService.create(student);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
int result = studentService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
@PostMapping("/query_teacher_section")
@ResponseBody
public Map<String, Object> query_teacher_section(HttpSession session) {
//获取登录老师的信息
Teacher teacher = (Teacher) session.getAttribute("user");
Section param = new Section();
param.setTeacherId(teacher.getId());
List<Section> sections = sectionService.query(param);
List<Clazz> clazzes = clazzService.query(null);
List<Course> courses = courseService.query(null);
sections.forEach(section -> {
clazzes.forEach(clazz -> {
if (section.getClazzId() == clazz.getId().intValue()) {
section.setClazz(clazz);
}
});
courses.forEach(course -> {
if (section.getCourseId() == course.getId().intValue()) {
section.setCourse(course);
}
});
});
return MapControl.getInstance().success().add("data", sections).getMap();
}
@GetMapping("/teacher_student_score")
public String teacher_student_score(Integer courseId, Integer sectionId, ModelMap modelMap) {
List<HashMap> list = studentService.querySelectStudent(courseId, sectionId);
modelMap.put("list", list);
modelMap.put("sectionId", sectionId);
modelMap.put("courseId", courseId);
return "section/teacher_student_score";
}
@PostMapping("/teacher_student_score")
@ResponseBody
public Map<String, Object> teacher_student_score(Integer courseId, Integer sectionId, String stuIds, String scores) {
int result = scoreService.update(courseId, sectionId, stuIds, scores);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
package com.yanzhen.utils;
//项目路径拦截器
public class PathInterceptor implements HandlerInterceptor {
//预处理
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//获取请求路径
String path = request.getContextPath();
//获取url
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
request.setAttribute("basePath",basePath);
//放行
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
package com.yanzhen.utils;
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(Teacher teacher) {
int result = teacherService.create(teacher);
if (result <= 0) {
//新增失败
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id删除
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
int result = teacherService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//批量删除
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = teacherService.delete(ids);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//修改操作
@PostMapping("/update")
@ResponseBody
public Map<String, Object> update(@RequestBody Teacher teacher) {
int result = teacherService.update(teacher);
if (result <= 0) {
//新增失败
return MapControl.getInstance().error().getMap();
}
//跳转登录页面
@GetMapping("/list")
public String list() {
return LIST;
}
}
package com.yanzhen.controller;
@Controller
@RequestMapping("/course")
public class CourseController {
private static final String LIST = "course/list";
private static final String ADD = "course/add";
private static final String UPDATE = "course/update";
@Autowired
private CourseService courseService;
//跳转添加页面
@GetMapping("/add")
public String create() {
return ADD;
}
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(@RequestBody Course course) {
int result = courseService.create(course);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id删除
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
return "section/teacher_section";
}
@PostMapping("/query_teacher_section")
@ResponseBody
public Map<String, Object> query_teacher_section(HttpSession session) {
//获取登录老师的信息
Teacher teacher = (Teacher) session.getAttribute("user");
Section param = new Section();
param.setTeacherId(teacher.getId());
List<Section> sections = sectionService.query(param);
List<Clazz> clazzes = clazzService.query(null);
List<Course> courses = courseService.query(null);
sections.forEach(section -> {
clazzes.forEach(clazz -> {
if (section.getClazzId() == clazz.getId().intValue()) {
section.setClazz(clazz);
}
});
courses.forEach(course -> {
if (section.getCourseId() == course.getId().intValue()) {
section.setCourse(course);
}
});
});
return MapControl.getInstance().success().add("data", sections).getMap();
}
@GetMapping("/teacher_student_score")
public String teacher_student_score(Integer courseId, Integer sectionId, ModelMap modelMap) {
List<HashMap> list = studentService.querySelectStudent(courseId, sectionId);
modelMap.put("list", list);
modelMap.put("sectionId", sectionId);
modelMap.put("courseId", courseId);
return "section/teacher_student_score";
}
@PostMapping("/teacher_student_score")
@ResponseBody
public Map<String, Object> teacher_student_score(Integer courseId, Integer sectionId, String stuIds, String scores) {
int result = scoreService.update(courseId, sectionId, stuIds, scores);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
}
package com.yanzhen.controller;
@Controller
@RequestMapping("/section")
public class SectionController {
private static final String LIST = "section/list";
private static final String ADD = "section/add";
private static final String UPDATE = "section/update";
@Autowired
private SectionService sectionService;
@Autowired
private SubjectService subjectService;
@Autowired
private ClazzService clazzService;
@Autowired
private TeacherService teacherService;
@Autowired
private CourseService courseService;
@Autowired
private StudentService studentService;
@Autowired
public ScoreService scoreService;
//跳转添加页面
@GetMapping("/add")
public String create(Integer clazzId, ModelMap modelMap) {
//查询所有的老师,存储到request域
List<Teacher> teachers = teacherService.query(null);
//查询所有的课程,存储到request域
List<Course> courses = courseService.query(null);
modelMap.addAttribute("teachers", teachers);
modelMap.addAttribute("courses", courses);
modelMap.addAttribute("clazzId", clazzId);
return ADD;
}
public Map<String, Object> query(@RequestBody Teacher teacher) {
List<Teacher> list = teacherService.query(teacher);
Integer count = teacherService.count(teacher);
return MapControl.getInstance().success().put("data", list).put("count", count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
}
}
package com.yanzhen.controller;
@Controller
@RequestMapping("/captcha")
public class CaptchaController {
private char[] codeSequence = {'A', '1', 'B', 'C', '2', 'D', '3', 'E', '4', 'F', '5', 'G', '6', 'H', '7', 'I', '8', 'J',
'K', '9', 'L', '1', 'M', '2', 'N', 'P', '3', 'Q', '4', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z'};
@RequestMapping("/code")
public void getCode(HttpServletResponse response, HttpSession session) throws IOException {
int width = 80;
int height = 37;
Random random = new Random();
//设置response头信息
//禁止缓存
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
//生成缓冲区image类
private ClazzService clazzService;
//跳转添加页面
@GetMapping("/add")
public String create(ModelMap modelMap) {
//查询所有的专业,存储到request域
List<Subject> subjects = subjectService.query(null);
modelMap.addAttribute("subjects", subjects);
return ADD;
}
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(@RequestBody Student student) {
//设置学生的状态
student.setStatus(Student.StatusType.type_1);
int result = studentService.create(student);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询
@PostMapping("/delete/{id}")
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
int result = studentService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//删除操作
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = studentService.delete(ids);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//修改操作
@PostMapping("/update")
@ResponseBody
@PostMapping("/query_student_score")
@ResponseBody
public Map<String, Object> query_student_score(HttpSession session) {
//从session中获取
Student student = (Student) session.getAttribute("user");
Score score = new Score();
score.setStuId(student.getId());
//查询成绩
List<Score> scores = scoreService.query(score);
//查询课程信息
List<Course> courses = courseService.query(null);
//查询开课信息
List<Section> sections = sectionService.query(null);
scores.forEach(entity -> {
courses.forEach(course -> {
//判断该成绩表中的courseId与课程表的id是否一致
if (entity.getCourseId() == course.getId()) {
entity.setCourse(course);
}
});
sections.forEach(section -> {
//判断该成绩的开课id是否与开课的id一致
if (entity.getSectionId() == section.getId()) {
entity.setSection(section);
}
});
entity.setStudent(student);
});
return MapControl.getInstance().success().put("data", scores).getMap();
}
}
package com.yanzhen.controller;
@ResponseBody
public Map<String, Object> delete(@PathVariable("id") Integer id) {
int result = userService.delete(id);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//批量删除
@PostMapping("/delete")
@ResponseBody
public Map<String, Object> delete(String ids) {
int result = userService.delete(ids);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//修改操作
@PostMapping("/update")
@ResponseBody
public Map<String, Object> update(@RequestBody User user) {
int result = userService.update(user);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable("id") Integer id, ModelMap modelMap) {
User user = userService.detail(id);
modelMap.addAttribute("user", user);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody User user) {
List<User> list = userService.query(user);
Integer count = userService.count(user);
return MapControl.getInstance().success().page(list, count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
}
});
clazzes.forEach(clazz -> {
//判断学生表的clazzId和班级表的id是否一致
if (clazz.getId() == entity.getClazzId()) {
entity.setClazz(clazz);
}
});
});
return MapControl.getInstance().success().add("data", students).getMap();
}
}
package com.yanzhen.controller;
@Controller
public class IndexController {
@Autowired
UserService userService;
@Autowired
TeacherService teacherService;
@Autowired
StudentService studentService;
@Autowired
ClazzService clazzService;
@Autowired
SubjectService subjectService;
}
//根据id查询,跳转修改页面
@GetMapping("/detail/{id}")
public String detail(@PathVariable("id") Integer id, ModelMap modelMap) {
//查询所有的专业
List<Subject> subjects = subjectService.query(null);
//查询出要修改的班级的信息
Clazz clazz = clazzService.detail(id);
//将查询出来的数据存储到request域,实现表单回显
modelMap.addAttribute("clazz", clazz);
modelMap.addAttribute("subjects", subjects);
return UPDATE;
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(@RequestBody Clazz clazz) {
//查询所有的班级
List<Clazz> list = clazzService.query(clazz);
//查询所有的专业
List<Subject> subjects = subjectService.query(null);
//设置关联
list.forEach(entity -> {
subjects.forEach(subject -> {
//判断班级表中subjectId与专业表的id是否一致
if (entity.getSubjectId() == subject.getId()) {
entity.setSubject(subject);
}
});
});
//查询班级总数
Integer count = clazzService.count(clazz);
return MapControl.getInstance().success().page(list, count).getMap();
}
//跳转列表页面
@GetMapping("/list")
public String list() {
return LIST;
}
if (section.getClazzId() == clazz.getId().intValue()) {
section.setClazz(clazz);
}
});
courses.forEach(course -> {
if (section.getCourseId() == course.getId().intValue()) {
section.setCourse(course);
}
});
});
return MapControl.getInstance().success().add("data", sections).getMap();
}
@GetMapping("/teacher_student_score")
public String teacher_student_score(Integer courseId, Integer sectionId, ModelMap modelMap) {
List<HashMap> list = studentService.querySelectStudent(courseId, sectionId);
modelMap.put("list", list);
modelMap.put("sectionId", sectionId);
modelMap.put("courseId", courseId);
return "section/teacher_student_score";
}
@PostMapping("/teacher_student_score")
@ResponseBody
public Map<String, Object> teacher_student_score(Integer courseId, Integer sectionId, String stuIds, String scores) {
int result = scoreService.update(courseId, sectionId, stuIds, scores);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
}
package com.yanzhen.controller;
children.put("id", clazz.getId());
children.put("name", clazz.getClazzName());
children.put("parentId", subject.getId());
childrenList.add(children);
}
});
map.put("children", childrenList);
list.add(map);
});
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonString = objectMapper.writeValueAsString(list);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return list;
}
//跳转开课信息列表页面
@GetMapping("/student_section")
public String student_section() {
return "section/student_section";
}
@PostMapping("/query_student_section")
@ResponseBody
public Map<String, Object> student_section(HttpSession session) {
Student student = (Student) session.getAttribute("user");
List<Section> sections = sectionService.queryByStudent(student.getId());
List<Clazz> clazzes = clazzService.query(null);
List<Teacher> teachers = teacherService.query(null);
List<Course> courses = courseService.query(null);
sections.forEach(section -> {
clazzes.forEach(clazz -> {
if (section.getClazzId() == clazz.getId()) {
section.setClazz(clazz);
}
});
teachers.forEach(teacher -> {
if (section.getTeacherId() == teacher.getId()) {
section.setTeacher(teacher);
}
});
@Controller
@RequestMapping("/score")
public class ScoreController {
@Autowired
private ScoreService scoreService;
@Autowired
private CourseService courseService;
@Autowired
private SectionService sectionService;
//添加操作
@PostMapping("/create")
@ResponseBody
public Map<String, Object> create(String sectionIds, String courseIds, HttpSession session) {
Student student = (Student) session.getAttribute("user");
int result = scoreService.create(sectionIds, courseIds, student.getId());
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//修改操作
@PostMapping("/update")
@ResponseBody
public Map<String, Object> update(Score score) {
int result = scoreService.update(score);
if (result <= 0) {
return MapControl.getInstance().error().getMap();
}
return MapControl.getInstance().success().getMap();
}
//根据id查询
@PostMapping("/detail/{id}")
@ResponseBody
public Map<String, Object> detail(@PathVariable("id") Integer id) {
Score score = scoreService.detail(id);
if (score == null) {
return MapControl.getInstance().nodata().getMap();
}
return MapControl.getInstance().success().put("data", score).getMap();
}
//查询所有
@PostMapping("/query")
@ResponseBody
public Map<String, Object> query(Score score) {
List<Score> list = scoreService.query(score);
return MapControl.getInstance().success().put("data", list).getMap();
}
//跳转查询成绩页面
@Autowired
private StudentService studentService;
//跳转登录页面
@GetMapping("/login")
public String login() {
return "login";
}
//登录操作
@PostMapping("/login")
@ResponseBody
public Map<String, Object> login(String userName, String password, String captcha, String type, HttpSession session) {
//判断用户名、密码、用户类型、验证码是否为空
if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(type)) {
return MapControl.getInstance().error("用户名或密码不能为空").getMap();
}
//获取系统生成的验证码
//String _captcha = (String) session.getAttribute("captcha");
//先判断验证码是否正确
/* if (!captcha.equals(_captcha)) {
//验证码错误
return MapControl.getInstance().error("验证码错误").getMap();
}
*/
//判断用户类型
if ("1".equals(type)) { //管理员验证登录
User user = userService.login(userName, MD5Utils.getMD5(password)); //对密码进行加密处理,因为数据库中存储的是加密后的密码
if (user != null) {
session.setAttribute("user", user);
session.setAttribute("type", 1);
return MapControl.getInstance().success().add("data", user).getMap();
} else {
return MapControl.getInstance().error("用户名或密码错误").getMap();
}
}
if ("2".equals(type)) { //老师验证登录
Teacher teacher = teacherService.login(userName, MD5Utils.getMD5(password));
if (teacher != null) {
session.setAttribute("user", teacher);
session.setAttribute("type", "2");
return MapControl.getInstance().success().add("data", teacher).getMap();
} else {
return MapControl.getInstance().error("用户名或密码错误").getMap();
}
}
if ("3".equals(type)) { //学生验证登录
Student student = studentService.login(userName, MD5Utils.getMD5(password));
if (student != null) {
session.setAttribute("user", student);
session.setAttribute("type", "3");
return MapControl.getInstance().success().add("data", student).getMap();
} else {
return MapControl.getInstance().error("用户名或密码错误").getMap();