摘 要
随着酒店行业数字化转型的加速,传统的人工管理模式已难以满足高效运营与客户体验提升的需求。本文设计并实现了一种基于Spring Boot和Vue框架的酒店管理系统,旨在通过信息化手段优化酒店业务流程,提升管理效率和服务质量。
系统采用前后端分离架构,后端基于Spring Boot框架搭建,结合MySQL数据库实现数据存储与业务逻辑处理;前端使用Vue.js框架开发,提供直观友好的用户界面。系统功能模块涵盖酒店核心业务管理,包括房间类型与预定时段配置、房间信息维护、退房结算、餐台与景点信息管理、客户咨询与评价处理等。同时,系统支持轮播图配置、通知公告发布及新闻资讯管理,增强信息传递的及时性与多样性。
通过该系统的应用,管理员可实时监控酒店运营状态,高效处理客户订单与咨询,并实现业务数据的可视化分析。系统还支持多角色协同操作,确保业务流程的规范性与可追溯性。实际测试表明,该系统能够显著降低人工管理成本,提升客户满意度,为酒店行业的智能化管理提供了可行的技术解决方案。
关键词:酒店管理系统;Spring Boot;Vue.js;前后端分离;业务数字化。
Abstract
With the acceleration of digital transformation in the hotel industry, traditional manual management models are no longer able to meet the needs of efficient operations and improved customer experience. This article designs and implements a hotel management system based on Spring Boot and Vue framework, aiming to optimize hotel business processes through information technology, improve management efficiency and service quality.
The system adopts a front-end and back-end separation architecture, with the back-end built on the Spring Boot framework and combined with MySQL database to achieve data storage and business logic processing; The front-end is developed using the Vue.js framework, providing an intuitive and user-friendly interface. The system functional modules cover the core business management of hotels, including room type and reservation time configuration, room information maintenance, check-out settlement, table and attraction information management, customer consultation and evaluation processing, etc. At the same time, the system supports carousel configuration, notification and announcement release, and news information management, enhancing the timeliness and diversity of information transmission.
Through the application of this system, administrators can monitor the hotel's operational status in real-time, efficiently process customer orders and inquiries, and achieve visual analysis of business data. The system also supports multi role collaborative operations to ensure the standardization and traceability of business processes. Actual testing has shown that the system can significantly reduce manual management costs, improve customer satisfaction, and provide a feasible technical solution for intelligent management in the hotel industry.
Keywords:Hotel management system; Spring Boot; Vue.js; Front and rear separation; Digitalization of business operations.
目 录
1 前 言
1.1研究背景
随着全球旅游业的蓬勃发展和酒店行业竞争日益激烈,酒店运营效率与服务质量的提升成为行业关注的核心问题。传统酒店管理模式依赖人工操作,存在信息分散、流程繁琐、响应滞后等问题,导致客房资源分配不合理、客户体验参差不齐,甚至可能引发订单冲突或管理漏洞。尤其在旅游旺季或大型活动期间,人工处理预订、退房、餐台安排等业务时,效率瓶颈更加凸显,直接影响酒店的经济效益与品牌形象[1]。
酒店管理系统的研究背景源于对行业痛点的深入洞察。当前,消费者对服务的即时性、透明化与个性化需求显著增强,传统模式下客户无法便捷获取实时房态、在线预订或自助退房,服务体验受到制约。同时,酒店内部管理中,客房清洁、库存盘点、财务结算等环节缺乏系统化协同,数据孤岛现象普遍,难以实现资源的动态优化配置。这些问题不仅增加了运营成本,也限制了酒店规模化发展的潜力[2]。
信息技术的快速发展为酒店管理模式的革新提供了契机。通过构建集成化的管理系统,能够将客房预订、餐饮服务、客户反馈等核心业务整合至统一平台,实现业务流程的标准化与自动化。系统的引入不仅有助于提升内部管理效率,还能通过数据分析优化服务策略,增强客户粘性。因此,酒店管理系统的研究与实践,既是行业数字化转型的必然要求,也是提升酒店核心竞争力的关键路径。
1.2研究意义
酒店管理系统的研究意义在于通过信息化手段重构传统酒店管理模式,为解决行业长期存在的效率瓶颈与服务质量不均问题提供技术支撑[3]。系统的应用能够将分散的客房预订、餐饮服务、客户反馈等业务流程整合至统一平台,实现数据的实时共享与动态管理,减少人工操作导致的误差与延迟。对于酒店管理者而言,系统提供的房态监控、收益分析及资源调度功能,可辅助其快速响应市场需求变化,优化定价策略与资源配置,从而提升运营收益与资源利用率[4]。
从客户体验角度,系统通过在线预订、自助退房、服务评价等功能,赋予用户更多自主权与透明度,缩短服务响应时间,满足现代消费者对便捷性、个性化的需求[5]。同时,系统积累的客户行为数据为精准营销与服务改进提供依据,有助于增强客户粘性与品牌忠诚度。
在行业层面,酒店管理系统的推广与应用能够推动传统服务业向数字化、智能化转型,为中小型酒店降低信息化门槛,促进市场竞争的规范化与公平性。系统的标准化流程设计还可为连锁酒店或集团化运营提供可复制的管理模板,加速行业规模化发展。通过技术与服务的深度融合,酒店管理系统的研究不仅为行业可持续发展注入新动能,也为现代服务业数字化转型提供了实践参考[6]。
1.3国内外研究现状
1.3.1国内研究现状
酒店管理系统的研究意义在于通过信息化手段重构传统酒店管理模式,为解决行业长期存在的效率瓶颈与服务质量不均问题提供技术支撑。系统的应用能够将分散的客房预订、餐饮服务、客户反馈等业务流程整合至统一平台,实现数据的实时共享与动态管理,减少人工操作导致的误差与延迟。对于酒店管理者而言,系统提供的房态监控、收益分析及资源调度功能,可辅助其快速响应市场需求变化,优化定价策略与资源配置,从而提升运营收益与资源利用率。
从客户体验角度,系统通过在线预订、自助退房、服务评价等功能,赋予用户更多自主权与透明度,缩短服务响应时间,满足现代消费者对便捷性、个性化的需求。同时,系统积累的客户行为数据为精准营销与服务改进提供依据,有助于增强客户粘性与品牌忠诚度。
在行业层面,酒店管理系统的推广与应用能够推动传统服务业向数字化、智能化转型,为中小型酒店降低信息化门槛,促进市场竞争的规范化与公平性。系统的标准化流程设计还可为连锁酒店或集团化运营提供可复制的管理模板,加速行业规模化发展。通过技术与服务的深度融合,酒店管理系统的研究不仅为行业可持续发展注入新动能,也为现代服务业数字化转型提供了实践参考。
1.3.2国外研究现状
在酒店管理系统的国外研究领域,欧美等发达国家的探索起步较早,已形成较为成熟的理论体系与实践经验。早期的研究侧重于基础功能开发,如客房预订、入住登记及账单结算的自动化,旨在替代传统人工操作模式,提升服务效率。随着酒店行业全球化与连锁化趋势的增强,研究逐渐转向多模块集成与跨平台协同,例如将客户关系管理、餐饮服务、会议活动策划等功能整合至统一系统,实现业务流程的无缝衔接。
国外学者在系统架构设计上强调灵活性与可扩展性,部分研究提出基于模块化设计的解决方案,支持酒店根据自身需求定制功能组合。例如,针对高端酒店与快捷酒店的不同运营特点,系统可通过增减模块快速适配,降低二次开发成本。在客户体验优化方面,研究关注移动端应用的开发与多语言支持,使客户能够通过手机完成预订、支付及服务反馈,提升服务的即时性与便捷性。
实际应用中,国外酒店管理系统在数据安全与隐私保护方面积累了较多经验。研究通过权限分级、加密传输等技术手段,确保客户信息与交易数据的安全性,符合国际法规要求。同时,系统与第三方平台(如在线旅行代理、支付网关)的接口标准化研究取得进展,增强了系统的兼容性与生态扩展能力。然而,高昂的部署成本与本地化适配问题仍是跨国酒店集团面临的挑战,如何平衡功能全面性与操作简易性,成为近年来的研究热点之一。
1.4论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:前言,主要介绍酒店管理系统领域研究的背景和意义,概述研究的现状。
第二章:关键技术,主要探讨和说明实现酒店管理系统的关键技术。
第三章:系统分析,主要从酒店管理系统的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,主要对酒店管理系统功能模块、数据库进行功能设计。
第五章:系统实现,主要介绍了酒店管理系统各个用户的功能、系统界面的实现。
第六章:系统测试,主要对酒店管理系统进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章:结束语。总结全文研究内容,提出对酒店管理系统领域未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。
2 关键技术
2.1Java
Java是一种跨平台的编程语言,广泛用于开发各种类型的应用程序,包括Web应用、移动应用和大型软件系统。在酒店管理系统中,Java通常用于后端开发,提供强大的处理能力和稳定性。同时Java是一种面向对象的编程语言,支持封装、继承和多态等特性,使代码更易于维护和重用。还拥有丰富的标准库和第三方框架,如Spring、Hibernate等,可以大大提高开发效率。
2.2B/S模式
B/S模式(Browser/Server模式)是一种网络应用架构,其中浏览器(Browser)作为客户端与服务器(Server)进行通信 。这种模式使用户可以通过普通的Web浏览器访问应用程序,而无需安装额外的客户端软件。用户通过浏览器发送请求,服务器接收并处理这些请求,然后将结果返回给浏览器显示给用户。在酒店管理系统中,Spring Boot结合B/S模式的优势包括跨平台的兼容性,用户可以在不同操作系统和设备上访问应用程序 。维护和部署也更为简便,并且能够实现较高的安全性,因为服务器端控制了应用程序和数据的访问权限。
2.3Spring Boot框架
Spring Boot是一个用于构建微服务的Java框架,简化了Spring应用程序的开发和部署过程 。Spring Boot通过自动配置和约定优于配置的理念,简化了Spring应用程序的开发过程,使开发者可以更快地构建和部署应用程序。拥有丰富的生态系统,如Spring Cloud、Spring Security等,可以满足各种企业级应用的需求。在酒店管理系统中,Spring Boot可以帮助开发团队快速搭建后端服务,并实现各种功能模块的集成和管理。
2.4MySQL
MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在酒店管理系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,保证数据的安全性。
3 系统分析
3.1可行性分析
3.1.1技术可行性
从技术角度来看,Spring Boot作为一种轻量级、快速构建的Java框架,能够提高开发效率,降低系统的复杂程度,易于维护和升级。MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。因此,本系统具有技术可行性。
3.1.2经济可行性
从经济角度来看,基于Spring Boot搭建酒店管理系统的投入成本相对较低,因为Spring Boot本身是一个免费、开源的框架,可以节省开发成本。使用MySQL作为数据库也具有成本效益高的优势。因此,本系统具有经济可行性。
3.1.3操作可行性
从操作角度来看,Spring Boot的简洁性和高度集成的特点使得系统的部署和运行相对简单,容易维护和管理的同时,能够提供一个界面直观友好和操作简单高效的系统,能满足用户的各项要求,方便用户快速上手使用。因此,本系统具有操作可行性。
3.1.4运行可行性
从运行角度来看,正因为本系统是在服务器的基础上开发的,系统开发成功以后,用户无需导航指导便可自己上手进行操作。系统一经开发测试后,在计算机移动客户端能上网的情况下,只需在浏览器里完成所有可用操作,也无需配置复杂的使用和运行环境,只需一个网址便可进入系统。因此,本系统具有运行可行性。
综合来看,酒店管理系统在经济、技术、操作、运行等方面都具有较高的可行性,能够为用户提供便捷的服务。
3.2功能需求分析
本酒店管理系统设计分为两个主要用户角色:普通用户和管理员。以下是对每个角色的功能需求的详细描述。
- 普通用户功能模块
a) 首页:用户登录后可访问首页,快速获取酒店特色信息与实时动态。
b) 通知公告:用户可浏览酒店发布的公告(如政策调整、活动通知),及时了解最新服务变动与优惠信息。
c) 新闻资讯:用户可阅读酒店相关新闻(如行业动态、品牌故事、旅游攻略),增强对酒店服务的认知与信任。
d) 前台咨询:用户可在线提交咨询问题或服务需求,查看历史咨询记录及回复内容,提升沟通效率。
e) 房间信息:用户可浏览酒店所有房型详情(如价格、设施、图片),查看实时房态并进行在线预订。
f) 景点信息:用户可查询酒店周边景点介绍(如开放时间、交通路线),规划旅行行程,提升入住体验。
g) 餐台信息:用户可查看餐厅餐台分布及状态,了解餐台容纳人数与位置,支持在线预订台位。
h) 我的账户:用户可管理个人账户信息,包括修改密码、绑定手机号及邮箱,保障账户安全与隐私。
i) 个人中心:
个人首页:展示用户基本信息、提供快捷入口至常用功能。
房间预定:用户可查看和管理自己的房间预订订单(如修改日期、取消预订),支持订单状态跟踪与支付操作。
酒店评价:用户可对已入住的酒店服务进行评价与打分,查看历史评价记录,参与互动反馈。
收藏:用户可收藏感兴趣的房型、新闻资讯或景点信息,便于快速访问与后续参考。
前台咨询:用户可查看已提交的咨询记录及回复详情,支持继续追问或关闭咨询。
房间退房:用户可在线提交退房申请,查看退房费用结算明细及流程状态,简化退房手续。
台位预定:用户可管理餐厅台位预订信息(如修改时间、取消预订),实时查看台位可用性。
评论管理:用户可编辑或删除自己发布的评论内容,维护个人言论的规范性。
(2)管理员功能模块
a) 后台首页:管理员可通过登录进入后台首页,便于快速掌握业务动态。
b) 系统用户管理:管理员可对系统用户进行增删改查操作,分配角色权限,保障用户数据的准确性和系统安全性。
c) 前台咨询管理:管理员可处理客户的前台咨询信息,包括咨询内容分类、回复记录维护及常见问题归档,提升客户服务效率。
d) 房间类型管理:管理员可定义和维护房间类型(如标准间、套房),设置房型价格、配套设施及描述信息,支持灵活调整房型策略。
e) 预定时段管理:管理员可配置不同时段的房间预订规则(如节假日价格浮动、淡旺季时段划分),优化资源分配与收益管理。
f) 房间信息管理:管理员可维护所有房间的详细信息(如房号、状态、清洁记录),实时更新房间可用性,确保客房资源高效利用。
g) 房间退房管理:管理员可处理退房操作,包括费用结算、房间状态重置及退房记录存档,保障业务流程的完整性和可追溯性。
h) 景点信息管理:管理员可维护酒店周边景点信息(如景点介绍、开放时间、推荐路线),为住客提供便捷的旅游参考服务。
i) 餐台信息管理:管理员可管理餐厅餐台信息(如台号、容纳人数、位置分布),支持餐台预订与实时状态监控。
j) 业务管理:
房间预定管理:管理员可审核、修改或取消客户房间预订订单,处理异常情况并生成预订报表。
酒店评价管理:管理员可查看和审核客户对酒店服务的评价内容,维护评价数据的真实性与规范性。
台位预定管理:管理员可管理餐厅台位预订信息,协调台位分配并优化客户用餐体验。
k) 系统管理(轮播图):管理员可配置首页轮播图内容(如促销活动、酒店特色展示),提升界面展示效果与信息传递效率。
l) 通知公告管理:管理员可发布和管理酒店公告(如政策调整、活动通知),确保信息及时触达用户。
m) 资源管理:
新闻资讯:管理员可发布和维护酒店相关新闻(如行业动态、品牌宣传),丰富网站内容并增强客户粘性。
资讯分类:管理员可对新闻资讯进行分类管理(如促销类、服务类),优化信息检索与展示逻辑。
普通用户角色用例如图3-1所示。

