# 52-自习室预约系统 - 功能说明
# 项目概述
自习室预约系统是一个专为图书馆、教学楼等场所设计的智能座位管理平台,采用前后端分离架构,基于Vue 3和Spring Boot技术栈。系统为学生提供便捷的自习室座位预约服务,支持在线选座、签到签退、预约管理、违约处理等全流程功能。通过可视化座位布局、智能预约机制、黑名单管理等多重保障,提升自习室利用率,规范座位使用秩序。
# 项目概览
# ✨ 创新点
# 1. 可视化座位选择
- 图形化座位布局:10行6列网格布局,直观展示座位分布情况。
- 实时状态显示:座位状态实时更新(可用、已预约、使用中、维护中、禁用)。
- 座位类型区分:普通座位、靠窗座位、靠墙座位,满足不同偏好。
- 行列定位:每个座位有明确的行号和列号,方便快速定位。
# 2. 智能预约管理机制
- 时间段预约:用户选择预约日期、开始时间、结束时间,系统自动计算时长。
- 预约状态流转:待签到→使用中→已完成→已取消/已违约,状态清晰。
- 防止冲突:同一座位同一时间段只能被一人预约,避免冲突。
- 取消预约:用户可在签到前取消预约,需填写取消原因。
# 3. 签到签退管理体系
- 签到机制:预约后需在开始时间前签到,否则视为违约。
- 签退记录:离开时签退,系统记录实际使用时长。
- 时长统计:自动计算实际使用时长(小时),与预约时长对比。
- 状态追踪:未签到→已签到→已签退,全流程记录。
# 4. 违约处理与黑名单系统
- 违约判定:预约后未签到、提前离开等行为视为违约。
- 违约次数统计:系统自动累计用户违约次数。
- 黑名单管理:违约达到一定次数后加入黑名单,限制预约权限。
- 黑名单期限:设置黑名单开始时间和结束时间,到期自动解除。
# 5. 用户反馈与公告系统
- 反馈类型:投诉、建议、咨询三种类型,满足不同需求。
- 图片上传:支持上传多张图片(用逗号分隔),方便问题说明。
- 反馈处理:管理员回复反馈,处理状态实时更新(待处理/处理中/已处理/已关闭)。
- 公告发布:管理员发布系统公告,通知用户重要信息。
# ✨ 项目亮点
# 一、业务功能亮点
- 完整的预约流程:自习室浏览→座位选择→预约提交→签到签退→预约完成,流程完整。
- 可视化座位布局:图形化展示座位分布,实时状态更新,选座直观便捷。
- 智能时间管理:预约时间段选择、时长自动计算、签到超时提醒。
- 违约处理机制:违约次数统计+黑名单管理,规范座位使用秩序。
- 反馈处理系统:用户反馈+管理员回复,及时解决问题,提升服务质量。
# 二、技术实现亮点
- 现代化前端技术栈:Vue 3 + Element Plus + Vite,开发高效体验流畅。
- 稳定可靠的后端架构:Spring Boot + MyBatis,构建稳健后端服务。
- 完善的数据库设计:9张核心表,utf8mb4字符集,支持完整业务流程。
- 安全性设计:JWT Token认证、密码加密存储、黑名单限制。
- 前后端分离架构:清晰的职责划分,易于维护和扩展。
# 三、用户体验亮点
- 双端界面设计:
- 前台:水平导航,自习室卡片展示,座位可视化选择,简洁美观。
- 管理后台:侧边导航,功能集中,高效管理。
- 交互优化:
- 座位状态实时刷新。
- 预约成功即时反馈。
- 签到签退一键操作。
- 黑名单状态提醒。
- 数据可视化:
- 自习室可用座位数实时显示。
- 座位布局网格化展示。
- 预约记录时间轴展示。
- 移动端适配:响应式设计,支持手机、平板等多端访问。
# 管理员
# 系统管理
管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作。
普通用户管理:管理全部用户账号,可修改用户信息、状态,支持重置密码、启用/禁用账号。
# 自习室管理
自习室管理:
- 新增自习室(名称、位置、楼层、开放时间、总座位数、图片、简介)
- 编辑自习室信息(调整座位数、修改开放时间、更新简介)
- 设置自习室状态(开放/关闭/维护中)
- 查看自习室可用座位数(实时更新)
- 删除自习室
座位管理:
- 批量创建座位(设置行列布局、座位编号、座位类型)
- 编辑座位信息(座位编号、座位类型、行列位置)
- 设置座位状态(可用/维护中/禁用)
- 查看座位所属自习室
- 删除座位
# 预约管理
预约管理:
- 查看所有预约记录
- 查看预约详情(用户、自习室、座位、预约时间、时长、状态)
- 查看预约状态(待签到/使用中/已完成/已取消/已违约)
- 处理违约预约(标记为已违约)
- 取消异常预约
- 查看取消原因
签到管理:
- 查看所有签到记录
- 查看签到详情(预约ID、用户、座位、签到时间、签退时间、实际时长)
- 查看签到状态(未签到/已签到/已签退)
- 统计用户签到签退情况
# 违约与黑名单管理
黑名单管理:
- 查看黑名单用户列表
- 添加黑名单(用户、原因、违约次数、开始时间、结束时间)
- 编辑黑名单(调整结束时间、更新原因)
- 查看用户违约次数
- 解除黑名单(删除或设置结束时间)
# 反馈与公告管理
反馈管理:
- 查看所有用户反馈
- 查看反馈详情(用户、类型、标题、内容、图片)
- 处理反馈(回复内容、更新状态:待处理/处理中/已处理/已关闭)
- 记录回复时间
- 关闭已处理反馈
公告管理:
- 发布系统公告(标题、内容)
- 编辑公告内容
- 删除过期公告
- 查看公告发布时间
# 普通用户
# 自习室浏览
自习室列表:
- 浏览所有开放的自习室
- 查看自习室信息(名称、位置、楼层、开放时间、总座位数、可用座位数、图片、简介)
- 查看自习室状态(开放/关闭/维护中)
- 按楼层筛选自习室
- 搜索自习室
# 座位预约
选择自习室:
- 进入自习室详情页
- 查看座位布局(10行6列网格)
- 查看座位状态(可用/已预约/使用中/维护中/禁用)
- 查看座位类型(普通座位/靠窗座位/靠墙座位)
座位选择:
- 点击可用座位进行选择
- 选择预约日期(不能早于当天)
- 选择开始时间和结束时间
- 系统自动计算预约时长(小时)
- 确认预约信息
- 提交预约(状态:待签到)
我的预约:
- 查看自己的所有预约记录
- 按状态筛选(待签到/使用中/已完成/已取消/已违约)
- 查看预约详情(自习室、座位、预约时间、时长、状态)
- 取消预约(仅待签到状态可取消,需填写取消原因)
- 签到操作(预约开始时间前签到,状态变为使用中)
- 签退操作(离开时签退,系统记录实际时长,状态变为已完成)
# 个人中心
个人信息:
- 查看个人信息(用户名、昵称、头像、手机号、邮箱)
- 修改个人信息
- 修改密码
使用统计:
- 查看累计预约次数
- 查看违约次数
- 查看黑名单状态(是否在黑名单中、黑名单结束时间)
# 反馈与公告
反馈提交:
- 选择反馈类型(投诉/建议/咨询)
- 填写反馈标题和内容
- 上传相关图片(多张)
- 提交反馈(状态:待处理)
- 查看反馈处理状态和回复
反馈列表:
- 查看自己提交的所有反馈
- 查看反馈状态(待处理/处理中/已处理/已关闭)
- 查看管理员回复和回复时间
公告查看:
- 查看系统公告列表
- 查看公告详情(标题、内容、发布时间)
帮助指南:
- 查看系统使用指南
- 查看预约流程说明
- 查看违约规则说明
# 功能权限对照表
| 功能模块 | 管理员 | 普通用户 |
|---|---|---|
| 首页 | - | ✓ |
| 管理员管理 | ✓ | - |
| 用户管理 | ✓ | - |
| 自习室管理 | ✓ | - |
| 自习室浏览 | - | ✓ |
| 座位管理 | ✓ | - |
| 座位选择预约 | - | ✓ |
| 预约管理(全部) | ✓ | - |
| 我的预约 | - | ✓ |
| 签到管理(全部) | ✓ | - |
| 签到签退(个人) | - | ✓ |
| 黑名单管理 | ✓ | - |
| 反馈管理(全部) | ✓ | - |
| 反馈提交(个人) | - | ✓ |
| 公告管理 | ✓ | - |
| 公告查看 | - | ✓ |
| 帮助指南 | - | ✓ |
# 状态说明
# 预约状态
- 待签到:预约成功后的初始状态,等待用户签到
- 使用中:用户已签到,正在使用座位
- 已完成:用户已签退,预约正常结束
- 已取消:用户主动取消预约
- 已违约:预约后未按时签到,系统标记为违约
# 签到状态
- 未签到:创建签到记录后的初始状态
- 已签到:用户已签到,开始使用座位
- 已签退:用户已签退,结束使用
# 自习室状态
- 开放:自习室正常开放,可以预约
- 关闭:自习室暂时关闭,不可预约
- 维护中:自习室正在维护,不可预约
# 座位状态
- 可用:座位正常,可以预约
- 维护中:座位正在维护,不可预约
- 禁用:座位已禁用,不可预约
# 反馈状态
- 待处理:反馈提交后的初始状态,等待管理员处理
- 处理中:管理员正在处理反馈
- 已处理:管理员已处理反馈,已回复用户
- 已关闭:反馈已关闭,不再处理
# 默认账号
# 管理员
用户名: admin
密码: 123456
1
2
2
# 测试用户
用户名: user
密码: 123456
昵称: 普通用户
1
2
3
2
3
# 核心业务流程
# 用户注册流程
1. 填写注册信息(用户名、密码、昵称、手机号、邮箱)
2. 系统创建用户账号(状态:启用)
3. 跳转到登录页
1
2
3
2
3
# 座位预约流程
1. 进入"自习室列表"页面
2. 选择自习室,查看座位布局
3. 点击可用座位
4. 选择预约日期(不能早于当天)
5. 选择开始时间和结束时间
6. 系统自动计算预约时长
7. 检查座位是否被预约(防止冲突)
8. 检查用户是否在黑名单中
9. 提交预约(状态:待签到)
10. 创建签到记录(状态:未签到)
11. 自习室可用座位数-1
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 签到签退流程
【签到】
1. 用户进入"我的预约"页面
2. 选择待签到的预约记录
3. 点击"签到"按钮
4. 系统检查是否在预约时间内
5. 更新签到记录(签到时间、状态:已签到)
6. 更新预约记录(状态:使用中)
【签退】
1. 用户点击"签退"按钮
2. 系统记录签退时间
3. 计算实际使用时长(签退时间-签到时间)
4. 更新签到记录(签退时间、实际时长、状态:已签退)
5. 更新预约记录(状态:已完成)
6. 自习室可用座位数+1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 违约处理流程
1. 系统定时检查预约记录
2. 发现预约开始时间已过,但未签到
3. 更新预约记录(状态:已违约)
4. 更新用户违约次数+1
5. 检查违约次数是否达到黑名单标准(如3次)
6. 达到标准:自动添加到黑名单(设置黑名单开始时间、结束时间、原因)
7. 黑名单期间,用户无法预约座位
8. 黑名单到期自动解除
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 取消预约流程
1. 用户进入"我的预约"页面
2. 选择待签到的预约记录
3. 点击"取消预约"按钮
4. 填写取消原因
5. 确认取消
6. 更新预约记录(状态:已取消,取消原因)
7. 自习室可用座位数+1
1
2
3
4
5
6
7
2
3
4
5
6
7
# 反馈处理流程
【用户提交反馈】
1. 进入"反馈"页面
2. 选择反馈类型(投诉/建议/咨询)
3. 填写反馈标题和内容
4. 上传相关图片(多张,用逗号分隔)
5. 提交反馈(状态:待处理)
【管理员处理反馈】
1. 管理员进入"反馈管理"页面
2. 查看待处理反馈列表
3. 点击查看反馈详情
4. 填写回复内容
5. 更新反馈状态(处理中/已处理)
6. 记录回复时间
7. 用户可在"反馈列表"中查看回复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 技术说明
# 系统架构
- 前端:Vue 3 + Element Plus + Vite
- 后端:Spring Boot + MyBatis
- 数据库:MySQL 5.7+
- 认证:JWT Token
# 访问地址
- 后端API:http://localhost:1000
- 前端页面:http://localhost:5173(开发环境)
# 数据库
- 数据库名:a_52_room_system
- 字符集:utf8mb4
- 总表数:9张表
# 核心表说明
- admin:管理员表
- user:普通用户表
- study_room:自习室表(名称、位置、楼层、开放时间、总座位数、可用座位数、图片、简介、状态)
- seat:座位表(所属自习室、座位编号、座位类型、行号、列号、状态)
- reservation:预约表(用户、自习室、座位、预约日期、开始时间、结束时间、时长、状态、取消原因)
- checkin:签到表(预约ID、用户、座位、签到时间、签退时间、实际时长、状态)
- notice:公告表(标题、内容)
- feedback:反馈表(用户、类型、标题、内容、图片、状态、回复、回复时间)
- blacklist:黑名单表(用户、原因、违约次数、开始时间、结束时间)
# 系统特色
# 预约管理特色
- 可视化座位布局:10行6列网格布局,座位状态实时显示,选座直观便捷。
- 智能时间管理:预约时间段选择、时长自动计算、签到超时提醒。
- 防止冲突:同一座位同一时间段只能被一人预约,避免资源冲突。
- 灵活取消:签到前可取消预约,需填写取消原因。
# 签到签退特色
- 签到机制:预约后需按时签到,否则视为违约。
- 签退记录:离开时签退,系统记录实际使用时长。
- 时长统计:对比预约时长和实际时长,分析座位使用情况。
- 状态追踪:未签到→已签到→已签退,全流程记录。
# 违约与黑名单特色
- 违约判定:预约后未按时签到自动标记为违约。
- 违约次数统计:累计用户违约次数,达到标准自动加入黑名单。
- 黑名单管理:设置黑名单期限,限制预约权限,规范使用秩序。
- 自动解除:黑名单到期自动解除,用户可继续预约。
# 反馈处理特色
- 多类型反馈:投诉、建议、咨询三种类型,满足不同需求。
- 图片上传:支持上传多张图片,方便问题说明。
- 状态追踪:待处理→处理中→已处理→已关闭,流程清晰。
- 及时回复:管理员回复反馈,用户及时获知处理结果。
# 座位类型特色
- 普通座位:常规座位,满足基本需求。
- 靠窗座位:靠窗位置,采光良好,视野开阔。
- 靠墙座位:靠墙位置,环境安静,适合长时间学习。
# 项目优势
# 1. 解决自习室管理痛点
- 座位抢占问题:线上预约,公平公正,避免现场抢座。
- 座位浪费问题:预约+签到机制,提高座位利用率。
- 违约行为:黑名单管理,规范使用秩序。
- 反馈渠道:用户反馈+管理员回复,及时解决问题。
# 2. 商业模式清晰
- 提升管理效率:自动化预约、签到、违约处理,减少人工成本。
- 数据分析:预约数据、签到数据、违约数据,支持决策优化。
- 扩展性强:可扩展会员服务、付费预约、广告投放等商业化功能。
# 3. 技术实现完善
- 前后端分离:开发效率高,维护方便。
- 响应式设计:适配手机、平板、电脑多端。
- 安全认证:JWT Token认证,保障账户安全。
- 数据库设计规范:9张表,关系清晰,数据完整。
# 4. 用户体验优秀
- 操作简单:界面清晰,预约流程顺畅。
- 实时反馈:座位状态实时更新,预约成功即时提醒。
- 可视化布局:座位网格化展示,选座直观便捷。
- 数据透明:预约记录、违约次数、黑名单状态清晰可查。