面向酒店前台的客房预订与房态管理系统:房型房价、客房与房态、预订登记、办理入住、退房结算、房态日历与经营统计。核心是「同一房间的有效占用区间不能相交」——占用区间取左闭右开 [入住日, 离店日),用一条 JPQL 在事务内做相交检测,从源头杜绝超售。后端 Spring Boot 3 + JPA 分层架构,前端 Vue 3 无需构建,默认 H2 文件库免安装、可一键切换 MySQL。
技术栈
Java 17、Spring Boot 3、Spring Data JPA、Vue 3、ECharts、MySQL
功能模块
- 区间重叠检测防超售:占用区间左闭右开 [入住日, 离店日),相交条件 c1t1,一条 JPQL 在事务内先查后写
- 房态日历:CSS Grid 渲染「日期 × 房间」网格,占用段跨列显示(蓝=在住、金=已预订),支持翻页与房型筛选
- 退房结算:按实际间夜计算房费、押金原路退还、超住补收差额,结算说明写入单据备注
- 房态口径两层:物理房态(正常/维修/待清洁)优先于预订;出租率以「今晚是否被占用」为准,今日离店不重复计入
- 预订状态机:已预订 → 在住 → 已退房;可取消 / 标记未到;维修房不可预订、单次最长 30 间夜
- 前台工作台:客房总数/可售、今日在住、出租率、到店离店与本月营收,今日清单可就地办理入住/退房
- 双数据库:MySQL 8.0 为部署口径,交付默认 H2 文件库(免安装),--spring.profiles.active=mysql 一键切换
- 七个业务页面 + 无构建前端:本地 Vue 3 全局构建,改完刷新即生效;HttpSession + 拦截器登录
运行环境
- 编程语言:Java 17(编译目标;JDK 20 运行正常)
- 后端框架:Spring Boot 3.2.5 + Spring Data JPA / Hibernate
- 参数校验:Jakarta Bean Validation
- 构建工具:Maven 3.6+(附 Maven Wrapper,无需预装)
- 前端:Vue 3(本地 vue.global.prod.js,无需 Node 构建)+ Bootstrap Icons + ECharts 5
- 数据库:MySQL 8.0(交付默认 H2 文件库,免安装,可一键切换)
- 会话与安全:HttpSession + 自定义 AuthInterceptor;口令 SHA-256 加盐摘要
- 操作系统:Windows / macOS / Linux
- 启动方式:双击一键脚本,或 java -jar hotel-system.jar(端口 8081)
界面截图










文档预览
交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览:



交付内容
- 完整源码(已跑通,Spring Boot 工程 + 七个前端页面 + 前端资源)
- Maven Wrapper 与一键启动脚本(Windows / macOS;缺 jar 时自动构建,首次联网下载依赖)
- H2 演示数据库(5 种房型 / 50 间客房 / 40 位客人 / 约 1348 条预订住店单据)与 MySQL 配置
- 毕业设计任务书(Word)
- 开题报告(Word)
- 毕业论文(Word,七章制,含区间重叠检测算法与系统测试用例)
- 系统使用与二次开发说明(Word + md)
- 10 张系统运行截图