图3-1普通用户用例图
管理员角色用例如3-2所示。

图3-2管理人员用例图
3.3系统非功能性需求分析
非功能性分析是系统设计的重要组成部分,其目标是保证系统在各种负载条件下的高效、稳定和可靠。对于酒店管理系统的设计与实现,系统非功能性需求分析表如表3-1所示。
表3-1 非功能性需求表
| 项目 | 内容 |
| 性能 | 系统应支持至少500个并发用户访问,响应时间不超过2秒 |
| 安全性 | 用户数据需加密,系统应具备防攻击机制(如SQL注入、XSS防护) |
| 可用性 | 系统年可用性应达到99.5%,保证大部分时间能够正常访问 |
| 可维护性 | 代码易于阅读与修改,文档齐全,便于后期维护和功能扩展 |
| 扩展性 | 系统架构应支持后续功能的扩展,易于添加新模块或功能 |
| 兼容性 | 系统应支持主流浏览器(如Chrome、Firefox、Safari) |
| 用户体验 | 界面友好、简洁,操作应当简便,避免用户困惑 |
3.4系统流程分析
3.4.1程序操作流程
用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如图3-3所示。

图3-3 程序操作流程图
3.4.2登录流程
用户访问平台的网站,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如图3-4所示。

图3-4 登录流程图
3.4.3注册流程
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如图3-5所示。

