基于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技术组合,便于维护和扩展。
相关推荐
不得了zz28 分钟前
04-Spring AI Alibaba ReactAgent 生产级实践:工具调用、结构化输出、HITL 与上下文管理
java·ai编程·springaialibaba
猿究院_夏燊38 分钟前
SpringMVC 到底是怎么干活的?
java·网络·职场和发展
鶴哥只手遮天40 分钟前
Spring Framework 7.0.9 深度剖析-05-配置元数据解析:XML、注解与 JavaConfig
java·后端·开源
NGINX开源社区1 小时前
与我们交流:NGINX Gateway Fabric 与 NGINX Ingress Controller 社区会议
java·服务器·前端
鶴哥只手遮天1 小时前
Spring Framework 7.0.9 深度剖析-16-异步与调度
java·后端·开源
十年Java程序媛1 小时前
Java 多线程基础与锁机制|进程线程、synchronized、volatile、Lock 面试全梳理
java·spring boot·面试
弈栈录1 小时前
大模型服务抽象:兼容 OpenAI、通义千问与本地模型
java·后端·架构
鶴哥只手遮天1 小时前
Spring Framework 7.0.9 深度剖析-06-Bean 生命周期与依赖注入原理
java·后端·开源
唐钰小宝B1 小时前
深度解读 JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
java·开发语言·windows
golang学习记1 小时前
最新版VS Code开发Spring Boot项目保姆级教程
java·spring boot·vscode·后端