基于SpringBoot2+vue2的酒店客房管理系统

1. Base64 编码工具

使用 base64 工具


2. 项目简介

酒店客房管理系统,基于Spring Boot框架开发。系统旨在为酒店提供线上客房管理、预订流程处理以及用户角色管理功能。

系统主要面向四类角色:管理员用户会员清洁人员

  • 管理员:负责核心数据管理,包括用户/会员/清洁人员信息维护、客房信息的增删改查、各类订单(预约、入住、退房、取消)的审核与处理,以及系统配置(如轮播图、资讯、客服)。
  • 用户与会员:具备浏览客房、在线预约、支付、入住、退房、取消预约、收藏客房以及在线客服等功能。两者的功能定位基本一致,但作为独立角色存在(可能用于区分不同身份或会员等级的用户)。
  • 清洁人员:主要功能是查看待清扫的退房房间,并更新清扫状态。

3. 技术栈

技术类别 技术选型 主要用途
后端框架 Spring Boot 2.2.2 项目基础架构,提供IoC、MVC等核心能力
ORM框架 MyBatis-Plus 2.3 简化数据库操作,提供强大的CRUD功能
安全框架 Apache Shiro 1.3.2 用户认证与权限控制
数据库 MySQL 5.7.32 持久化存储业务数据
数据库连接 JDBC, MySQL Connector 连接和操作数据库
前端框架 Vue.js (后台管理端) 构建后台管理系统的用户界面
前端UI库 Element UI (后台管理端) 提供后台管理系统的UI组件
前端技术 Layui, jQuery (前台用户端) 构建前台用户系统的界面和交互
工具类 Hutool, FastJson, commons-lang3 提供常用工具方法、JSON处理、字符串操作等

4. 详细介绍

4.1. 核心功能模块
  • 用户管理 :管理系统前台注册的普通用户(yonghu表)和会员(huiyuan表)信息。
  • 客房管理 :管理客房信息(kefangxinxi表),包括客房号、类型、价格、状态(空闲/已客满)、图片、介绍等。
  • 预约管理 :处理用户/会员的客房在线预约(yonghuyuyue/huiyuanyuyue表),支持管理员审核。
  • 入住管理 :将审核通过的预约转化为入住记录(yonghuruzhu/huiyuanruzhu表),并记录入住时间、押金等信息。
  • 退房管理 :处理用户/会员的退房操作,生成退房记录(yonghutuifang/huiyuantuifang表),并可触发房间清扫流程。
  • 取消管理 :处理用户/会员的预约取消请求,记录取消原因(yonghuquxiao/huiyuanquxiao表),并支持管理员审核退款。
  • 清洁管理 :退房后,管理员或系统可生成清扫任务(qingsaofangjian表),由清洁人员登录后查看并完成清扫,更新客房状态。
  • 系统管理 :包括轮播图管理(config表)、酒店资讯管理(news表)、在线客服(chat表)、留言板(messages表)等后台功能。
4.2. 业务流程示例
  1. 用户预订流程
    • 用户/会员登录前台 -> 浏览客房信息 -> 选择客房并提交预约 -> 等待管理员审核。
    • 管理员审核通过后 -> 用户/会员支付 -> 生成入住记录 -> 到店办理入住。
    • 用户/会员入住后 -> 办理退房 -> 系统生成退房记录 -> 并发起清扫任务。
    • 清洁人员登录后台 -> 查看清扫任务 -> 完成清扫 -> 更新房间状态为空闲。

5. 部分代码

5.1. 后端核心配置 (application.yml)
yaml 复制代码
# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springboot6alf1

spring:
    datasource:
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springboot6alf1?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456
5.2. 实体类示例 (HuiyuanEntity.java)
java 复制代码
// 会员实体类,对应数据库中的"huiyuan"表
@TableName("huiyuan")
public class HuiyuanEntity<T> implements Serializable {
    @TableId
    private Long id;
    private String zhanghao;  // 账号
    private String mima;      // 密码
    private String xingming;  // 姓名
    private String nianling;  // 年龄
    private String xingbie;   // 性别
    private String shouji;    // 手机
    private String shenfenzheng; // 身份证
    private String zhaopian;   // 照片
    // ... getters and setters
}
5.3. 控制器示例 (KefangxinxiController.java)
java 复制代码
@RestController
@RequestMapping("/kefangxinxi")
public class KefangxinxiController {
    @Autowired
    private KefangxinxiService kefangxinxiService;

    // 获取客房详情,每次访问会自动增加点击次数(clicknum)
    @IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        KefangxinxiEntity kefangxinxi = kefangxinxiService.selectById(id);
        kefangxinxi.setClicknum(kefangxinxi.getClicknum()+1);
        kefangxinxi.setClicktime(new Date());
        kefangxinxiService.updateById(kefangxinxi);
        return R.ok().put("data", kefangxinxi);
    }
}
5.4. 前端路由配置 (router-static.js)
javascript 复制代码
// 定义前端访问路径与Vue组件的映射关系
const routes = [{
    path: '/index',
    name: '首页',
    component: Index,
    children: [
      { path: '/', name: '首页', component: Home},
      { path: '/updatePassword', name: '修改密码', component: UpdatePassword},
      { path: '/kefangxinxi', name: '客房信息', component: kefangxinxi},
      { path: '/yonghu', name: '用户', component: yonghu},
      // ... 更多路由
    ]
  },
  // ... 其他顶级路由
]

5. 部分截图

Use the tool for decoding

aHR0cHM6Ly9ibG9nLnhpYW9iaWFzLmNvbS9hcnRpY2xlLzU2

7. 项目总结

这是一个功能完备的酒店客房管理系统,实现了从客房展示、在线预约、审核支付、入住退房到房间清扫的完整线上业务流程。系统采用前后端分离模式(后台管理使用Vue,前端用户界面使用Layui),明确了不同角色(管理员、用户、会员、清洁人员)的权限和操作流程。

  • 优点
    • 业务完整性高:涵盖了酒店客房管理的核心环节,形成闭环。
    • 角色清晰:针对不同用户群体设计了特定的操作界面和功能。
    • 技术栈规范:使用了主流的Spring Boot + MyBatis-Plus + MySQL技术组合,便于维护和扩展。
相关推荐
SimonKing14 分钟前
OpenCode 桌面版这 10 天偷偷迭代了 5 个版本,你还在用旧版吗?
java·后端·程序员
Dontla44 分钟前
冒烟测试介绍(Smoke Test、BVT构建验证测试、构建验收测试)与回归测试对比、与单元测试对比、与集成测试对比、Cypress
java·单元测试·集成测试
暖和_白开水1 小时前
数据分析agent(十):loguru日志输出优化 和es 启动流程
java·elasticsearch·数据分析
减瓦1 小时前
Gradle 版本演进全景:构建工具的进化密码
java·gradle
玛丽莲茼蒿1 小时前
很难出错的Spring5(十)—— IOC进阶
java·开发语言·jvm
减瓦1 小时前
Jackson 使用指南
java·spring boot·json
Devin~Y1 小时前
互联网大厂 Java 面试实录:Spring Boot、MyBatis、Redis、Kafka、Spring Security、RAG 与 MCP 全链路问答
java·redis·kafka·mybatis·spring security·spring mvc·sprint boot
weixin_437662981 小时前
redisson
java
码农进化录1 小时前
Java 程序员的 AI 进化论 | AI 加 Postman 跑接口测试,省了三天活
java·后端·openai
阿米亚波2 小时前
【C++ STL】std::array
java·开发语言·c++