图3-5注册流程图
4 系统设计
4.1系统架构设计
本项目采用B/S架构,遵循MVC设计思想,采用前后端分离的方式进行架构搭建。系统主要由表示层、控制层、业务逻辑层和数据层构成,系统架构如图4-1所示。

图4-1 系统整体架构图
系统使用Spring Boot与Vue框架进行搭建,架构分为视图层、控制层、业务逻辑层、数据持久层和数据库服务器。视图层利用Vue框架和Element UI界面渲染工具构建前端页面,前端页面通过HTTP协议发送请求至控制层。控制层与业务逻辑层通过Spring Boot框架搭建,控制层接收前端请求,进行解析和数据校验,将数据传递至Service层进行业务逻辑处理。业务处理完成后,通过数据持久层访问数据库服务器,执行数据库操作,最终将结果返回至控制层,并传递至前端进行页面处理。
4.2系统功能模块设计
根据系统分析,酒店管理系统后台管理端设计为后台首页、系统用户、前台咨询管理、房间类型管理、预定时段管理、房间信息管理、房间退房管理、景点信息管理、餐台信息管理、业务管理(房间预定管理、酒店评价管理、台位预定管理)、系统管理(轮播图)、通知公告管理、资源管理(新闻资讯、资讯分类)等,其中管理员可以对系统的所有模块进行管理。用户端通过电脑浏览器访问系统,普通用户设计的功能模块有首页、通知公告、新闻资讯、前台咨询、房间信息、景点信息、餐台信息、我的账户、个人中心(个人首页、房间预定、酒店评价、收藏、前台咨询、房间退房、台位预定、评论管理)等。整个系统的功能模块设计如图4-2所示。

