摘 要
随着旅游业与商务出行的蓬勃发展,宾馆行业竞争日趋激烈,传统管理模式中信息更新滞后、流程依赖人工、服务响应缓慢等问题凸显,严重影响运营效率与客户满意度。为此,本文设计并实现基于 Spring Boot 的宾馆客房管理系统,助力宾馆行业数字化转型。
系统采用 B/S 架构与前后端分离模式,前端以 Vue.js 框架构建交互界面,后端依托 Spring Boot 框架开发接口逻辑,搭配 MySQL 数据库实现高效数据存储与查询。系统涵盖房间管理、订单管理、用户管理、财务管理、服务与支持及系统支撑六大核心模块,实现在线预订、房态可视化、快捷入住退房、消费统计、智能客服等功能,满足住客、员工与管理者的多元化需求。
通过信息化手段,系统优化了宾馆服务流程,缩短住客等候时间,减轻员工工作负担,为管理者提供数据决策支持。测试表明,系统运行稳定、操作便捷,有效提升了宾馆运营效率与客户体验,为中小型宾馆信息化建设提供了实用的技术解决方案。
关键词:Spring Boot;宾馆客房管理;B/S 架构;前后端分离;数字化转型
目 录
摘 要
ABSTRACT
第一章 绪论
1.1 选题背景及意义
1.2 国内外研究现状
1.3 主要研究内容
第二章 相关技术介绍
2.1 Spring Boot 框架
2.2 Vue.js 框架
2.3 MySQL 数据库
2.4 B/S 架构
第三章 系统分析
3.1可行性分析
3.2功能性需求分析
3.3非功能需求分析
3.4系统流程分析
第四章 系统功能设计
4.1功能结构设计
4.2数据库设计
4.2.1 逻辑结构设计
4.2.2 物理结构设计
第五章 系统实现
5.1 用户(住客)角色功能
5.1.1 用户登陆注册
5.1.2 客房预订支付
5.1.3 聊天客服
5.2 管理员/员工功能实现
5.2.1 管理员/员工登录
5.2.2 管理员首页
5.2.3 新增员工功能
5.2.4 新增客房信息
5.2.5 民宿信息管理
5.2.6 退房审核
5.2.7 发票上传
5.2.8 客房报修
5.2.9 交接班管理
第六章 系统测试
6.1 测试目标与环境
6.2 功能测试
6.2.1 房间管理模块测试
6.2.2订单管理模块测试
6.2.3用户管理模块测试
6.2.4注册登录模块测试
6.3 非功能测试
6.4 测试总结
第七章 总结与展望
7.1 系统总结
7.2 系统总结
参考文献
致 谢
功能性需求分析
管理员角色功能描述:
用户管理:管理员可对所有住客和员工账号进行统一管理,包括账号的创建、信息编辑、权限分配与账号禁用。可查看用户注册时间、历史订单等信息,确保系统用户身份合法,保障系统安全。
员工管理:负责员工账号的全生命周期管理,包括员工信息录入、岗位分配、权限设置及离职注销。可查看员工的工作记录、交接班情况,便于绩效考核和工作监督。
房间状态维护:实时监控并更新所有客房的状态,如空闲、已预订、已入住、待打扫、维修中等。可手动调整房态,处理特殊情况(如临时锁房),确保房态信息的准确性。
订单管理:可查看、审核和处理所有订单,包括取消异常订单、修改订单信息、处理住客投诉等。对订单数据进行全局把控,确保订单流程顺畅。
数据统计与可视化:通过 ECharts 等工具生成多维度经营报表,如入住率、营收趋势、客户满意度等。为管理者提供直观的数据支持,辅助经营决策。
系统设置:负责系统全局参数配置,如价格策略、促销活动、服务项目等。可自定义系统规则,确保系统运行符合宾馆的运营策略。
备份恢复系统数据:定期对数据库进行备份,并可在数据丢失或损坏时进行恢复操作。保障宾馆核心经营数据和用户信息的安全与完整。如图3-1所示。

