当前位置:   article > 正文

基于springboot+vue前后端分离开发实现宿舍管理系统_spring boot+vue宿舍管理系统楠哥

spring boot+vue宿舍管理系统楠哥

作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

文末获取源码 

一,项目简介

项目编号:BS-GX-037

       本项目基于Springboot+vue开发实现了一套宿舍管理系统,系统整体设计基于前后端分离的开发模式,前后端通过接口来相互调用, 实现有效的隔离。系统用户主要包含三类:管理员、学生、宿舍管理员简称为宿管。

1.1 管理员主要功能:

     用户管理:主要包含学生管理和宿舍管理员管理

     宿舍管理:主要包含楼宇管理和宿舍房间管理

     信息管理:主要包含公告管理和宿舍报修管理

     申请管理:主要包含学生调剂宿舍管理

     访客管理:主要包含外人到访宿舍的管理

     个人管理:管理当前用户的个人信息

1.2 学生主要功能

     我的宿舍:查看当前学生自己所在的宿舍信息

     申请调宿舍:申请调剂宿舍,等待宿舍管理员审批

     报修申请:宿舍内有损坏的物品可以申请维修

     个人信息:管理当前用户的个人信息

1.3  宿舍管理员功能

     用户管理:主要包含学生管理

     宿舍管理:主要包含楼宇管理和宿舍房间管理

     信息管理:主要包含公告管理和宿舍报修管理

     申请管理:主要包含学生调剂宿舍管理

     访客管理:主要包含外人到访宿舍的管理

     个人管理:管理当前用户的个人信息

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

前端开发:VUE+Element

后端开发:Springboot+sprinmvc+mybatis-plus

三,系统展示

用户登陆

管理首页

学生管理

宿管管理

楼宇管理

房间管理

公告管理

报修管理

宿舍调剂管理

访客管理

个人信息管理

宿管人员的主要功能

学生的主要功能模块

