
hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹
🦁作者简介 :一名喜欢分享和记录学习的在校大学生
💥个人主页 :code袁的博客
💥 个人QQ :2647996100
🐯 个人wechat :code8896
code袁系列专栏导航
1 .《毕业设计与课程设计》本专栏分享一些毕业设计的源码以及项目成果。🥰🥰🥰
2. 《微信小程序开发》本专栏从基础到入门的一系开发流程,并且分享了自己在开发中遇到的一系列问题。🤹🤹🤹
3. 《vue开发系列全程线路》本专栏分享自己的vue的学习历程。非常期待和您一起在这个小小的互联网世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

视频演示
1、前言介绍
随着高校与园区住宿规模的持续扩大,传统的宿舍报修模式,如电话登记、纸质报修单等,已难以满足高效、透明的服务需求。这些模式存在响应滞后、流程不清晰、维修进度无法追踪等问题,不仅影响了住宿人员的生活体验,也给后勤管理工作带来了不小的挑战。
宿舍维修小程序正是为解决这些痛点而设计。它以微信小程序为载体,打造了一个集 "报修申请 --- 派单处理 --- 维修跟进 --- 验收评价" 于一体的数字化服务闭环。这一系统旨在打通学生、宿管、维修人员与后勤管理者之间的信息壁垒,让报修流程更便捷、维修过程更透明、管理决策更精准。
通过技术赋能,我们期望为住宿人员提供更高效的服务体验,也为后勤管理部门提供更科学的管理工具,从而推动宿舍服务管理向精细化、智能化方向升级。
2、功能设计
宿舍维修小程序的功能设计围绕 "报修全流程闭环管理" 核心目标展开,覆盖学生、维修人员、后勤管理员三类核心角色的需求,确保报修流程便捷高效、维修过程透明可控、管理决策有据可依。
一、用户端(学生 / 住宿人员)
在线报修:支持选择故障类型、上传现场图片、填写详细位置与描述,一键提交报修申请,无需线下登记。
进度追踪:实时查看报修单状态(待派单 / 维修中 / 已完成),接收派单、维修完成等节点的消息通知。
评价反馈:维修完成后可对服务质量、维修效果进行评分与文字评价,帮助优化后续服务。
历史记录:可随时查看个人所有报修记录,便于追溯与核对。
二、维修人员端
工单接收:实时接收系统派单,查看报修详情、故障位置及联系方式,支持接单 / 拒单操作。
工单处理:到达现场后可更新维修状态,记录维修内容、更换配件信息,并上传完工照片。
消息提醒:接收新工单、催单等通知,避免遗漏重要任务。
个人工单统计:查看个人接单量、完成率、评价评分等数据,辅助个人绩效评估。
三、后勤管理端
工单派单:根据报修类型、维修人员技能与位置,智能分配工单,也可手动调整派单。
工单监控:全局查看所有报修单的流转状态,对超时工单进行预警与催办。
数据统计分析:生成报修量趋势、故障类型分布、维修人员绩效等报表,为管理决策提供数据支撑。
基础配置管理:维护故障类型、维修人员信息、宿舍区域等基础数据,保障系统稳定运行。

3、功能实现
系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。


目管理页面提供的功能操作有:查看维修记录,订单管理,反馈管理,接单管理。











4、开发技术简介
本节介绍场馆预约平台用到的一些技术和开发环境的简介,用到开发技术主要包括:
(1)前端用到Element UI组件库和Vue框架
(2)后端Springboot
(3)包管理器Npm
(5)数据库MySQL
系统开发环境主要是:前端开发工具Vscode,Hbuilder、操作系统Win10、CPU i5-9300H、内存8G。
5、系统物理架构
自习室系统的物理架构主要有:管理端和用户端,其中管理端主要是基于Vue和Element UI,用户端主要基于安卓、微信小程序和H5自习室系统的物理建构图

6、系统流程图
用户发起预约时首先会检测用户是否登录,若登录则进入到相应的预约界面,此时用户可以选择需要预约的时间段以及场地。当用户预约成功时用户会在我的预约中找到这次预约。当用户去场馆时可以通过预约生成的二维码来验证身份。若用户的预约时间失效也会有响应的提示

7、库表设计