用户(住客)角色功能描述:
注册登录:用户通过手机号或身份证号完成注册,设置密码后登录系统。系统支持验证码登录和密码找回功能,确保账号安全。
个人信息管理:用户可查看和编辑个人资料,如姓名、联系方式、常用地址等。可管理常用旅客信息,方便下次预订时快速填写。
房型信息查询:可浏览宾馆所有房型,查看房型图片、设施、价格、可预订日期及用户评价。支持按价格、位置、设施等条件筛选,帮助用户快速找到心仪房间。
在线预订:选择房型和入住离店日期后,提交预订申请并完成支付。系统支持多种支付方式,并生成电子确认单发送至用户手机或邮箱。
预约服务:可在入住前或入住期间预约增值服务,如早餐、接送机、洗衣、叫车等。系统会实时反馈服务状态,并在服务完成后进行费用结算。
订单管理:用户可查看所有历史订单和当前订单状态,包括待支付、已确认、已入住、已完成等。支持取消订单、申请退款等操作。
服务评价与反馈:在订单完成后,可对房间卫生、服务态度、设施设备等进行评价和打分。可上传图片,并查看宾馆的回复,形成服务闭环。
智能客服:通过聊天窗口与 AI 客服或人工客服进行实时沟通,咨询预订、入住、设施等问题,获取即时帮助。如图3-2所示。

员工(商家)角色功能描述:
登录:员工使用工号和密码登录系统,系统根据岗位自动分配对应功能权限,确保操作安全合规。
个人信息管理:员工可修改个人联系方式、登录密码等信息,查看自己的排班和工作任务,便于工作安排。
房间信息管理:负责更新房间的清洁状态、维修情况等信息。在住客退房后,及时将房间状态更新为 “待打扫”,便于保洁人员跟进。
登记与退房管理:为到店住客办理入住手续,核对身份信息并收取押金。在住客离店时,快速办理退房,结算所有费用并生成账单。
服务管理:处理住客的服务预约请求,如安排客房打扫、叫醒服务等。实时更新服务进度,确保住客需求得到及时响应。
订单管理:可查看和处理与自己相关的订单,如为 walk-in 客人创建新订单、修改预订信息等。确保订单信息与实际业务一致。
评价与反馈:查看住客对自己负责区域的评价,及时回复住客反馈,改进服务质量。
交接班记录:在班次交接时,填写交接班记录,包括营收汇总、待处理事项、异常情况等。确保工作信息的无缝传递,避免遗漏。
智能客服:作为人工客服接入系统,处理 AI 客服无法解决的复杂问题,为住客提供更专业的服务支持。如图3-3所示。

系统功能设计
4.1功能结构设计
本系统功能结构依据住客、员工、管理员三类角色的需求设计,整体划分为房间管理、订单管理、用户管理、财务管理、服务与支持、系统支撑六大核心模块。各模块相互衔接、协同运作,完整覆盖宾馆客房预订、入住、结算、运维等全业务流程,清晰划分不同角色的操作权限与功能边界,结构层级分明、功能全面且逻辑严谨,功能结构图如图4-1所示。

