原创

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

温馨提示:
本文最后更新于 2026年06月04日,已超过 6 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1. 资源

放到文章最后面


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)

# 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)

// 会员实体类,对应数据库中的“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)

@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)

// 定义前端访问路径与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. 部分截图

img1
img2
img3
img4
img5
img6
img7
img8
img9
img10
img11
img12
img13
img14
img15
img16
img17
img18
img19
img20
img21
img22
img23
img24
img25
img26
img27
img28
img29
img30
img31
img32
img33
img34
img35
img36
img37
img38
img39
img40
img41
img42
img43
img44

7. 项目总结

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

  • 优点
    • 业务完整性高:涵盖了酒店客房管理的核心环节,形成闭环。
    • 角色清晰:针对不同用户群体设计了特定的操作界面和功能。
    • 技术栈规范:使用了主流的Spring Boot + MyBatis-Plus + MySQL技术组合,便于维护和扩展。

代码:https://fifteen.xiaobias.com/source/103

正文到此结束