四,核心代码展示

  1. package com.example.springboot.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.example.springboot.common.Result;
  4. import com.example.springboot.entity.AdjustRoom;
  5. import com.example.springboot.service.AdjustRoomService;
  6. import com.example.springboot.service.DormRoomService;
  7. import org.springframework.web.bind.annotation.*;
  8. import javax.annotation.Resource;
  9. /**
  10. * znz
  11. */
  12. @RestController
  13. @RequestMapping("/adjustRoom")
  14. public class AdjustRoomController {
  15. @Resource
  16. private AdjustRoomService adjustRoomService;
  17. @Resource
  18. private DormRoomService dormRoomService;
  19. /**
  20. * 添加订单
  21. */
  22. @PostMapping("/add")
  23. public Result<?> add(@RequestBody AdjustRoom adjustRoom) {
  24. int result = adjustRoomService.addApply(adjustRoom);
  25. if (result == 1) {
  26. return Result.success();
  27. } else {
  28. return Result.error("-1", "查询失败");
  29. }
  30. }
  31. /**
  32. * 更新订单
  33. */
  34. @PutMapping("/update/{state}")
  35. public Result<?> update(@RequestBody AdjustRoom adjustRoom, @PathVariable Boolean state) {
  36. if (state) {
  37. // 更新房间表信息
  38. int i = dormRoomService.adjustRoomUpdate(adjustRoom);
  39. if (i == -2) {
  40. return Result.error("-1", "重复操作");
  41. }
  42. }
  43. //更新调宿表信息
  44. int i = adjustRoomService.updateApply(adjustRoom);
  45. if (i == 1) {
  46. return Result.success();
  47. } else {
  48. return Result.error("-1", "更新失败");
  49. }
  50. }
  51. /**
  52. * 删除订单
  53. */
  54. @DeleteMapping("/delete/{id}")
  55. public Result<?> delete(@PathVariable Integer id) {
  56. int i = adjustRoomService.deleteAdjustment(id);
  57. if (i == 1) {
  58. return Result.success();
  59. } else {
  60. return Result.error("-1", "删除失败");
  61. }
  62. }
  63. /**
  64. * 查找订单
  65. */
  66. @GetMapping("/find")
  67. public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
  68. @RequestParam(defaultValue = "10") Integer pageSize,
  69. @RequestParam(defaultValue = "") String search) {
  70. Page page = adjustRoomService.find(pageNum, pageSize, search);
  71. if (page != null) {
  72. return Result.success(page);
  73. } else {
  74. return Result.error("-1", "查询失败");
  75. }
  76. }
  77. }
  1. package com.example.springboot.controller;
  2. import com.example.springboot.common.Result;
  3. import com.example.springboot.common.UID;
  4. import com.example.springboot.entity.Admin;
  5. import com.example.springboot.entity.User;
  6. import com.example.springboot.service.AdminService;
  7. import org.springframework.web.bind.annotation.*;
  8. import javax.annotation.Resource;
  9. import javax.servlet.http.HttpSession;
  10. @RestController
  11. @RequestMapping("/admin")
  12. public class AdminController {
  13. String uid = new UID().produceUID();
  14. @Resource
  15. private AdminService adminService;
  16. /**
  17. * 管理员登录
  18. */
  19. @PostMapping("/login")
  20. public Result<?> login(@RequestBody User user, HttpSession session) {
  21. Object o = adminService.adminLogin(user.getUsername(), user.getPassword());
  22. if (o != null) {
  23. System.out.println(o);
  24. //存入session
  25. session.setAttribute("Identity", "admin");
  26. session.setAttribute("User", o);
  27. return Result.success(o);
  28. } else {
  29. return Result.error("-1", "用户名或密码错误");
  30. }
  31. }
  32. /**
  33. * 管理员信息更新
  34. */
  35. @PutMapping("/update")
  36. public Result<?> update(@RequestBody Admin admin) {
  37. int i = adminService.updateAdmin(admin);
  38. if (i == 1) {
  39. return Result.success();
  40. } else {
  41. return Result.error("-1", "更新失败");
  42. }
  43. }
  44. }
  1. package com.example.springboot.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.example.springboot.common.Result;
  4. import com.example.springboot.entity.DormBuild;
  5. import com.example.springboot.service.DormBuildService;
  6. import org.springframework.web.bind.annotation.*;
  7. import javax.annotation.Resource;
  8. import java.util.List;
  9. import java.util.stream.Collectors;
  10. @RestController
  11. @RequestMapping("/building")
  12. public class DormBuildController {
  13. @Resource
  14. private DormBuildService dormBuildService;
  15. /**
  16. * 楼宇添加
  17. */
  18. @PostMapping("/add")
  19. public Result<?> add(@RequestBody DormBuild dormBuild) {
  20. int i = dormBuildService.addNewBuilding(dormBuild);
  21. if (i == 1) {
  22. return Result.success();
  23. } else {
  24. return Result.error("-1", "添加失败");
  25. }
  26. }
  27. /**
  28. * 楼宇信息更新
  29. */
  30. @PutMapping("/update")
  31. public Result<?> update(@RequestBody DormBuild dormBuild) {
  32. int i = dormBuildService.updateNewBuilding(dormBuild);
  33. if (i == 1) {
  34. return Result.success();
  35. } else {
  36. return Result.error("-1", "更新失败");
  37. }
  38. }
  39. /**
  40. * 楼宇删除
  41. */
  42. @DeleteMapping("/delete/{dormBuildId}")
  43. public Result<?> delete(@PathVariable Integer dormBuildId) {
  44. int i = dormBuildService.deleteBuilding(dormBuildId);
  45. if (i == 1) {
  46. return Result.success();
  47. } else {
  48. return Result.error("-1", "删除失败");
  49. }
  50. }
  51. /**
  52. * 楼宇查找
  53. */
  54. @GetMapping("/find")
  55. public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
  56. @RequestParam(defaultValue = "10") Integer pageSize,
  57. @RequestParam(defaultValue = "") String search) {
  58. Page page = dormBuildService.find(pageNum, pageSize, search);
  59. if (page != null) {
  60. return Result.success(page);
  61. } else {
  62. return Result.error("-1", "查询失败");
  63. }
  64. }
  65. /**
  66. * 首页Echarts 获取楼宇信息
  67. */
  68. @GetMapping("/getBuildingName")
  69. public Result<?> getBuildingName() {
  70. List<DormBuild> buildingName = dormBuildService.getBuildingId();
  71. List<Integer> buildingId = buildingName.stream().map(dormBuildId -> dormBuildId.getDormBuildId()).collect(Collectors.toList());
  72. if (!buildingId.isEmpty()) {
  73. return Result.success(buildingId);
  74. } else {
  75. return Result.error("-1", "查询失败");
  76. }
  77. }
  78. }
  1. package com.example.springboot.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.example.springboot.common.Result;
  4. import com.example.springboot.entity.DormManager;
  5. import com.example.springboot.entity.User;
  6. import com.example.springboot.service.DormManagerService;
  7. import org.springframework.web.bind.annotation.*;
  8. import javax.annotation.Resource;
  9. import javax.servlet.http.HttpSession;
  10. @RestController
  11. @RequestMapping("/dormManager")
  12. public class DormManagerController {
  13. @Resource
  14. private DormManagerService dormManagerService;
  15. /**
  16. * 宿管添加
  17. */
  18. @PostMapping("/add")
  19. public Result<?> add(@RequestBody DormManager dormManager) {
  20. int i = dormManagerService.addNewDormManager(dormManager);
  21. if (i == 1) {
  22. return Result.success();
  23. } else {
  24. return Result.error("-1", "添加失败");
  25. }
  26. }
  27. /**
  28. * 宿管信息更新
  29. */
  30. @PutMapping("/update")
  31. public Result<?> update(@RequestBody DormManager dormManager) {
  32. int i = dormManagerService.updateNewDormManager(dormManager);
  33. if (i == 1) {
  34. return Result.success();
  35. } else {
  36. return Result.error("-1", "更新失败");
  37. }
  38. }
  39. /**
  40. * 宿管删除
  41. */
  42. @DeleteMapping("/delete/{username}")
  43. public Result<?> delete(@PathVariable String username) {
  44. int i = dormManagerService.deleteDormManager(username);
  45. if (i == 1) {
  46. return Result.success();
  47. } else {
  48. return Result.error("-1", "删除失败");
  49. }
  50. }
  51. /**
  52. * 宿管查找
  53. */
  54. @GetMapping("/find")
  55. public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
  56. @RequestParam(defaultValue = "10") Integer pageSize,
  57. @RequestParam(defaultValue = "") String search) {
  58. Page page = dormManagerService.find(pageNum, pageSize, search);
  59. if (page != null) {
  60. return Result.success(page);
  61. } else {
  62. return Result.error("-1", "查询失败");
  63. }
  64. }
  65. /**
  66. * 宿管登录
  67. */
  68. @PostMapping("/login")
  69. public Result<?> login(@RequestBody User user, HttpSession session) {
  70. Object o = dormManagerService.dormManagerLogin(user.getUsername(), user.getPassword());
  71. if (o != null) {
  72. System.out.println(o);
  73. //存入session
  74. session.setAttribute("Identity", "dormManager");
  75. session.setAttribute("User", o);
  76. return Result.success(o);
  77. } else {
  78. return Result.error("-1", "用户名或密码错误");
  79. }
  80. }
  81. }

  1. package com.example.springboot.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.example.springboot.common.Result;
  4. import com.example.springboot.entity.DormRoom;
  5. import com.example.springboot.service.DormRoomService;
  6. import org.springframework.web.bind.annotation.*;
  7. import javax.annotation.Resource;
  8. import java.util.ArrayList;
  9. @RestController
  10. @RequestMapping("/room")
  11. public class DormRoomController {
  12. @Resource
  13. private DormRoomService dormRoomService;
  14. /**
  15. * 添加房间
  16. */
  17. @PostMapping("/add")
  18. public Result<?> add(@RequestBody DormRoom dormRoom) {
  19. int i = dormRoomService.addNewRoom(dormRoom);
  20. if (i == 1) {
  21. return Result.success();
  22. } else {
  23. return Result.error("-1", "添加失败");
  24. }
  25. }
  26. /**
  27. * 更新房间
  28. */
  29. @PutMapping("/update")
  30. public Result<?> update(@RequestBody DormRoom dormRoom) {
  31. int i = dormRoomService.updateNewRoom(dormRoom);
  32. if (i == 1) {
  33. return Result.success();
  34. } else {
  35. return Result.error("-1", "更新失败");
  36. }
  37. }
  38. /**
  39. * 删除房间
  40. */
  41. @DeleteMapping("/delete/{dormRoomId}")
  42. public Result<?> delete(@PathVariable Integer dormRoomId) {
  43. int i = dormRoomService.deleteRoom(dormRoomId);
  44. if (i == 1) {
  45. return Result.success();
  46. } else {
  47. return Result.error("-1", "删除失败");
  48. }
  49. }
  50. /**
  51. * 查找房间
  52. */
  53. @GetMapping("/find")
  54. public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
  55. @RequestParam(defaultValue = "10") Integer pageSize,
  56. @RequestParam(defaultValue = "") String search) {
  57. Page page = dormRoomService.find(pageNum, pageSize, search);
  58. if (page != null) {
  59. return Result.success(page);
  60. } else {
  61. return Result.error("-1", "查询失败");
  62. }
  63. }
  64. /**
  65. * 首页顶部:空宿舍统计
  66. */
  67. @GetMapping("/noFullRoom")
  68. public Result<?> noFullRoom() {
  69. int num = dormRoomService.notFullRoom();
  70. if (num >= 0) {
  71. return Result.success(num);
  72. } else {
  73. return Result.error("-1", "空宿舍查询失败");
  74. }
  75. }
  76. /**
  77. * 删除床位学生信息
  78. */
  79. @DeleteMapping("/delete/{bedName}/{dormRoomId}/{calCurrentNum}")
  80. public Result<?> deleteBedInfo(@PathVariable String bedName, @PathVariable Integer dormRoomId, @PathVariable int calCurrentNum) {
  81. int i = dormRoomService.deleteBedInfo(bedName, dormRoomId, calCurrentNum);
  82. if (i == 1) {
  83. return Result.success();
  84. } else {
  85. return Result.error("-1", "删除失败");
  86. }
  87. }
  88. /**
  89. * 床位信息,查询该学生是否已由床位
  90. */
  91. @GetMapping("/judgeHadBed/{value}")
  92. public Result<?> judgeHadBed(@PathVariable String value) {
  93. DormRoom dormRoom = dormRoomService.judgeHadBed(value);
  94. if (dormRoom == null) {
  95. return Result.success();
  96. } else {
  97. return Result.error("-1", "该学生已有宿舍");
  98. }
  99. }
  100. /**
  101. * 主页 住宿人数
  102. */
  103. @GetMapping("/selectHaveRoomStuNum")
  104. public Result<?> selectHaveRoomStuNum() {
  105. Long count = dormRoomService.selectHaveRoomStuNum();
  106. if (count >= 0) {
  107. return Result.success(count);
  108. } else {
  109. return Result.error("-1", "查询首页住宿人数失败");
  110. }
  111. }
  112. /**
  113. * 住宿分布人数
  114. */
  115. @GetMapping("/getEachBuildingStuNum/{num}")
  116. public Result<?> getEachBuildingStuNum(@PathVariable int num) {
  117. ArrayList<Long> arrayList = new ArrayList();
  118. for (int i = 1; i <= num; i++) {
  119. Long eachBuildingStuNum = dormRoomService.getEachBuildingStuNum(i);
  120. arrayList.add(eachBuildingStuNum);
  121. }
  122. if (!arrayList.isEmpty()) {
  123. return Result.success(arrayList);
  124. } else {
  125. return Result.error("-1", "获取人数失败");
  126. }
  127. }
  128. /**
  129. * 学生功能: 我的宿舍
  130. */
  131. @GetMapping("/getMyRoom/{name}")
  132. public Result<?> getMyRoom(@PathVariable String name) {
  133. DormRoom dormRoom = dormRoomService.judgeHadBed(name);
  134. if (dormRoom != null) {
  135. return Result.success(dormRoom);
  136. } else {
  137. return Result.error("-1", "不存在该生");
  138. }
  139. }
  140. /**
  141. * 检查房间是否满员
  142. */
  143. @GetMapping("/checkRoomState/{dormRoomId}")
  144. public Result<?> checkRoomState(@PathVariable Integer dormRoomId) {
  145. DormRoom dormRoom = dormRoomService.checkRoomState(dormRoomId);
  146. if (dormRoom != null) {
  147. return Result.success(dormRoom);
  148. } else {
  149. return Result.error("-1", "该房间人满了");
  150. }
  151. }
  152. /**
  153. * 检查床位是否已经有人
  154. */
  155. @GetMapping("/checkBedState/{dormRoomId}/{bedNum}")
  156. public Result<?> getMyRoom(@PathVariable Integer dormRoomId, @PathVariable int bedNum) {
  157. DormRoom dormRoom = dormRoomService.checkBedState(dormRoomId, bedNum);
  158. if (dormRoom != null) {
  159. return Result.success(dormRoom);
  160. } else {
  161. return Result.error("-1", "该床位已有人");
  162. }
  163. }
  164. /**
  165. * 检查房间是否满员
  166. */
  167. @GetMapping("/checkRoomExist/{dormRoomId}")
  168. public Result<?> checkRoomExist(@PathVariable Integer dormRoomId) {
  169. DormRoom dormRoom = dormRoomService.checkRoomExist(dormRoomId);
  170. if (dormRoom != null) {
  171. return Result.success(dormRoom);
  172. } else {
  173. return Result.error("-1", "不存在该房间");
  174. }
  175. }
  176. }

五,项目总结

 项目整体功能 完整,界面简洁大方,使用的前后端分离的方式也比较符合现在开发的主流趋势,比较适合做毕业设计使用。

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

闽ICP备14008679号