物理结构设计
(1)客房信息评论表用于存储用户对客房的评价数据,记录评分、评论、商家回复、点赞踩等信息,包含id、用户id、评分、评论内容、回复等字段,如表4-1所示。
表4-1 客房信息评论
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
refid |
bigint |
|
关联表id |
|
|
|
userid |
bigint |
|
用户id |
|
|
|
avatarurl |
longtext |
4294967295 |
头像 |
|
|
|
nickname |
varchar |
200 |
用户名 |
|
|
|
score |
double |
|
评分 |
|
|
|
content |
longtext |
4294967295 |
评论内容 |
|
|
|
reply |
longtext |
4294967295 |
回复内容 |
|
|
|
thumbsupnum |
int |
|
赞 |
|
0 |
|
crazilynum |
int |
|
踩 |
|
0 |
|
istop |
int |
|
置顶 |
|
0 |
|
tuserids |
longtext |
4294967295 |
赞用户ids |
|
|
|
cuserids |
longtext |
4294967295 |
踩用户ids |
|
|
(2)客房预订表用于管理客房预订核心信息,记录订单、客房、用户、入住离店时间、价格、支付与审核状态等,包含id、客房编号、订单编号、入住时间、总价格等字段,如表4-2所示。
表4-2 客房预订
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
dingdanbianhao |
varchar |
200 |
订单编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
jiage |
double |
|
价格 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
kezhurenshu |
int |
|
可住人数 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
dingdanshijian |
datetime |
|
订单时间 |
|
|
|
yonghuzhanghao |
varchar |
200 |
用户账号 |
|
|
|
ruzhushijian |
date |
|
入住时间 |
|
|
|
lidianshijian |
date |
|
离店时间 |
|
|
|
ruzhutianshu |
int |
|
入住天数 |
|
|
|
ruzhurenshu |
int |
|
入住人数 |
|
|
|
zongjiage |
double |
|
总价格 |
|
|
|
ispay |
varchar |
200 |
是否支付 |
|
未支付 |
|
sfsh |
varchar |
200 |
是否审核 |
|
待审核 |
|
shhf |
longtext |
4294967295 |
回复内容 |
|
|
|
fujiafuwu |
longtext |
4294967295 |
附加服务 |
|
|
|
fuwujine |
double |
|
服务金额 |
|
|
|
yajin |
double |
|
押金 |
|
|
(3)账单与发票表用于存储消费结算与发票信息,记录住房费、押金、服务金额、退回费用及电子发票文件,包含id、订单编号、总费用、电子发票等字段,如表4-3所示。
表4-3 账单与发票
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
dingdanbianhao |
varchar |
200 |
订单编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
shangchuanshijian |
datetime |
|
上传时间 |
|
|
|
yonghuzhanghao |
varchar |
200 |
用户账号 |
|
|
|
zongjiage |
double |
|
住房费用 |
|
|
|
yajin |
double |
|
押金 |
|
|
|
fuwujine |
double |
|
服务金额 |
|
|
|
tuihuifeiyong |
double |
|
退回费用 |
|
|
|
dianzifapiao |
longtext |
4294967295 |
电子发票 |
|
|
(4)客房信息表用于存储客房基础资料,记录客房编号、名称、类型、价格、设施、房态、地址等核心信息,包含id、客房编号、价格、床型、客房状态、设施等字段,如表4-4所示。
表4-4 客房信息
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
jiage |
double |
|
价格 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
kezhurenshu |
int |
|
可住人数 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
kefangsheshi |
longtext |
4294967295 |
客房设施 |
|
|
|
kefangzhuangtai |
varchar |
200 |
客房状态 |
|
|
|
chengshi |
varchar |
200 |
城市 |
|
|
|
xiangxidizhi |
longtext |
4294967295 |
详细地址 |
|
|
|
kefangxiangqing |
longtext |
4294967295 |
客房详情 |
|
|
|
score |
double |
|
评分 |
|
|
|
discuss_number |
int |
|
评论数 |
|
0 |
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
storeup_number |
int |
|
收藏数 |
|
0 |
|
yajin |
double |
|
押金 |
|
|
(5)预订取消表用于记录客房预订取消信息,存储取消时间、订单详情、审核状态与回复内容,包含id、客房编号、取消时间、审核状态、回复内容等字段,如表4-5所示。
表4-5 预订取消
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
dingdanbianhao |
varchar |
200 |
订单编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
jiage |
double |
|
价格 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
kezhurenshu |
int |
|
可住人数 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
quxiaoshijian |
datetime |
|
取消时间 |
|
|
|
yonghuzhanghao |
varchar |
200 |
用户账号 |
|
|
|
ruzhushijian |
date |
|
入住时间 |
|
|
|
lidianshijian |
date |
|
离店时间 |
|
|
|
ruzhutianshu |
int |
|
入住天数 |
|
|
|
ruzhurenshu |
int |
|
入住人数 |
|
|
|
zongjiage |
double |
|
总价格 |
|
|
|
sfsh |
varchar |
200 |
是否审核 |
|
待审核 |
|
shhf |
longtext |
4294967295 |
回复内容 |
|
|
(6)客房退房表用于管理退房业务数据,记录退房时间、费用结算、身份信息、审核状态等,包含id、订单编号、退房时间、总价格、押金、退回费用等字段,如表4-6所示。
表4-6 客房退房
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
dingdanbianhao |
varchar |
200 |
订单编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
tuifangshijian |
datetime |
|
退房时间 |
|
|
|
yonghuzhanghao |
varchar |
200 |
用户账号 |
|
|
|
ruzhurenshu |
varchar |
200 |
入住人数 |
|
|
|
shenfenzheng |
varchar |
200 |
身份证 |
|
|
|
shouji |
varchar |
200 |
联系方式 |
|
|
|
sfsh |
varchar |
200 |
是否审核 |
|
待审核 |
|
shhf |
longtext |
4294967295 |
回复内容 |
|
|
|
zongjiage |
double |
|
总价格 |
|
|
|
yajin |
double |
|
押金 |
|
|
|
fuwujine |
double |
|
服务金额 |
|
|
|
tuihuifeiyong |
double |
|
退回费用 |
|
|
(7)员工表用于存储宾馆员工账号信息,记录员工账号、密码、姓名、头像、联系方式、身份证等,包含id、员工账号、密码、姓名、手机、身份证等字段,如表4-7所示。
表4-7 员工
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
yuangongzhanghao |
varchar |
16 |
员工账号 |
|
|
|
mima |
varchar |
200 |
密码 |
|
|
|
xingming |
varchar |
16 |
姓名 |
|
|
|
touxiang |
longtext |
4294967295 |
头像 |
|
|
|
youxiang |
varchar |
200 |
邮箱 |
|
|
|
shouji |
varchar |
200 |
手机 |
|
|
|
shenfenzheng |
varchar |
200 |
身份证 |
|
|
|
max_password_wrong |
int |
|
最大密码输错次数 |
|
-1 |
|
is_locked |
int |
|
用户锁定状态 |
|
0 |
(8)客房入住表用于记录实际入住详情,存储办理时间、入住人数、支付状态、附加服务与费用等,包含id、客房编号、办理时间、入住人数、支付状态等字段,如表4-8所示。
表4-8 客房入住
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
200 |
客房编号 |
|
|
|
dingdanbianhao |
varchar |
200 |
订单编号 |
|
|
|
kefangmingcheng |
varchar |
200 |
客房名称 |
|
|
|
kefangleixing |
varchar |
200 |
客房类型 |
|
|
|
kefangtupian |
longtext |
4294967295 |
客房图片 |
|
|
|
chuangxing |
varchar |
200 |
床型 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
|
banlishijian |
datetime |
|
办理时间 |
|
|
|
yonghuzhanghao |
varchar |
200 |
用户账号 |
|
|
|
ruzhurenshu |
int |
|
入住人数 |
|
|
|
shenfenzheng |
varchar |
200 |
身份证 |
|
|
|
shouji |
varchar |
200 |
联系方式 |
|
|
|
sfsh |
varchar |
200 |
是否审核 |
|
待审核 |
|
shhf |
longtext |
4294967295 |
回复内容 |
|
|
|
yajin |
double |
|
押金 |
|
|
|
ispay |
varchar |
200 |
是否支付 |
|
未支付 |
|
fujiafuwu |
longtext |
4294967295 |
附加服务 |
|
|
|
fuwujine |
double |
|
服务金额 |
|
|
|
zongjiage |
double |
|
总价格 |
|
|
(9)用户表用于存储住客账号与个人信息,记录用户账号、密码、姓名、性别、头像、联系方式等,包含id、用户账号、密码、姓名、手机、邮箱等字段,如表4-9所示。
表4-9 用户
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
yonghuzhanghao |
varchar |
16 |
用户账号 |
|
|
|
mima |
varchar |
200 |
密码 |
|
|
|
yonghuxingming |
varchar |
16 |
用户姓名 |
|
|
|
xingbie |
varchar |
200 |
性别 |
|
|
|
touxiang |
longtext |
4294967295 |
头像 |
|
|
|
youxiang |
varchar |
200 |
邮箱 |
|
|
|
shouji |
varchar |
200 |
手机 |
|
|
|
max_password_wrong |
int |
|
最大密码输错次数 |
|
-1 |
|
is_locked |
int |
|
用户锁定状态 |
|
0 |
(10)客房报修表用于记录客房故障报修信息,存储报修内容、上报时间、负责员工账号等数据,包含id、客房编号、报修内容、上报时间、员工账号等字段,如表4-10所示。
表4-10 客房报修
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
kefangbianhao |
varchar |
16 |
客房编号 |
|
|
|
kefangmingcheng |
varchar |
32 |
客房名称 |
|
|
|
baoxiuneirong |
longtext |
4294967295 |
报修内容 |
|
|
|
shangbaoshijian |
datetime |
|
上报时间 |
|
|
|
yuangongzhanghao |
varchar |
200 |
员工账号 |
|
|
(11)消息通知表用于存储系统通知消息,记录标题、内容、接收用户、发送时间等信息,包含id、标题、内容、用户账号、发送时间等字段,如表4-11所示。
表4-11 消息通知
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
biaoti |
varchar |
32 |
标题 |
|
|
|
neirong |
longtext |
4294967295 |
内容 |
|
|
|
yonghuzhanghao |
varchar |
16 |
用户账号 |
|
|
|
yonghuxingming |
varchar |
200 |
用户姓名 |
|
|
|
fasongshijian |
datetime |
|
发送时间 |
|
|
(12)交接记录表用于记录员工交接班信息,存储上班员工、下班员工、交接时间等数据,包含id、上班员工、交接时间、下班员工等字段,如表4-12所示。
表4-12 交接记录
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
yuangongzhanghao |
varchar |
16 |
上班员工 |
|
|
|
jiaojieshijian |
datetime |
|
交接时间 |
|
|
|
xiabanyuangong |
varchar |
200 |
下班员工 |
|
|
(13)管理员表用于存储系统管理员账号信息,记录用户名、密码、角色类型等内容,包含id、用户名、密码、角色等字段,如表4-13所示。
表4-13 管理员
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
username |
varchar |
200 |
用户名 |
|
|
|
password |
varchar |
200 |
密码 |
|
|
|
role |
varchar |
200 |
角色 |
|
管理员 |
(14)我的收藏表用于存储用户收藏的客房信息,记录收藏对象、用户id、图片、备注等数据,包含id、用户id、名称、图片、备注等字段,如表4-14所示。
表4-14 我的收藏
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
|
主键 |
主键 |
|
|
addtime |
timestamp |
|
创建时间 |
|
CURRENT_ TIMESTAMP |
|
refid |
bigint |
|
refid |
|
|
|
tablename |
varchar |
200 |
表名 |
|
|
|
name |
varchar |
200 |
名称 |
|
|
|
picture |
longtext |
4294967295 |
图片 |
|
|
|
type |
varchar |
200 |
类型 |
|
1 |
|
inteltype |
varchar |
200 |
推荐类型 |
|
|
|
remark |
varchar |
200 |
备注 |
|
|
|
userid |
bigint |
|
用户id |
|
|
第五章 系统实现
5.1 用户(住客)角色功能
5.1.1 用户登陆注册
宾馆客房管理系统的用户注册界面,核心流程为:住客填写账号、密码等信息后,点击“注册”按钮触发registerUser()函数,该函数封装表单参数调用后端/user/register接口提交数据;后端校验信息合法性,校验通过则创建用户数据并返回成功结果,页面自动跳转至登录页;校验失败则弹窗提示错误(如账号重复)。页面内置表单实时校验函数,对手机号、密码格式进行合规性检查,保障录入数据有效,是住客接入系统的首要操作界面,注册页面如图5-1所示。