图4-2 系统功能模块图
4.3数据库设计
数据库设计是一种用于创建数据库结构的过程,通过需求分析确定数据类型和操作需求,并使用实体-关系图表达数据的实体、属性及其关系,形成概念模型。在此基础上,将概念模型转化为特定数据库系统可识别的逻辑模型,确定表结构、字段、数据类型及约束关系。数据库设计通常分为概念设计、逻辑设计两个阶段。
4.3.1概念设计
概念设计作为数据库设计的关键环节,通过高层次的抽象描述系统中的数据结构和关系,明确系统的数据需求。通常采用E-R图来展现数据的实体、属性及关系,形成逻辑完整的模型,更加清晰地表达和传达设计意图。在该阶段,需要确定关键数据实体,定义属性并表达关系类型,为数据库的逻辑设计和物理设计奠定必要基础。以下是系统各个实体图和总体E-R图。
(1)管理员实体属性图如下图4-3所示

图4-3管理员实体属性图
(2) 普通用户实体属性如下图4-4所示

图4-4普通用户实体属性图
(3) 餐台信息实体属性如下图4-5所示

图4-5餐台信息实体属性图
(4) 房间信息实体属性如下图4-6所示

图4-6房间信息实体属性图
(5) 资讯实体属性如下图4-7所示

图4-7资讯信息实体属性图
(6)酒店管理系统总E-R图如下图4-8所示