8、关键代码
java
package com.hima.controller;
import com.hima.pojo.Result;
import com.hima.pojo.User;
import com.hima.service.UserService;
import com.hima.utils.MD5Utils;
import com.hima.utils.jwtUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
//注册操作
@PostMapping("/register")
public Result register(String username,String password,String role,String schoolId){
User user = userService.findByUserName(username);
if (user!=null){
return Result.error("用户已注册");
}else {
userService.register(username, password, role,schoolId);
return Result.success();
}
}
//登录
@PostMapping("/login")
public Result login(String username, String password){
User loginUser=userService.findByUserName(username);
System.out.println("11"+loginUser+username+password);
if (loginUser==null){
return Result.error("用户名错误");
}
//判断密码是否正确
if(MD5Utils.md5(password).equals(loginUser.getPassword())){
//生成token,并且返回给前端
Map<String,Object> claims=new HashMap<>();
claims.put("id",loginUser.getId());
claims.put("username",loginUser.getUsername());
String token= jwtUtil.getToken(claims);
return Result.success(token);
}
//密码错误
return Result.error("密码错误");
}
//获取用户信息
@RequestMapping("/getUserInfo")
public Result<User> getUserInfo(String username){
User user = userService.findByUserName(username);
return Result.success(user);
}
//修改用户信息
@PostMapping("/updateUserInfo")
public Result updateUserInfo(String username,String imgUrl,String id){
userService.updateUserInfo(username, imgUrl, id);
return Result.success();
}
}
java
package com.hima.controller;
import com.hima.pojo.*;
import com.hima.service.IndexService;
import com.hima.service.UserService;
import com.hima.utils.jwtUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.lang.Process;
import java.util.List;
@RestController
@RequestMapping("/index")
public class IndexController {
@Autowired
private IndexService indexService;
@Autowired
private UserService userService;
//获取通知
@RequestMapping("/getNotice")
public Result<Notice> getNotice(){
Notice notice = indexService.getNotice();
return Result.success(notice);
}
//获取资讯
@RequestMapping("/getNews")
public Result<List<News>> getNews(){
List<News> news = indexService.getNews();
return Result.success(news);
}
//获取校区
@RequestMapping("/getSchoolPlace")
public Result<List<SchoolPlace>> getSchoolPlace(){
List<SchoolPlace> schoolPlace = indexService.getSchoolPlace();
return Result.success(schoolPlace);
}
//添加维修
@RequestMapping("/addMaintenance")
public Result addMaintenance(String typelist,String schoolplace,String dormitory,String desc,String imgUrl,String urgent,String phone,String userId ){
indexService.addMaintenance(typelist,schoolplace,dormitory,desc,imgUrl,urgent,phone,userId);
return Result.success();
}
//获取维修
@RequestMapping("/getMaintenance")
public Result<List<Maintenance>> getMaintenance(String userId){
List<Maintenance> maintenance = indexService.getMaintenance(userId);
return Result.success(maintenance);
}
//取消维修
@RequestMapping("/cancelMaintenance")
public Result cancelMaintenance(String id){
indexService.cancelMaintenance(id);
return Result.success();
}
//获取维修详情
@RequestMapping("/getDetailMaintence")
public Result<Maintenance> getMaintenanceDetail(String id){
Maintenance maintenance = indexService.getMaintenanceDetail(id);
return Result.success(maintenance);
}
//待维修
@RequestMapping("/getPendingMaintence")
public Result<List<Maintenance>> getPendingMaintence(){
List<Maintenance> maintenance = indexService.getPendingMaintence();
return Result.success(maintenance);
}
//添加反馈
@RequestMapping("/addFeedback")
public Result addFeedback(String content,String username,String feedbackType,String imageList,String phone){
indexService.addFeedback(content,username,feedbackType,imageList,phone);
return Result.success();
}
//反馈进度查询
@RequestMapping("/getFeedbackProgress")
public Result<List<Feedback>> getFeedbackProgress(String username){
List<Feedback> feedback = indexService.getFeedbackProgress(username);
return Result.success(feedback);
}
//添加订单
@RequestMapping("/addOrder")
public Result addOrder(String maintenanceId,String orderNumber,String repairId,String status){
indexService.addOrder(maintenanceId,orderNumber,repairId,status);
return Result.success();
}
//修改订单状态
@RequestMapping("/updateOrder")
public Result updateOrder(String maintenanceId){
indexService.updateOrder(maintenanceId);
return Result.success();
}
//维修进度
@RequestMapping("/getOrderStatus")
public Result<OrderList> getOrderStatus(String maintenanceId){
OrderList orderList = indexService.getOrderStatus(maintenanceId);
return Result.success(orderList);
}
//获取维修进度
@RequestMapping("/getProgress")
public Result<List<Progress>> getProgress(String maintenanceId){
List<Progress> progress = indexService.getProgress(maintenanceId);
return Result.success(progress);
}
//获取用户待评价的
@RequestMapping("/getCompletedMaintance")
public Result<List<Maintenance>> getCompletedMaintance(String username){
User user = userService.findByUserName(username);
String userId = user.getId().toString();
List<Maintenance> evaluatedList = indexService.getCompletedMaintance(userId);
return Result.success(evaluatedList);
}
//查看已评价的
@RequestMapping("/getCommentList")
public Result<List<Comment>> getCommentList(String username){
User user = userService.findByUserName(username);
String userId = user.getId().toString();
List<Comment> evaluatedList = indexService.getCommentList(userId);
return Result.success(evaluatedList);
}
//添加评价
@RequestMapping("/addComment")
public Result addComment(String currentRating,String comment,String currentOrderId){
indexService.addComment(currentRating,comment,currentOrderId);
return Result.success();
}
//维修人员查看已评价的
@RequestMapping("/getEvaluatedList")
public Result<List<EvaluatedList>> getEvaluatedList(String username){
User user = userService.findByUserName(username);
String repairId = user.getId().toString();
List<EvaluatedList> evaluatedList = indexService.getEvaluatedList(repairId);
return Result.success(evaluatedList);
}
//查看已完成的订单
@RequestMapping("/getCompletedOrder")
public Result<List<OrderList>> getCompletedOrder(String username){
User user = userService.findByUserName(username);
String repairId = user.getId().toString();
List<OrderList> orderList = indexService.getCompletedOrder(repairId);
return Result.success(orderList);
}
}
9、源码获取
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
🎉写在最后
🍻伙伴们,如果你已经看到了这里,觉得这篇文章有帮助到你的话不妨点赞👍或 Star ✨支持一下哦!手动码字,如有错误,欢迎在评论区指正💬~
你的支持就是我更新的最大动力💪~