客房预订支付
客房预订界面,住客选择客房、填写入住信息后,点击“提交预订”触发submitBooking()函数,调用/booking/add接口提交数据;后端生成唯一订单编号并返回订单信息,页面自动跳转至支付页面。页面内置checkDate()函数校验入住离店时间逻辑,通过getRoomStatus()函数实时查询客房状态,避免预订已占用客房,保障预订流程准确,客房预定页面如图5-4所示。


管理员/员工功能实现
5.2.1 管理员/员工登录
管理员/员工登录界面,工作人员输入账号密码点击登录后,执行staffLogin()函数调用/staff/login接口,后端通过getRoleByAccount()函数查询账号角色;验证成功则根据角色分别执行jumpToAdminIndex()或jumpToEmpIndex(),跳转至管理员/员工后台首页,同时存储权限标识;验证失败则弹窗提示。页面通过@IgnoreAuth注解开放访问权限,仅校验账号合法性,管理员/员工登录页面如图5-7所示。


新增客房信息
新增客房界面,管理员填写客房属性后点击“提交”,执行addRoom()函数调用/room/add接口;后端接收参数后通过saveRoomInfo()函数存储客房数据,返回成功则页面跳转至民宿信息管理页并刷新列表,失败则提示字段错误。页面通过uploadImg()函数实现客房图片上传至文件服务器,生成图片链接存储,新增客房页面如图5-10所示。

