# 4-酒店管理系统 - 功能说明
# 项目概述
围绕房型展示、客房预订、入住登记、酒店服务和客户反馈开展业务的酒店管理系统。管理员管理基础资料,员工处理酒店日常业务,用户在线选择房间并查看预订与服务记录。
# 项目概览
# 创新点
- 房型与房间分层:房型集中描述价格、床型及设施,具体房间记录楼层和当前房态。
- 预订与房态关联:创建预订后更新房态,入住、退房或取消时触发相应房态更新逻辑。
- 住宿与服务结合:预订、入住、服务订单、评价和投诉形成多维度客户服务记录。
# 项目亮点
- 角色分工:提供管理员、员工、用户等业务入口。
- 业务数据组织:主初始化脚本包含 13 张表,围绕该系统的核心对象与业务记录建模。
- 前后端分离:前端负责页面交互,后端通过控制器、服务与数据映射层提供接口。
- 操作体验:提供列表查询、表单编辑、状态展示及个人资料维护入口。
# 管理员
# 账号管理
维护管理员、员工和用户账号。
# 房间管理
维护房型、价格、设施、房间编号及房态。
# 预订入住
管理预订、入住登记与客户评价。
# 服务管理
维护服务项目、服务订单和投诉建议。
# 内容管理
维护公告及轮播图。
# 员工
# 前台业务
管理预订和入住登记,记录实际入住、退房、押金与金额。
# 客户服务
处理服务订单、客户投诉和评价相关记录。
# 用户
# 房型预订
浏览房型与可选房间,填写入住日期、退房日期及入住人资料后提交预订。
# 我的预订
查看订单和预订详情,按页面提供的操作处理取消及评价。
# 酒店服务
浏览服务项目,提交服务需求并查看服务订单。
# 投诉建议
提交投诉或建议,查看处理回复。
# 账户管理
维护个人资料、密码,查看余额并充值。
# 功能权限对照表
下表说明当前菜单与业务入口分工。“—”表示未列为该角色的常规入口;不代表已对每个接口完成权限安全审计。
| 功能模块 | 管理员 | 员工 | 用户 |
|---|---|---|---|
| 账号、房型、房间 | 管理 | — | 浏览房型 |
| 预订与入住 | 管理 | 业务处理 | 预订及查询 |
| 服务项目 | 管理 | — | 浏览 |
| 服务订单、投诉 | 管理 | 处理 | 提交查询 |
| 公告与轮播图 | 管理 | — | 浏览 |
# 业务状态说明
- 预订主要状态:待入住、已入住、已退房、已取消。
- 房间:空闲、已预订、已入住、维护中。
- 服务订单:待服务、服务中、已完成、已取消。
- 投诉建议:待处理、处理中、已处理。
# 默认账号
以下为主初始化 SQL 中能够核实的示例账号;需先导入对应脚本。这里不把脚本初始值视为当前运行数据库的实际账号或余额。
| 登录角色 | 角色标识 | 用户名 | 初始密码 |
|---|---|---|---|
| 管理员 | ADMIN | admin | 123456 |
| 员工 | STAFF | staff | 123456 |
| 用户 | USER | user | 123456 |
# 核心业务流程
# 在线预订
- 浏览房型。
- 选择房间和日期。
- 填写入住人资料。
- 提交预订并扣减余额。
- 房间标记已预订。
# 入住退房
- 员工查看预订。
- 维护入住登记。
- 更新入住、退房状态。
- 查询实际时间、押金及金额。
# 服务处理
- 用户选择服务项目并提交。
- 员工处理服务订单。
- 完成服务。
- 用户查看记录。
# 技术说明
# 系统架构
| 项目 | 当前源码配置 |
|---|---|
| Vue | ^3.4.29 |
| Element Plus | ^2.8.4 |
| Pinia | ^2.2.2 |
| Axios | ^1.7.5 |
| Vite | ^5.3.1 |
| Spring Boot | 3.2.10 |
| Java | 17 |
| MyBatis 集成组件 | 3.0.4 |
| 数据库 | MySQL;具体运行版本以实际部署为准 |
| 身份认证 | JWT;通过登录接口生成令牌 |
前端版本按 package.json 中的声明范围记录,不将依赖范围等同于已安装的精确版本。
# 访问地址
- 后端接口:http://localhost:1000 (opens new window),对应服务端端口配置。
- 前端开发页面:http://localhost:5173 (opens new window),项目未显式覆盖 Vite 默认端口,实际以启动日志为准。
- 登录入口:前端
/login;管理端基础路由/admin。
# 数据库
- 配置数据库名:
a_2026_4_hotel_system。 - 主初始化脚本:
sql/sql.sql。 - 主脚本建表数量:13 张,仅统计当前主脚本的 CREATE TABLE,不包含临时 SQL、迁移脚本或运行时改动。
- 字符集:主脚本采用 utf8mb4。
- 数据表清单:
admin、banner、booking、check_in、complaint、hotel_service、notice、review、room、room_type、service_order、staff、user。
# 文件上传
- 上传接口:
POST /file/upload。 - 文件访问:
GET /file/{fileName}。 - 配置限制:单文件 100MB,单次请求 1000MB。
- 使用范围:根据业务页面上传图片或附件;具体允许类型以对应上传组件配置为准。
# 系统特色
# 房型与房间分层
房型集中描述价格、床型及设施,具体房间记录楼层和当前房态。
# 预订与房态关联
创建预订后更新房态,入住、退房或取消时触发相应房态更新逻辑。
# 住宿与服务结合
预订、入住、服务订单、评价和投诉形成多维度客户服务记录。
# 当前实现说明
- 账号角色为管理员、员工和用户,原文“前台”对应员工业务职责;没有单独的会员等级、积分兑换模块。
- 预订取消包含房态恢复逻辑,但未见对应余额退款逻辑,不能描述为自动退款。
- 部分前台页面另使用“已完成”等预订显示值,需与后台“已退房”状态结合核对。
本次按本地源码进行静态核对,未启动前后端或连接数据库执行端到端验证;上述说明反映当前代码与页面定义。