当前位置:   article > 正文

Java项目:springboot+vue校园宿舍管理系统_java vue 项目

java vue 项目

作者主页:Java毕设网

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

一、项目介绍

这个项目是一个基于SpringBoot+Vue的校园宿舍管理系统,前后端分离。
主要有超级管理员和宿舍管理员两种角色;

超级管理员权限包括:
首页;
学生宿舍管理:宿舍管理、学生管理、班级管理、宿舍楼管理;
记录:维修记录、晚归记录、请假记录;
系统管理:用户管理、角色管理、菜单管理、日志管理等。

宿舍管理员权限包括:
首页;
学生宿舍管理:宿舍管理、学生管理、班级管理;
记录:维修记录、晚归记录、请假记录;

二、环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;

三、技术栈

1.后端:SpringBoot+Mysql+redis
2.前端:Vue

四、使用说明

后端项目运行:
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application-dev.yaml配置文件中的数据库配置改为自己的配置;
4. 运行项目,控制台提示运行成功后再去运行前端项目;

前端项目运行:
1. 安装好node环境
2. 在dms目录下运行 npm install 安装所需要的包
3. 在dms目录下运行 npm run dev
4. 运行成功后,在浏览器中访问http://localhost:8087,登录账号即可

五、运行截图

六、相关代码

登陆管理控制器

  1. /**
  2. * @author 熊新欣
  3. * @date 2020-12-08
  4. */
  5. @RestController
  6. @RequestMapping("/login")
  7. public class LoginController {
  8. private final RedisUtil redisUtil;
  9. private final SystemUserService systemUserService;
  10. public LoginController(RedisUtil redisUtil, SystemUserService systemUserService) {
  11. this.redisUtil = redisUtil;
  12. this.systemUserService = systemUserService;
  13. }
  14. @PostMapping("/login")
  15. public Result<String> login(SystemUser user, @RequestParam(value = "redirectUrl") String redirectUrl) {
  16. List<SystemUser> userList = systemUserService.listUserByLoginName(user.getLoginName());
  17. if (userList.size() == 0) {
  18. throw new HttpException(HttpCode.LOGIN_FAILED, "没有此用户");
  19. } else if (userList.size() > 1) {
  20. throw new HttpException(HttpCode.LOGIN_FAILED, "存在多个登录名,请联系管理员");
  21. } else {
  22. SystemUser systemUser = userList.get(0);
  23. if (systemUser.getPassword().equals(MD5Util.md5(user.getPassword()))) {
  24. String token = UUID.randomUUID().toString();
  25. redisUtil.put(token, systemUser.getId());
  26. return Result.<String>ok().add(redirectUrl + "#/token=" + token);
  27. } else {
  28. throw new HttpException(HttpCode.LOGIN_FAILED, "登陆失败,密码错误");
  29. }
  30. }
  31. }
  32. @GetMapping("/logout")
  33. public Result<?> logout(@RequestHeader(HEADER_TOKEN) String token) {
  34. if (redisUtil.hasToken(token)) {
  35. redisUtil.deleteToken(token);
  36. }
  37. return Result.ok();
  38. }
  39. }

宿舍管理控制器

  1. @RestController
  2. @RequestMapping("/room")
  3. public class RoomController {
  4. @Autowired
  5. private RoomService roomService;
  6. @Autowired
  7. private StudentService studentService;
  8. @Autowired
  9. private RedisUtil redisUtil;
  10. @RequirePermission(permissions = {"room:list"})
  11. @PostMapping("/list")
  12. public Result<PageInfo<Room>> list(@RequestBody ListQuery<Room> listQuery, @RequestHeader(Constant.HEADER_TOKEN) String token) {
  13. SystemUser systemUser = redisUtil.exchange(token).orElseThrow(() -> new HttpException(HttpCode.FAILED, "登录用户不存在"));
  14. PageInfo<Room> pageInfo = roomService.list(listQuery, systemUser.getBuildingId());
  15. return Result.<PageInfo<Room>>ok().add(pageInfo);
  16. }
  17. @RequirePermission(permissions = {"room:list"})
  18. @GetMapping("/listAll")
  19. public Result<List<Room>> list(@RequestHeader(Constant.HEADER_TOKEN) String token) {
  20. SystemUser systemUser = redisUtil.exchange(token).orElseThrow(() -> new HttpException(HttpCode.FAILED, "登录用户不存在"));
  21. List<Room> list = roomService.list(systemUser.getBuildingId());
  22. return Result.<List<Room>>ok().add(list);
  23. }
  24. @GetMapping("/query/{id}")
  25. @RequirePermission(permissions = {"room:query"})
  26. public Result<Room> query(@PathVariable("id") Long id) {
  27. Room room = roomService.query(id).orElseThrow(() -> new HttpException(HttpCode.FAILED, "没有该宿舍信息"));
  28. return Result.<Room>ok().add(room);
  29. }
  30. @PostMapping("/saveOrUpdate")
  31. @RequirePermission(permissions = {"room:save", "room:update"})
  32. @Log
  33. public Result<?> saveOrUpdate(@RequestBody @Validated Room room) {
  34. roomService.saveOrUpdate(room);
  35. return Result.ok();
  36. }
  37. @GetMapping("/delete/{id}")
  38. @RequirePermission(permissions = {"room:delete"})
  39. @Log
  40. public Result<?> delete(@PathVariable("id") Long id) {
  41. int count = studentService.countByRoomId(id);
  42. if (count > 0) {
  43. throw new HttpException(HttpCode.FAILED, "该宿舍还有学生, 无法删除");
  44. }
  45. roomService.delete(id);
  46. return Result.ok("删除成功");
  47. }
  48. }

七、如果也想学习本系统,下面领取。关注并回复:103springboot

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/671297
推荐阅读
相关标签
  

闽ICP备14008679号