民宿信息管理
民宿信息管理界面,加载时调用getRoomListByParams()函数,接收价格、城市等筛选参数,通过EntityWrapper构造条件执行queryPage()分页查询;点击“修改”执行jumpToEditRoom()跳转至编辑页,点击“删除”调用deleteRoom()函数执行/room/delete接口。页面内置exportRoomData()函数导出客房数据,实时刷新客房状态,民宿信息管理页面如图5-11所示。

发票上传
发票上传界面,工作人员选择订单后点击“上传发票”,执行uploadInvoice()函数调用/invoice/upload接口,将电子发票文件上传至存储服务器并绑定订单编号;上传成功则执行updateInvoiceStatus()函数更新发票状态,页面跳转至账单列表页。页面通过verifyFileFormat()函数校验文件格式(仅支持PDF/PNG),保障发票文件合规,发票上传页面如图5-13所示。

总结与展望
7.1 系统总结
本文设计并实现了一套基于 Spring Boot 的宾馆客房管理系统,采用 B/S 架构与前后端分离模式,前端使用 Vue.js 构建用户界面,后端基于 Spring Boot 开发业务逻辑,搭配 MySQL 数据库实现数据持久化。系统涵盖房间管理、订单管理、用户管理、财务管理、服务与支持、系统支撑六大核心模块,满足了住客、员工、管理者三类角色的多样化需求。
系统在功能上实现了在线预订、房态可视化、快捷入住退房、消费统计、智能客服等关键业务流程;在技术上具备良好的扩展性、安全性与响应效率;在实际应用中能够有效缩短住客等候时间、减轻员工工作负担、为管理者提供数据决策支持。测试结果表明,系统运行稳定、操作便捷,能够有效提升宾馆运营效率与客户满意度。
7.2 系统总结
尽管系统已基本实现预期目标,但仍存在一些不足之处:
智能化程度有待提升:目前的智能客服仅支持常见问题应答,尚未接入自然语言处理模型,处理复杂问题的能力有限;
数据分析维度较少:统计报表功能虽已实现,但在数据挖掘与预测分析方面仍较薄弱,尚未引入机器学习算法;
移动端体验可优化:系统虽适配手机端,但未开发独立 App,部分交互在移动端仍显繁琐;
系统部署依赖本地环境:目前系统未进行容器化部署(如 Docker),在多环境迁移与运维方面存在一定局限。

![[项目] --- 基于 Spring Boot + Redis的多设计模式抽奖系统-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261031220757-6ae666bdaa3f5-220x150.png)