图4-8酒店管理系统总E-R图
4.3.2逻辑设计
逻辑设计是数据库设计中的关键环节,主要任务是将概念设计中的抽象模型转化为数据库管理系统可识别的结构,确定表结构、字段名称、数据类型、主键和外键等要素,从而构建数据的逻辑框架。逻辑设计明确了数据的存储方式和关联规则,维持数据一致性与完整性,并提升查询与管理的效率。以下是系统的数据库表设计。
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
| 2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
| 3 | info | text | 65535 | 0 | Y | N | ||
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
| 2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
| 3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
| 4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
| 5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
| 9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
| 10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
| 11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
| 12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
| 13 | description | text | 65535 | 0 | Y | N | 文章描述 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
| 3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
| 4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
| 5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
| 6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
| 7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
| 2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
| 3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
| 4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
| 5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
| 6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
| 7 | parent | varchar | 64 | 0 | Y | N | 父级菜单 | |
| 8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
| 9 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 15 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 16 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 17 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 18 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 19 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 20 | option | text | 65535 | 0 | Y | N | 配置: | |
| 21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | code_token_id | int | 10 | 0 | N | Y | ||
| 2 | token | varchar | 255 | 0 | Y | N | ||
| 3 | code | varchar | 255 | 0 | Y | N | 验证码 | |
| 4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
| 3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 6 | title | varchar | 255 | 0 | Y | N | 标题: | |
| 7 | img | varchar | 255 | 0 | Y | N | 封面: | |
| 8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
| 3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
| 4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
| 5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表dining_table_information (餐台信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | dining_table_information_id | int | 10 | 0 | N | Y | 餐台信息ID | |
| 2 | table_name | varchar | 64 | 0 | Y | N | 餐桌名称 | |
| 3 | table_number | varchar | 64 | 0 | Y | N | 餐桌编号 | |
| 4 | table_position | varchar | 64 | 0 | Y | N | 餐桌位置 | |
| 5 | number_of_seats_available | double | 9 | 2 | Y | N | 0.00 | 可座人数 |
| 6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
| 7 | table_state | varchar | 64 | 0 | Y | N | 餐桌状态 | |
| 8 | table_introduction | longtext | 2147483647 | 0 | Y | N | 餐桌简介 | |
| 9 | seat_reservation_limit_times | int | 10 | 0 | N | N | 0 | 预定限制次数 |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表front_desk_consultation (前台咨询)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | front_desk_consultation_id | int | 10 | 0 | N | Y | 前台咨询ID | |
| 2 | consultation_title | varchar | 64 | 0 | Y | N | 咨询标题 | |
| 3 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 4 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 5 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 6 | consultation_content | text | 65535 | 0 | Y | N | 咨询内容 | |
| 7 | consultation_reply | text | 65535 | 0 | Y | N | 咨询回复 | |
| 8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hotel_reviews_id | int | 10 | 0 | N | Y | 酒店评价ID | |
| 2 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 3 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 4 | scheduled_date | date | 10 | 0 | Y | N | 预定日期 | |
| 5 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 7 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 8 | user_experience | varchar | 64 | 0 | Y | N | 用户体验 | |
| 9 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 12 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 13 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 14 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
| 2 | title | varchar | 125 | 0 | N | N | 标题: | |
| 3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
| 2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 3 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 4 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | reservation_period_id | int | 10 | 0 | N | Y | 预定时段ID | |
| 2 | reservation_time | varchar | 64 | 0 | Y | N | 预定时间 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | room_check_out_id | int | 10 | 0 | N | Y | 房间退房ID | |
| 2 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 3 | room_location | varchar | 64 | 0 | Y | N | 房间位置 | |
| 4 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 5 | scheduled_date | date | 10 | 0 | Y | N | 预定日期 | |
| 6 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 8 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 9 | check_out | date | 10 | 0 | Y | N | 退房日期 | |
| 10 | check_out_status | varchar | 64 | 0 | Y | N | 退房状态 | |
| 11 | check_out_remarks | text | 65535 | 0 | Y | N | 退房备注 | |
| 12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 13 | hotel_reviews_limit_times | int | 10 | 0 | N | N | 0 | 评价限制次数 |
| 14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 16 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 17 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 18 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | room_information_id | int | 10 | 0 | N | Y | 房间信息ID | |
| 2 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 3 | room_location | varchar | 64 | 0 | Y | N | 房间位置 | |
| 4 | room_status | varchar | 64 | 0 | Y | N | 房间状态 | |
| 5 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
| 6 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 7 | room_picture | varchar | 255 | 0 | Y | N | 房间图片 | |
| 8 | room_introduction | longtext | 2147483647 | 0 | Y | N | 房间简介 | |
| 9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 11 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
| 12 | comment_len | int | 10 | 0 | N | N | 0 | 评论数 |
| 13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 14 | room_reservation_limit_times | int | 10 | 0 | N | N | 0 | 预定限制次数 |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | room_reservation_id | int | 10 | 0 | N | Y | 房间预定ID | |
| 2 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 3 | room_location | varchar | 64 | 0 | Y | N | 房间位置 | |
| 4 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 5 | scheduled_date | date | 10 | 0 | Y | N | 预定日期 | |
| 6 | end_date | date | 10 | 0 | Y | N | 结束日期 | |
| 7 | reservation_period | varchar | 64 | 0 | Y | N | 预定时段 | |
| 8 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 9 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 10 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 11 | booking_days | double | 9 | 2 | Y | N | 0.00 | 预定天数 |
| 12 | total_payment | double | 9 | 2 | Y | N | 0.00 | 合计支付 |
| 13 | booking_remarks | text | 65535 | 0 | Y | N | 预定备注 | |
| 14 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 15 | room_check_out_limit_times | int | 10 | 0 | N | N | 0 | 退房限制次数 |
| 16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 18 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 19 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 20 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | room_type_id | int | 10 | 0 | N | Y | 房间类型ID | |
| 2 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表scenic_spot_information (景点信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | scenic_spot_information_id | int | 10 | 0 | N | Y | 景点信息ID | |
| 2 | scenic_spot_name | varchar | 64 | 0 | Y | N | 景点名称 | |
| 3 | location_of_tourist_attractions | varchar | 64 | 0 | Y | N | 景点位置 | |
| 4 | opening_hours | varchar | 64 | 0 | Y | N | 开放时间 | |
| 5 | scenic_spot_ticket_prices | double | 9 | 2 | Y | N | 0.00 | 景点票价 |
| 6 | traveler_rating | double | 9 | 2 | Y | N | 0.00 | 驴友评分 |
| 7 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
| 8 | introduction_to_scenic_spots | longtext | 2147483647 | 0 | Y | N | 景点简介 | |
| 9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 11 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
| 12 | comment_len | int | 10 | 0 | N | N | 0 | 评论数 |
| 13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
| 14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | schedule_id | smallint | 5 | 0 | N | Y | 日程ID:[0,32767] | |
| 2 | content | varchar | 255 | 0 | Y | N | 日程内容 | |
| 3 | scheduled_time | datetime | 19 | 0 | Y | N | 计划时间 | |
| 4 | user_id | int | 10 | 0 | N | N | 用户id | |
| 5 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
| 6 | update_time | datetime | 19 | 0 | Y | N | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | score_id | int | 10 | 0 | N | Y | 评分ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
| 3 | nickname | varchar | 64 | 0 | Y | N | 昵称: | |
| 4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 8 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | seat_reservation_id | int | 10 | 0 | N | Y | 台位预定ID | |
| 2 | table_name | varchar | 64 | 0 | Y | N | 餐桌名称 | |
| 3 | table_number | varchar | 64 | 0 | Y | N | 餐桌编号 | |
| 4 | number_of_seats_available | double | 9 | 2 | Y | N | 0.00 | 可座人数 |
| 5 | ordinary_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 7 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 8 | number_of_reservations | double | 9 | 2 | Y | N | 0.00 | 预定人数 |
| 9 | scheduled_date | date | 10 | 0 | Y | N | 预定日期 | |
| 10 | reservation_period | varchar | 64 | 0 | Y | N | 预定时段 | |
| 11 | booking_remarks | text | 65535 | 0 | Y | N | 预定备注 | |
| 12 | seat | varchar | 64 | 0 | N | N | 座位号 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 15 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 16 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 17 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
| 2 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 3 | content | varchar | 255 | 0 | Y | N | 内容: | |
| 4 | url | varchar | 255 | 0 | Y | N | 链接: | |
| 5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
| 6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
| 7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
| 2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
| 3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
| 4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
| 5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
| 8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | int | 10 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
| 8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
| 9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
| 10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
| 4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
| 5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 系统实现
5.1普通用户功能模块实现
用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、用户姓名、用户性别、联系电话等用户个人信息,点击注册按钮进行注册,用户注册界面如下图所示。

图5-1用户注册界面图
用户登录:输入用户名跟密码点击登录按钮,校验通过后即可登录,用户登录界面如下图所示。

图5-2用户登录界面图
用户登录后,点击“新闻资讯”进入模块。在新闻资讯首页,可以查看所有发布的新闻资讯,点击任意资讯标题以查看详细内容。页面下方有“评论”和“点赞”按钮,点击评论按钮后可以进行评论。用户填写标题和内容,选择相关标签,点击“提交”按钮发布评论。新闻资讯功能效果图如下图所示。

图5-3新闻资讯功能效果图
5.1.4通知公告
用户在主页点击“通知公告”进入通知公告界面。每条通知以标题和发布日期显示,用户可以点击标题查看详细内容。用户可以通过搜索框输入关键词,快速找到相关公告。通知公告功能效果图如下图所示。

图5-4通知公告功能效果图
进入“房间信息”后,用户会看到所有房间信息列表。显示房间信息照片、基本信息。用户点击具体房间信息照片后,将进入详细信息页面,用户可以查看更多详细描述。若希望预定,用户需点击“预定”按钮,填写信息并提交。房间信息功能效果图如下图所示。

图5-5 房间信息功能效果图
5.2 管理员功能模块实现
在“系统用户”模块下,管理员可以管理系统上的两类用户:管理员和注册用户。管理员可以进行用户的增、删、改、查操作,包括设置权限、修改用户信息等。系统用户管理界面如下图所示。

图5-6系统用户管理界面
管理员登录后,进入“房间类型管理”模块。在列表中,可以查看所有房间类型信息,点击任意条目进入编辑页面。管理员可添加房间类型、修改房间类型或删除不再适用的条目。更改完成后,需点击“保存”按钮,确认修改。房间类型功能效果图如下图所示。

图5-7 房间类型管理功能效果图
管理员登录后,进入“房间信息管理”模块。在列表中,可以查看所有房间信息信息,点击任意条目进入编辑页面。管理员可添加房间信息、修改房间信息或删除不再适用的条目。更改完成后,需点击“保存”按钮,确认修改。房间信息管理功能效果图如下图所示。

图5-8房间信息管理功能效果图
进入“房间退房管理”后,管理员可以查看所有房间退房信息。每条记录包括房间名称、房间位置等。管理员可点击查看详情,必要时可进行查询和删除的操作。房间退房管理如下图所示。

图5-9房间退房管理功能效果图
管理员可以管理网站的轮播图,更新展示的内容以吸引用户关注。系统管理功能效果图如下图所示。

图5-10系统管理功能效果图
5.2.6通知公告管理
管理员在“通知公告管理”模块可发布新公告。点击“添加”按钮,填写标题和内容后点击“发布”。管理员还可以查看和编辑已有公告,必要时删除不再适用的公告。通知公告管理功能效果图如下图所示。

图5-11通知公告管理功能效果图
5.2.7资源管理
在“资源管理”中,管理员可查看系统内所有新闻资讯。管理员也可以对新闻资讯和资讯分类进行管理进行管理。资源管理功能效果图如下图所示。

图5-12 资源管理功能效果图
6 系统测试
6.1测试目的
软件测试的目的在于识别系统缺陷,验证软件对需求的符合程度,使其功能、性能和安全性达到设计标准。在开发过程中,测试能够及时发现潜在问题,降低发布后出现故障的风险。测试不仅关注系统的正常运行,还模拟各种异常情况,评估在不同环境和边界条件下的表现,从而提升软件的可靠性和稳定性,为用户提供更高质量的产品体验,增强信任感。测试过程中的数据和经验积累能完善测试策略,改进开发流程,成为后续项目的参考。软件测试贯穿开发生命周期,是实现产品质量和发布标准的重要环节。
6.2测试方法
测试方法是一系列用于评估和验证产品、软件或系统性能的技术和程序。这些方法根据测试目标的不同,可以划分为黑盒测试、白盒测试和灰盒测试等多种类型。黑盒测试关注输入和输出,不涉及内部逻辑结构。白盒测试深入代码和系统内部结构,检查程序流程和逻辑错误。灰盒测试介于两者之间,对内部结构有部分了解。其他方法还包括自动化测试、手动测试、性能测试和安全测试,各自具有特定的应用场景和优势。性能测试检验系统的响应时间和稳定性,安全测试识别潜在的安全漏洞。选择适当的测试方法能够有效发现问题,提高产品的质量和可靠性。
6.3测试内容
系统采用黑盒测试对系统功能进行测试,以下是测试的详细用例表。
表6-1 评论功能测试用例表
| 测试目的 | 验证评论功能 |
| 测试条件 | 用户已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入新闻资讯模块。 3. 发布评论。 4 删除自己的评论。 |
| 预期效果 | 能成功发布和删除评论 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-2 房间信息功能测试用例表
| 测试目的 | 验证房间信息功能 |
| 测试条件 | 用户已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入房间信息模块。 3. 浏览房间信息列表。 4. 点击查看详细信息。 |
| 预期效果 | 能正常查看房间信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-3 景点信息功能测试用例表
| 测试目的 | 验证景点信息功能 |
| 测试条件 | 用户已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入景点信息模块。 3. 浏览景点信息。 4. 点击查看详细信息。 |
| 预期效果 | 能正常查看景点信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-4餐台信息功能测试用例表
| 测试目的 | 验证餐台信息功能 |
| 测试条件 | 用户已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入餐台信息模块。 3. 浏览餐台信息。 4. 点击查看具体内容。 |
| 预期效果 | 能正常查看餐台信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-5预定时段管理功能测试用例表
| 测试目的 | 验证预定时段管理功能 |
| 测试条件 | 管理员已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入预定时段管理模块。 3. 添加新的预定时段。 4. 修改已有预定时段。 5. 删除预定时段。 |
| 预期效果 | 能正常添加、修改和删除信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-6 房间退房管理功能测试用例表
| 测试目的 | 验证房间退房管理功能 |
| 测试条件 | 管理员已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入房间退房管理模块。 3. 添加新的房间退房。 4. 修改已有房间退房。 5. 删除房间退房。 |
| 预期效果 | 能正常添加、修改和删除信息 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
表6-7 酒店评价管理功能测试用例表
| 测试目的 | 验证酒店评价管理功能 |
| 测试条件 | 管理员已登录 |
| 测试步骤 | 1. 登录系统。 2. 进入通酒店评价管理模块。 3. 查看所有酒店评价。 4. 删除某条记录。 |
| 预期效果 | 能正常查看和删除记录 |
| 实际效果 | 与预期结果一致 |
| 结论 | 测试通过 |
6.4测试结论
所有测试功能均符合预期结果,未发现明显问题,显示出系统在当前测试条件下的稳定性和可靠性。这些结果表明,系统能够有效支持用户和管理员顺畅完成各自的核心活动,未出现操作障碍或功能缺陷。
7 总结与展望
7.1总结
在本次毕业设计项目中,成功开发了一个酒店管理系统,目标在于解决传统信息不对称与管理效率低下的问题。通过采用Spring Boot框架、MySQL数据库和前端Vue.js技术,该系统实现了酒店管理系统的数字化处理,强化了用户权限管理与数据安全保护措施。这一系列功能的实现显著提升了管理效率,为酒店管理迈出了重要一步。
在研究过程中也面临了一些问题和挑战。当前的技术选型在满足基本需求的同时,对于不断变化的业务环境和用户期望显得较为僵化。用户体验方面,系统的界面设计与交互逻辑尚需优化,以符合现代用户对高效、直观操作的要求。随着网络安全威胁的上升,保护用户数据的安全性与隐私问题亦需持续重视。
7.2展望
未来的研究将集中于以下几个方向:探索更灵活、高效的技术架构的应用提升系统的可扩展性与维护性。将引入前沿的设计理念,进一步改善用户界面并增强用户体验。在数据安全方面,研究更为先进的加密技术与安全策略,保障系统能够应对复杂的网络安全挑战。随着人工智能与大数据技术的发展,未来的研究还将探索如何利用这些技术提供智能化分析与决策支持,进一步提升管理效率与服务质量。
致 谢
时光荏苒,四年的求学生涯在不经意间画上了圆满的句号。在这段充满挑战与成长的旅程中,许多人给予了我无私的支持与鼓励。在此,我怀着无比感激的心情,向所有帮助和关心过我的人致以诚挚的感谢。
首先,我要特别感谢我的指导老师。您不仅是知识的传播者,更是我人生道路上的引路人。您严谨治学、孜孜不倦的精神深深感染了我,让我明白了追求真理的重要性。无论是细致的反馈,还是启发性的建议,您都让我感受到一种无形的力量,激励着我不断超越自我。感谢您在我最迷茫的时刻,为我指明方向,给予我勇气,让我在道路上走得更加坚定。
我要感谢我的父母。感谢你们无私的爱与支持,是你们的辛勤付出让我得以追逐梦想,成就自我。无论是在我遇到挫折时的鼓励,还是在我获得成绩时的欢笑,你们总是我最坚实的后盾。在你们的呵护下,我得以在知识的海洋中遨游,体会到求知的乐趣与美好。你们教会我如何面对生活中的风雨,教会我如何在困境中寻找希望。每当我回首过往,心中涌起的都是对你们的感激与爱戴。没有你们的支持,我无法走到今天这一步。愿在未来的日子里,能用自己的努力回报你们的厚爱。
我也要感谢我的同学们。在这四年的岁月里,我们共同经历了无数的挑战与欢笑。无论是一起熬夜复习的辛酸,还是考试后的欢庆,你们的陪伴让我不再孤单。在学习上,我们相互借鉴、共同进步。在生活中,我们彼此扶持、携手前行。与你们的友谊让我感受到青春的热情与力量。每一次的团结合作,都让我意识到团队的力量是无穷的。感谢你们在我人生旅途中的陪伴,你们的存在让我的大学生活更加丰富多彩。
最后,感谢这个校园。这里承载了我的青春与梦想,见证了我的成长与蜕变。每一处熟悉的角落,都蕴藏着我无数的回忆。无论是静谧的图书馆,还是热闹的操场,都成为我心中不可磨灭的印记。这里的每一位老师、每一位同学、每一段经历,都将成为我人生旅途中最珍贵的财富。
在即将踏入新的人生阶段之际,我衷心地感谢所有给予我帮助与关心的人。是你们的陪伴让我在这条路上走得更加坚定与自信。未来的路途或许会有荆棘与挑战,但我将带着你们给予我的勇气与力量,勇敢前行。愿在不久的将来,能够以自己的成就来回馈你们的厚爱。
再次感谢每一位在我生命中出现的人,愿我们都能在各自的人生舞台上,绽放出属于自己的光彩。
参考文献
- 刘雨.酒店管理信息系统的发展演变[J].今日财富,2022,(14):40-42.
- 朱玉凤.基于JavaWeb的酒店管理系统的设计与实现[J].网络安全和信息化,2023,(12):91-94.
- 王香宇.基于数字电视网络技术的酒店管理系统研究[J].电声技术,2022,46(01):73-75.DOI:10.16311/j.audioe.2022.01.021.
- 刘彬.中小企业智慧酒店入住管理系统设计与实现[J].现代信息科技,2022,6(04):21-23+27.DOI:10.19850/j.cnki.2096-4706.2022.04.005.
- 于盛洋.智慧酒店管理系统设计与实现——基于RFID模块[J].产业科技创新,2022,4(02):37-40.
- 钱春霞.连锁酒店管理系统的设计研究[J].电子技术与软件工程,2022,(11):216-219.DOI:10.20109/j.cnki.etse.2022.11.053.
- 孙凯凯,嘉宾后台管理系统V1.0.山西省,山西省信息产业技术研究院有限公司,2023-12-22.
- 郭志英.基于Web的酒店管理系统的设计与实现[J].长江信息通信,2022,35(12):120-123.
- 钱春霞.智慧酒店系统设计研究[J].电子技术与软件工程,2022,(14):175-178.DOI:10.20109/j.cnki.etse.2022.14.040.
- Wong E .破解四大云酒店管理系统误区[J].软件和集成电路,2022,(05):12-13.DOI:10.19609/j.cnki.cn10-1339/tn.2022.05.010.
- 董华军.酒店管理系统的设计与实现[J].工业控制计算机,2022,35(01):140-141.
- 商利华.基于C#的酒店客房管理系统的设计与实现[J].信息与电脑(理论版),2021,33(21):216-218.
- Davi V .Designing Hexagonal Architecture with Java:Build maintainable and long-lasting applications with Java and Quarkus[M].Packt Publishing Limited:2023-09-29.DOI:10.0000/9781837630714.
- Lu R ,Li Y ,Zeng H , et al.Design and Implementation of Child Missing Registration and Mutual Aid Mini Program Based on Java[J].Advances in Computer, Signals and Systems,2023,7(7):
- 岳颖颖.基于Web酒店管理系统设计分析[J].电子技术与软件工程,2021,(17):196-197.DOI:10.20109/j.cnki.etse.2021.17.082.
- 王岩,一种基于人脸识别和卡片识别的酒店管理系统.陕西省,西安顶吉智能科技有限公司,2021-08-17.
- 毕可,基于Java的智慧酒店服务管理系统V1.0.湖北省,武汉东湖学院,2021-02-01.
- Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Wai H K ,Funabiki N,Aung T S, et al.Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System[J].Engineering Letters,2024,32(5):
- Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.
附录:
注册代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
登录代码如下:
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
房间信息代码如下:
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
景点信息代码如下:
@RequestMapping(value = {"/sum_group", "/sum"})
public Map<String, Object> sum(HttpServletRequest request) {
Integer value = service.selectSqlToInteger(service.sum(service.readQuery(request), service.readConfig(request)));
return success(value);
}
请关注点赞+私信博主,免费领取项目源码

被折叠的 条评论
为什么被折叠?



