摘要
传统高校宿舍报修依靠电话、微信、纸质登记,报修流程混乱、维修进度无法跟踪、维修数据难以统计。为解决高校后勤报修痛点,本文采用SpringBoot 后端 + Vue 前端 + MySQL 数据库前后端分离技术栈,开发一套校园报修管理系统。系统划分普通学生用户、维修人员、系统管理员三大角色,实现宿舍分配、在线报修申请、工单受理、维修任务分配、维修记录、维修评价、新闻公告等完整闭环业务。测试表明系统运行稳定,解决传统报修信息滞后、流程不透明的问题,适合高校后勤数字化场景,可作为 Java 毕设项目直接参考。
关键词:SpringBoot;Vue;校园报修;前后端分离;MySQL;毕设项目
一、项目背景
随着智慧校园建设推进,高校学生规模持续扩大,宿舍、教室公共设施损坏报修需求与日俱增。很多高校依旧沿用传统报修模式:学生打电话给后勤、线下找宿管登记,存在不少现实痛点:
- 报修流程繁琐:学生报修需要记住后勤联系电话,遇到电话占线无法提交报修;纸质登记单据容易丢失。
- 维修进度黑盒:提交报修之后,学生不知道什么时候来人维修,无法查看工单处理状态,只能被动等待。
- 管理员调度困难:后勤管理员手工记录报修信息,人工指派维修师傅,任务分配没有记录,工作量大。
- 缺少评价与统计:维修完成没有评价入口,无法统计维修工单数量、故障类型、维修人员工作量,不利于后勤复盘优化。
市面上部分商用后勤系统部署成本高,功能冗余,对于毕业设计场景过重。因此本项目基于 SpringBoot+Vue 搭建轻量化校园报修管理 Web 系统,实现报修全流程线上闭环,学生线上提交报修工单,管理员审核分派工单,维修人员接单处理,维修完毕学生进行评价,全部流程线上可视化,提升校园后勤服务效率。
二、相关技术介绍
2.1 SpringBoot(后端)
SpringBoot 是目前 Java 毕设主流框架,核心特点约定大于配置,摒弃 Spring 大量 XML 配置文件,内置 Tomcat 服务器,项目直接 jar 包运行快速部署。
- SpringMVC:负责接收前端 HTTP 请求,Controller 层接收参数;
- MyBatis:持久层框架,操作 MySQL 数据库,实现多表复杂查询;
- 依赖 Maven 管理项目 jar 包,快速引入 web、mybatis、jwt 等依赖;
- JWT 实现登录鉴权,不同角色(学生、维修员、管理员)做接口权限拦截。
2.2 Vue2 + Element‑UI(前端)
前端采用 Vue2 框架,MVVM 思想,组件化开发,Element‑UI 提供表格、表单、弹窗等现成组件,快速搭建管理后台页面。
- Axios 发送异步请求,和后端 RESTful 接口交互;
- Vue‑Router 实现页面路由,路由守卫控制未登录、越权访问;
- 响应式页面,电脑浏览器直接访问,无需安装客户端。
2.3 MySQL 数据库
采用 MySQL 8.0 关系型数据库存储全部业务数据,InnoDB 引擎支持事务,保障报修工单状态流转数据一致性。建立用户表、维修人员表、报修工单表、维修评价表、宿舍信息表、新闻公告表,通过外键关联业务实体。
2.4 B/S 架构
系统采用浏览器 / 服务器 B/S 架构,全部业务部署在服务端,用户只需要浏览器访问地址即可使用,降低部署使用门槛,适合校园多用户同时访问。整体分层:
- 表现层:Vue 前端页面;
- 业务层 Service:处理报修业务逻辑,工单状态流转;
- 持久层 Mapper:MyBatis 操作数据库。
三、系统需求分析
3.1 角色分析
系统一共 3 种角色,权限互相隔离
- 学生用户(普通用户)
- 注册登录、维护个人信息;
- 查看宿舍分配信息;
- 提交报修工单,填写故障类型、故障描述、上传故障图片;
- 查询自己所有报修工单进度;
- 维修结束后提交维修服务评分与文字评价;
- 查看系统新闻资讯
- 维修人员
- 登录系统查看分配给自己的维修工单;
- 查看工单宿舍位置、故障描述、故障图片;
- 维修完成填写维修记录,登记更换配件,标记工单完成;
- 查看历史维修工单记录,查看学生给出的维修评价。
- 系统管理员
- 用户管理:管理学生账号、维修人员账号,新增删除修改;
- 基础数据管理:楼栋、宿舍信息维护、报修类型维护;
- 工单处理:审核学生提交报修申请,将工单分配给对应维修人员;
- 维修记录管理,查看全部工单,查看维修评价;
- 发布、编辑、删除新闻资讯公告;
- 查看系统整体业务数据,管理系统弹窗提醒。
3.2 业务流程分析
完整报修闭环流程:
- 学生登录系统,填写故障信息,提交报修申请生成工单;
- 管理员后台看到待审核报修工单,审核受理,分配维修人员;
- 维修人员登录系统接收到分配工单,上门进行维修;
- 维修完毕维修人员提交维修完成,填写配件信息;
3.3 可行性分析
- 技术可行性:SpringBoot+Vue 属于毕业设计非常成熟技术栈,开发资料丰富,开发环境普通电脑即可运行,技术可以完整实现全部业务功能。
- 经济可行性:全部使用开源免费框架,不需要付费软件,本地开发测试,部署可以使用阿里云轻量服务器,成本低。
- 操作可行性:网页端操作,界面简洁,学生、后勤人员简单学习就可以上手操作。
四、系统总体设计
4.1 系统功能模块图
系统整体划分为多个模块:
- 用户模块:注册登录、个人信息维护;
- 宿舍管理模块:楼栋管理、宿舍分配管理;
- 报修工单模块:报修申请、报修审核、任务分配;
- 维修作业模块:维修接单、维修完成登记、维修历史记录;
- 维修评价模块:工单评价、评价查看;
- 新闻资讯模块:公告发布、浏览新闻;
- 系统管理模块:角色权限、系统日志。
4.2 数据库 E‑R 设计
核心实体关系:
- 学生用户:包含学号、姓名、密码、手机号、头像;
- 维修人员:维修账号、姓名、手机号、密码;
- 宿舍:楼栋号、宿舍号、床位、宿舍配置;
- 报修工单:报修标题、故障类型、宿舍信息、故障描述、图片、工单状态,一个学生可以有多条报修工单;
- 维修评价:关联报修工单,存储评分、评价内容;一条工单对应一条评价。
核心数据表:学生表 xuesheng,维修人员表 weixiurenyuan,报修申请表 baoxiushenqing,分配维修表 fenpeiweixiu,维修记录 weixiujilu,维修评价 weixiupingjia,宿舍分配 sushefenpei,新闻 news。
4.3 核心业务数据表(节选)
报修申请表 baoxiushenqing
表格
| 字段 | 说明 |
|---|---|
| id | 主键 |
| baoxiubiaoti | 报修标题 |
| baoxiuleixing | 报修类型(水电 / 门窗 / 空调等) |
| loudonghao | 楼栋号 |
| sushehao | 宿舍号 |
| guzhangmiaoshu | 故障描述 |
| sushetupian | 故障图片 |
| baoxiuzhuangtai | 工单状态:待审核 / 已受理 / 维修中 / 已完成 |
| xuehao | 报修学生学号 |
维修评价表 weixiupingjia
表格
| 字段 | 说明 |
|---|---|
| id | 主键 |
| baoxiubiaoti | 报修标题 |
| pingfen | 评分 |
| pingjianeirong | 评价内容 |
| pingjiashijian | 评价时间 |
| weixiuzhanghao | 维修人员账号 |
五、系统功能实现
本系统前后端分离,后端编写 RESTful 接口,前端 Vue 调用接口渲染页面。
5.1 用户前台功能实现
5.1.1 用户注册登录
学生填写学号、姓名、密码、手机号完成注册。前端表单校验,后端校验学号是否重复,密码加密保存,登录成功返回 JWT 令牌,后续请求头部携带 token 做身份认证,拦截未登录访问页面。
5.1.2 报修申请提交
学生选择自己的楼栋宿舍,填写报修标题,选择故障类型,文字描述故障,上传现场故障图片提交报修。后端接收表单,校验参数,数据库新增报修工单,工单初始状态为【待审核】。
核心后端伪代码:
// 报修申请保存 @PostMapping("/submitRepair") public Result submitRepair(@RequestBody RepairApply repairApply, HttpServletRequest request){ // 获取登录学生学号 String xuehao = tokenUtil.getUserId(request); repairApply.setXuehao(xuehao); repairApply.setBaoxiuzhuangtai("待审核"); repairApplyMapper.insert(repairApply); return Result.success("报修提交成功,请等待管理员审核"); }5.2 维修人员端功能
维修人员登录之后只可以看到分配给自己的工单列表。
- 查看工单详情:宿舍位置、故障描述、故障图片;
- 维修完毕填写维修完成表单,填写更换配件信息,提交后工单状态更新为已完成;
- 查询历史全部维修工单,查看学生对自己的服务评价。
5.3 管理员后台功能
- 账号管理:维护学生账号、维修人员账号,新增、删除、修改账号密码;
- 基础宿舍数据:维护楼栋信息,完成学生宿舍分配;
- 工单审核分派:查看所有待审核报修,审核通过之后选择维修人员完成工单分配;
- 工单记录管理:查看系统全部报修工单、维修记录、维修评价;
- 新闻公告:发布校园后勤通知新闻,学生前台可以浏览。
六、系统测试
6.1 测试环境
- 后端:IDEA,SpringBoot2.7,Maven,JDK1.8
- 前端:VSCode Vue2 + Element‑UI
- 数据库:MySQL8.0
- 浏览器:Chrome
6.2 功能测试用例
表格
| 用例 | 操作输入 | 预期结果 | 测试结果 |
|---|---|---|---|
| 学生提交报修 | 填写故障信息上传图片 | 成功生成待审核工单 | 通过 |
| 管理员审核工单 | 选择维修人员分配工单 | 工单状态更新,维修人员收到工单 | 通过 |
| 维修人员完成工单 | 填写配件提交完成 | 工单变为已完成,开放评价入口 | 通过 |
| 学生提交评价 | 填写评分评价文字 | 评价保存成功 | 通过 |
| 越权访问 | 学生直接访问管理员页面 | 路由拦截,跳转首页 | 通过 |
6.3 测试小结
经过黑盒功能测试,系统三大角色全部业务流程跑通,报修工单完整闭环流转,权限拦截生效,表单校验正常。同时系统存在可以优化点:
- 当前缺少消息推送,工单更新没有短信 / 站内消息提醒;
- 缺少数据大屏统计图表,统计各类报修占比;
- 后期可以接入图片压缩优化上传性能。
七、总结与展望
本项目基于 SpringBoot+Vue 实现校园报修管理系统,解决传统校园报修效率低下的痛点,实现学生报修、管理员工单调度、维修人员作业、评价反馈整套闭环。系统使用前后端分离架构,代码分层清晰,适合 Java 毕业设计学习参考。
项目还存在拓展方向,后续可以继续迭代:
- 增加站内消息提醒,工单状态变更推送通知对应角色;
- 增加 ECharts 数据统计大屏,统计报修故障分类、维修人员工作量;
- 接入小程序端,学生手机微信直接提交报修,不用打开浏览器;
- 增加工单超时提醒,长时间未处理的工单预警提示管理员。
参考文献
[1] 游晶,邱淑丽。基于 SpringBoot 的校园智慧报修系统的设计与实现 [J]. 信息技术与信息化,2023 [2] 李晟曈。基于 Vue 和 SpringBoot 的 Web 管理平台设计 [J]. 信息与电脑,2023 [3] 刘悦。基于 SpringBoot+Vue 的智慧校园后勤系统设计 [J]. 电脑知识与技术,2024
通过点赞、收藏、评论可以免费领取源码-可以私信博主