详细视频演示
文章底部名片,获取项目的完整演示视频,免费解答技术疑问
项目介绍
Spring Boot 高校宿舍管理平台,是专为高校宿舍管理工作而设计开发的一站式信息化解决方案。旨在利用先进的信息技术手段,整合宿舍管理中的人员、物资、事务等多方面资源,解决传统人工管理模式下效率低下、信息不精准、沟通不及时等问题,为学校宿管部门、宿舍管理员、学生等提供便捷、高效、智能的管理与服务,营造安全、舒适、有序的宿舍环境。
技术介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
功能介绍
(一)学生端
1.个人信息维护:
1.学生使用学号登录平台,可完善并随时查看个人基本信息,如姓名、性别、学院、专业、班级、联系方式、紧急联系人信息等,确保宿管人员在必要时能快速联系到本人或其亲属,同时可自主修改登录密码,保障账号安全。
1.宿舍申请与分配查询:
1.新生入学或学期内宿舍调整期间,学生能在线提交宿舍入住申请,详细填写个人住宿需求,如是否需要无障碍设施、对室友的作息偏好等,系统依据学校宿舍分配规则与当前房源情况,自动完成初步分配,并实时反馈分配结果,学生可查询到所分配的宿舍楼、房间号、床位号等详细信息。
1.报修申报:
1.发现宿舍设施设备出现故障,如灯具损坏、水龙头漏水、门锁失灵等,学生可在平台迅速发起报修申报,精准描述故障现象,上传故障部位照片,方便维修人员提前了解情况、准备维修材料,申报后可实时跟踪维修进度,维修完成后对维修服务进行评价反馈,督促维修质量提升。
1.访客登记预约:
1.若有校外亲友来访,学生提前在平台登记访客信息,包括访客姓名、身份证号、来访事由、预计到访时间和离开时间,生成专属访客二维码,访客凭码进入宿舍区,同时支持在线预约访客,便于宿管人员提前做好接待准备,确保宿舍区人员进出安全有序。
1.水电费查询缴纳:
1.学生可随时查询本宿舍的水电费使用明细,包括历史缴费记录、当前欠费金额,系统以可视化图表展示水电消耗趋势,帮助学生养成节约意识,支持线上缴纳水电费,缴费渠道多样,如微信支付、支付宝支付等,方便快捷。
(二)宿管端
1.学生信息管理:
1.全面掌控入住学生信息,可查看、审核学生提交的入住申请,批量导入新生信息,实时更新学生住宿变动情况,如换寝、退宿等,对学生信息进行分类查询与统计,如按年级、专业查询学生分布,为宿舍管理决策提供数据支持。
1.宿舍分配与调整:
1.根据学校宿舍资源状况和学生申请需求,利用平台进行宿舍分配操作,既能按照既定规则自动分配,也可针对特殊情况手动调整床位,如照顾身体不便学生安排低楼层宿舍,实时更新宿舍入住状态,生成各类入住报表,为学校宿舍资源统筹规划提供依据。
1.维修任务处理:
1.接收学生报修申报信息,对报修任务进行分类、排序,根据紧急程度合理安排维修人员,派发维修工单,实时跟踪维修进度,维修完成后确认维修结果,对维修工人工作质量进行考核评价,确保宿舍设施及时修复,保障学生生活正常。
1.访客管理:
1.实时监控访客登记与预约信息,在访客进入宿舍区时扫码验证身份,确保人证相符,对未预约访客或异常情况及时拦截询问,记录访客进出时间,保障宿舍区安全,定期统计访客数据,如访客来源、来访时间段分布等,为优化宿舍安全管理策略提供参考。
1.日常检查记录:
1.制定宿舍日常检查计划,如卫生检查、安全检查(用电安全、消防设施等),通过平台记录检查结果,对发现的违规行为(如使用大功率电器、私拉乱接电线、乱扔垃圾等)拍照取证,录入违规学生信息、违规事项、处罚措施,及时通知学生整改,并跟踪整改情况,维护宿舍良好秩序。
(三)系统管理端
1.用户权限管理:
1.系统管理员依据学校组织架构与岗位职责,为宿管人员、学生、后勤维修人员、学校领导等不同角色分配相应权限,如宿管人员拥有宿舍分配、维修管理、日常检查等权限,学生仅能进行个人信息管理、报修申报等操作,严格权限控制,确保系统数据安全,防止越权操作。
1.宿舍资源管理:
1.全方位管理学校宿舍资源,录入宿舍楼信息,包括楼号、层数、房间数、可容纳人数等,维护宿舍房间详细信息,如床位数量、设施配备情况、是否空房等,实时更新宿舍资源使用状态,为宿舍分配提供精准数据支持,合理规划宿舍资源配置。
1.数据统计与分析:
1.统计各类宿舍管理数据,如每月水电费收支情况、设施设备维修频次、学生违规次数及类型分布、宿舍入住率等,通过可视化图表(柱状图、折线图、饼图等)展示,直观呈现宿舍管理现状,为学校决策层提供数据依据,以便针对性优化管理策略,提升宿舍管理水平。
1.系统参数设置:
1.灵活设置系统运行参数,如水电费单价、报修响应时间限制、宿舍分配规则(按专业、年级分配等)、违规处罚标准等,根据学校实际情况、政策变化及用户反馈及时调整,确保系统贴合学校宿舍管理需求,稳定高效运行。
核心代码
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
系统效果图