摘 要
随着互联网技术的快速发展和旅游行业的持续繁荣,民宿作为一种新兴住宿形式受到越来越多游客的喜爱。本研究基于Spring Boot和Vue开发民宿管理系统,旨在设计并实现一个功能全面、操作便捷的在线民宿管理平台。
系统采用前后端分离架构,后端基于Spring Boot框架,结合MySQL数据库实现数据存储与业务逻辑处理;前端采用Vue.js框架,配合Element UI组件库完成页面展示与交互设计。系统实现了多角色功能划分,包括普通用户的订房、收藏、评论管理,商家用户的民宿信息发布与订单审核,以及管理员的数据统计与系统管理等功能。通过深入分析普通用户、商家用户及管理员的实际需求,明确了系统开发的目标,提供高效的信息管理服务,优化用户体验,同时提升民宿运营效率。
本系统的开发与应用具有重要的价值意义。它有效解决了传统民宿管理中信息分散、流程繁琐的问题,为用户提供了一站式服务平台。通过技术手段优化了民宿运营流程,降低了管理成本,提高了商家工作效率。本系统不仅满足了当前市场需求,也为后续相关研究和技术改进奠定了坚实基础。
关键词:Java;Spring Boot框架;民宿管理系统;Vue
Abstract
With the rapid development of Internet technology and the continuous prosperity of the tourism industry, homestays are becoming more and more popular among tourists as a new form of accommodation. Based on Spring Boot and Vue, this study developed a homestay management system, aiming to design and implement an online homestay management platform with comprehensive functions and convenient operation.
The system adopts a front-end and back-end separation architecture, and the back-end is based on the Spring Boot framework, combined with the MySQL database to realize data storage and business logic processing. The front-end uses the Vue.js framework and cooperates with the Element UI component library to complete the page display and interaction design. The system realizes the division of multi-role functions, including the reservation, collection, and review management of ordinary users, the release of B&B information and order review of business users, and the data statistics and system management of administrators. Through in-depth analysis of the actual needs of ordinary users, business users and administrators, the goal of system development is clarified, providing efficient information management services, optimizing user experience, and improving the operation efficiency of B&B.
The development and application of this system is of great value. It effectively solves the problem of scattered information and cumbersome processes in traditional B&B management, and provides users with a one-stop service platform. Through technical means, the operation process of the homestay has been optimized, the management cost has been reduced, and the work efficiency of the business has been improved. This system not only meets the current market demand, but also lays a solid foundation for subsequent related research and technical improvement.
Key words: Java;Spring Boot framework; B&B management system; Vue
目 录
1 绪论
1.1 研究背景
随着互联网技术的快速发展和人们生活水平的不断提高,旅游业已成为全球经济增长的重要驱动力之一。在这一背景下,民宿作为一种灵活、个性化的住宿形式,逐渐受到越来越多游客的青睐。相比传统酒店,民宿不仅提供了更具地方特色和人文气息的居住体验,还满足了现代旅行者对个性化服务的需求。然而,当前民宿行业的管理方式仍存在诸多问题,例如信息传播效率低下、房源管理不够规范、用户与商家之间的沟通不畅等。这些问题不仅影响了用户体验,也制约了民宿行业的进一步发展,亟需通过技术手段加以改善。
本研究正是基于上述背景展开,聚焦于利用现代化信息技术解决民宿管理中的痛点问题。目前,虽然已有部分民宿管理系统投入使用,但这些系统普遍存在功能单一、用户体验不足或技术架构落后等问题。在此情况下,开发一个基于Spring Boot和Vue技术栈的民宿管理系统显得尤为必要。本文依托当前互联网技术的发展趋势,结合民宿行业实际需求,致力于构建一个高效、便捷且功能全面的在线管理平台,以期为民宿行业的信息化管理和智能化运营提供新的解决方案。
1.2 研究目的与意义
本研究旨在设计并实现一个基于Spring Boot和Vue的民宿管理系统,以解决当前民宿管理中存在的信息不对称、操作效率低下以及用户体验不足等问题。通过构建一个多角色、功能全面的在线平台,系统将为普通用户提供便捷的订房、收藏、评论等功能,为商家用户提供建立和管理民宿信息的能力,同时为管理员提供数据统计与系统管理工具。研究重点在于利用现代化信息技术优化民宿行业的运营流程,提升管理效率,并为用户提供更好的服务体验。
本系统的开发与应用具有重要的实践价值和行业推动作用。首先,它能够有效整合民宿资源,促进信息透明化,从而改善用户体验并提高用户满意度。其次,通过规范化的管理手段和技术支持,系统有助于降低民宿商家的运营成本,提升工作效率,进而增强其市场竞争力。此外,系统的模块化设计和可扩展性为未来功能升级和技术改进提供了便利条件,能够适应行业发展的新需求。总体而言,本研究不仅满足了当前民宿行业信息化管理的需求,还为推动行业向智能化、高效化方向发展奠定了基础。
1.3 国内外研究现状
近年来,随着国内民宿行业的快速发展,相关研究逐渐增多,主要集中在民宿创业模式、消费者需求分析以及政策支持等方面。国内学者通过调查和数据分析,深入探讨了如何结合地方特色文化与自然景观资源开发具有吸引力的民宿产品,并提出了针对年轻群体为主的客群结构的个性化服务策略。此外,关于民宿信息管理系统的开发也取得了一定进展,许多研究聚焦于利用互联网技术优化房源发布、预订及支付流程,同时借助数据挖掘和机器学习技术对运营状况进行分析预测。然而,目前国内在民宿管理系统的技术创新和功能多样性上仍有提升空间,尤其是在用户体验和服务智能化方面需要进一步探索。
在国外,民宿作为一种非传统住宿形式的历史可以追溯到中世纪,当时人们为旅行者提供简单的住宿服务便是其雏形。随着工业革命和现代旅游业的发展,民宿逐渐演变为一种重要的旅游住宿形式,并受到学术界的广泛关注。国外研究更多侧重于市场需求分析、经济效益评估以及民宿对社区文化和环境保护的影响等方面。特别是在技术应用领域,国外已开发出多种成熟的民宿管理平台,这些系统不仅具备强大的在线预订、支付功能,还能够通过大数据分析和人工智能技术实现精准营销与用户行为预测。与此同时,国外的研究还强调民宿的文化价值和社会责任,倡导在发展过程中注重保护地方传统文化和生态环境,推动可持续发展。
1.4 论文组织结构
本文的结构按逻辑顺序分为以下几个章节:
第1章绪论,本章节介绍研究背景和意义,回顾当前研究现状,并阐明本文主要组织结构。
第2章系统关键技术,本章节将对民宿管理系统的实现关键技术进行简要介绍。
第3章系统分析,本章节基于市场调研,分析民宿管理系统的可行性、功能、角色、性能等需求,明确各模块的业务需求。
第4章系统设计,本章节详细阐述系统的整体架构设计,包括前后端结构、数据库设计及功能模块的设计思路。
第5章系统实现,本章节介绍系统各主要模块的具体实现,包括代码示例、业务逻辑及界面设计等。
第6章系统测试,本章节描述系统的测试方法及结果,分析系统的性能、稳定性及用户反馈。
2 相关技术介绍
MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),其稳定性、可靠性和卓越性能使其成为众多应用程序的首选数据库。MySQL支持标准SQL语法,并提供丰富的功能和特性,如事务处理、触发器和存储过程等,以满足开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且灵活的关系型数据库管理系统,通过其卓越性能和可扩展性,帮助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
Java编程语言是一种面向对象的高级编程语言,以其简单、可移植、安全和高性能等特点在软件开发领域广泛应用。通过支持类、对象、继承、多态等面向对象概念,Java提供了结构化的编程方式,使代码更易读、维护和重用。其可移植性得益于Java虚拟机(JVM),使得Java程序可以在不同平台上运行,只需编写一次代码。Java注重安全性,提供了字节码验证、异常处理和访问控制等安全机制,确保程序的稳定和安全。此外,Java还拥有丰富的类库和框架,覆盖了各个领域,如图形界面、数据库操作和企业级应用。总而言之,Java作为一门成熟且强大的编程语言,在软件开发中发挥着重要作用,帮助开发者轻松构建可靠、可移植和安全的应用程序。
Spring Boot是一个基于Java的开源框架,旨在简化和加速Java应用程序的开发过程。它采用自动配置和约定优于配置的方式,减少了繁琐的手动配置和集成工作,使开发者能够快速构建独立、可扩展且具备生产级功能的应用程序。Spring Boot集成了许多常用的第三方库和组件,并提供了强大的开发工具和特性,如内嵌的Servlet容器、自动化依赖管理和可扩展的插件机制。它的可插拔配置选项和灵活的扩展机制使开发者能够根据实际需求进行个性化配置和定制,从而更好地满足项目要求。总之,Spring Boot通过简化和优化开发流程,提高了Java应用程序开发的效率和质量,成为广大开发者喜爱的框架之一。
Vue.js是一个鼓励组件化开发的系统,它把应用分成若干个小组件,每一个小组件具有各自的状态与行为。这样可以增加代码可维护性、减少代码复杂性、便于团队协作。Vue.js不仅为用户提供了众多的工具和库,而且还允许用户使用其他的库来满足各种不同的需求,例如路由和状态管理等功能。这样开发者就可以根据工程的特定需要,灵活地配置与扩充。
Vue.js具有规模大、活动量大、第三方库多、插件多等特点,有利于开发者更快的解决问题并实现其功能。Vue.js以虚拟DOM及某些优化手段提供更高性能。该系统能以更高的智能水平更新DOM,从而减少不必要的操作步骤,进一步提升应用程序的整体性能。在创建单页面应用时,Vue为我们提供了如Vue Router这样的工具,这大大简化了路由的管理流程,使得开发复杂的前端应用变得更为简单。
3 系统分析
3.1 可行性分析
可行性分析是系统分析的第一步,进行系统的可行性分析是至关重要的。它不仅帮助我们评估项目的潜在风险和挑战,还能确保资源的有效利用,避免不必要的浪费。通过技术、经济和操作三个维度的全面分析,我们可以明确项目的实施路径,确定是否具备成功的基础条件,并为后续的开发和运营提供科学依据。这种系统化的评估有助于识别可能的瓶颈,提前制定应对策略,从而提高项目的成功率和可持续性。
3.1.1 技术可行性分析
本系统基于成熟的Spring Boot和Vue框架进行开发,这两个框架分别在后端服务支持和前端用户界面构建方面具有广泛的应用和良好的社区支持,这为系统的稳定性和扩展性提供了坚实的基础。此外,利用现有的数据库技术和安全机制,能够有效保障数据的安全性和一致性。整体来看,凭借当前成熟的技术栈以及丰富的开发资源,构建一个功能全面、性能优越的民宿管理系统是完全可行的。
3.1.2 经济可行性分析
系统开发采用开源技术栈,降低了软件授权与工具采购成本。Spring Boot和Vue框架简化了开发流程,缩短了项目周期,减少了人力投入。此外,借助云计算资源部署系统,可根据实际需求灵活调整服务器配置,进一步降低硬件成本。总体而言,该方案在经济上具有较高性价比,适合中小型企业或初创团队实施。
3.1.3 操作可行性分析
在操作可行性方面,本系统设计注重用户体验,采用了直观易用的界面设计,并提供详细的帮助文档支持,确保用户可以轻松上手使用各项功能。无论是用户还是管理员,都能通过简洁明了的操作流程完成信息查询和管理等任务。因此,从用户操作的角度来看,本系统具备良好的操作可行性。
3.2 系统功能分析
3.2.1 功能性需求分析
本系统旨在满足普通用户、商家用户和管理员三大角色的不同需求,提供全面的民宿管理功能。通过整合房源信息发布、在线预订、订单管理、数据统计等功能模块,系统实现了从用户端到管理端的全流程覆盖,同时注重用户体验与操作便捷性,确保各角色能够高效完成各自的任务。具体功能描述如下:
(1)普通用户功能模块:
首页:展示推荐民宿、热门民宿及轮播图信息,为用户提供直观的浏览体验。支持分类筛选和关键词搜索功能,方便快速查找目标房源。
网站公告:展示平台发布的最新公告内容,确保用户及时获取重要信息。用户可点击查看详细公告内容。
新闻资讯:提供行业动态和民宿相关的资讯文章,丰富用户的信息来源。支持按类别浏览和关键词检索功能。
在线客服:通过聊天窗口或表单提交问题,实现用户与客服的即时沟通。记录历史会话以便后续查阅。
民宿信息:展示民宿详情,包括图片、评分、设施等信息,帮助用户全面了解房源。支持在线预订功能。
我的账户:管理用户的个人信息,如昵称、头像、联系方式等,支持密码修改。
个人中心:展示用户的基本信息和订房记录、入住记录、订单售后、收藏、评论管理等常用功能入口,提供个性化的服务体验。
(2)商家用户功能模块:
首页:展示商家的运营数据概览,包括入住记录统计、订房记录统计等关键指标。帮助商家快速掌握经营状况。
网站公告:接收平台发布的最新通知,确保商家及时了解政策变化。支持消息提醒功能。
新闻资讯:提供行业动态和相关政策解读,助力商家把握市场趋势。支持按类别浏览功能。
在线客服:与普通用户进行即时沟通,解答疑问或处理投诉。支持消息分类管理和历史记录查询。
民宿信息:发布、修改和删除民宿信息,包括名称、地址、图片、设施等内容。支持批量上传图片功能。
我的账户:管理商家的基本信息,支持资料更新和密码修改。
个人中心:展示商家的运营数据,如入住率、订单量等,提供可视化图表分析,以及民宿信息、订房记录、入住记录、订单售后、平台通知、收藏、评论管理等常用功能入口。
(2)管理员功能模块:
后台首页:展示系统整体运营数据,包括用户数量、民宿信息统计、订房记录统计等。支持多维度数据分析和图表展示。
系统用户:管理普通用户和商家用户的信息,支持新增、修改、删除操作。提供用户权限分配功能。
民宿信息管理:审核商家发布的民宿信息,确保内容合规且质量达标。支持批量审核功能。
订房记录管理:审核用户的订房请求,确保交易流程规范。支持订单状态变更操作。
入住记录管理:管理用户的入住记录,记录实际入住时间及相关信息。支持导出数据功能。
订单售后管理:处理用户的退订或修改请求,协调商家与用户之间的矛盾。支持审批流程管理。
平台通知管理:发布通知消息给商家或用户,支持定时推送功能。记录消息发送状态。
系统管理:上传和管理首页轮播图,支持图片排序和删除操作。
网站公告管理:发布和管理公告内容,支持置顶和归档功能。
资源管理:管理新闻资讯和分类信息,支持新增、编辑和删除操作。
3.2.2 非功能性分析
基于Java的民宿管理系统设计与实现需要具备性能、可靠性、安全性、可用性、扩展性等非功能性特征。系统应在长时间运行中保持稳定,用户界面简洁直观;具备高效的数据处理和响应速度;采取安全措施保护用户信息;根据用户反馈调整推荐算法;方便用户进行民宿信息搜索和排序;易于维护和管理,支持与其他系统互操作。设计和开发过程中需注重这些要求,以提供高质量、用户友好和可信赖的系统体验。具体如下3-1表格:
表3-1民宿管理系统非功能需求表
| 非功能性要求 | 说明 |
| 性能 | 评估响应时间、并发用户数、吞吐量等指标,以确保系统稳定高效地运行。 |
| 可靠性 | 评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。 |
| 安全性 | 评估用户身份认证、数据加密和访问控制等,保护用户信息和交易的安全。 |
| 可用性 | 评估系统的稳定性、故障处理能力和用户界面友好性,提供良好的用户体验。 |
| 扩展性 | 评估系统的可扩展性和灵活性,以便根据需求进行功能扩展和升级。 |
3.3 系统用例分析
系统用例分析是对民宿管理系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在系统上的操作流程和交互方式,为系统设计和开发提供指导,并确保系统能够满足用户的需求和期望。
普通用户主要围绕民宿信息的浏览、预订及个人账户管理展开。用户通过首页或搜索功能查找感兴趣的民宿,查看详细信息后提交订房请求;在个人中心管理订房记录、入住记录和收藏列表;对已入住的民宿进行评价或申请订单售后处理。旨在为用户提供便捷的在线订房体验,并确保其能够高效管理个人相关数据。普通用户用例图如图3-1所示。

图3-1 普通用户角色用例图
商家用户聚焦于民宿信息的发布与管理以及订单处理。商家用户发布新的民宿信息或更新现有房源详情,审核用户的订房请求并确认入住安排;通过平台通知了解最新政策要求,同时管理用户对其民宿的评论内容并及时回复。旨在帮助商家高效运营民宿业务,提升服务质量与用户满意度。商家用户用例图如图3-2所示。

图3-2 商家用户角色用例图
管理员涉及系统整体管理和数据维护。管理员审核商家发布的民宿信息以保证平台内容质量,监控系统运行状态并生成运营数据统计报告;管理普通用户和商家用户的信息权限,处理订单售后问题以及发布平台公告。确保系统的正常运转,维护良好的平台秩序,并为决策提供数据支持。管理员角色用例图如图3-3所示。

3.4 系统流程分析
用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息。用户通过浏览器访问民宿管理系统,首先进入的是系统的登录页面。在登录页面,用户可以选择自己的账户角色,并输入相应的账号和密码。系统接收到用户的登录请求后,会将提供的账号和密码与数据库中存储的信息进行比对。如果账号或密码为空或者不匹配,则提示用户重新输入,并停留在登录界面。当账号和密码正确无误时,系统根据用户类型跳转到对应的首页界面。用户注册登录流程如下图所示。

图3-2 用户注册登录流程图
用户在线订房流程始于用户通过首页或搜索功能找到目标民宿,并点击查看详细信息。在确认房源的可用性、价格及设施等内容后,用户填写入住日期、离店日期、人数等必要信息并提交预订请求。系统验证用户输入数据的合法性,并检查房源库存是否充足。若条件满足,系统生成订单并向用户展示支付页面,用户完成支付后,订单状态更新为“已预订”,同时系统向商家和用户发送通知,通知商家审核,确保双方及时掌握订房情况。用户在线订房流程图如下图所示。

图3-3 在线订房流程图
商家审核订房记录流程从接收系统推送的订房请求开始,商家登录系统进入“个人中心-订房记录”模块,查看待审核的订单详情,包括用户信息、入住时间、离店时间及房间类型等。商家根据实际房源情况决定是否接受该订单,若同意则点击“已通过”按钮,系统自动更新订单状态为“已通过”,并向用户发送入住通知;若拒绝,则需注明原因并通知用户订单已被取消。整个流程确保了商家对房源的有效管控,同时保障用户的权益,提升了交易的透明度与效率。商家审核订房记录流程图如下图所示。

图3-4 商家审核订房记录流程图
4 民宿管理系统总体设计
4.1 系统架构设计
从技术角度来看,民宿管理系统的架构设计至关重要。我们将采用MVC架构,包括表现层、业务逻辑层和数据访问层。表现层负责用户界面展示,业务逻辑层处理核心功能逻辑,数据访问层负责数据库交互。通过三层架构模式,确保系统的可靠性和可扩展性。
系统架构图如图4-1所示。

图4-1 系统架构图
4.2 系统功能模块设计
通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。系统总体功能模块图如下图所示。
图4-2 民宿管理系统功能模块图
4.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1 数据库概念结构设计
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。下面是整个民宿管理系统中主要的数据库表总E-R实体关系图。
图4-3 民宿管理系统总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 | check_in_at_the_hotel_id | int | 10 | 0 | N | Y | 到店入住ID | |
| 2 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 3 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
| 4 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 5 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 6 | homestay_id | varchar | 64 | 0 | Y | N | 民宿类型 | |
| 7 | name_of_occupant | varchar | 64 | 0 | Y | N | 入住人姓名 | |
| 8 | guests_phone_number | varchar | 16 | 0 | Y | N | 入住人电话 | |
| 9 | room_prices | varchar | 64 | 0 | Y | N | 房间价格 | |
| 10 | check_in_time | date | 10 | 0 | Y | N | 入住时间 | |
| 11 | departure_time | date | 10 | 0 | Y | N | 离店时间 | |
| 12 | stay_days | double | 9 | 2 | Y | N | 0.00 | 入住天数 |
| 13 | number_of_rooms | double | 9 | 2 | Y | N | 0.00 | 房间数量 |
| 14 | total_order_price | double | 9 | 2 | Y | N | 0.00 | 订单总价 |
| 15 | order_remarks | text | 65535 | 0 | Y | N | 订单备注 | |
| 16 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 18 | 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: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | homestay_information_id | int | 10 | 0 | N | Y | 民宿信息ID | |
| 2 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 3 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 4 | homestay_cover | varchar | 255 | 0 | Y | N | 民宿封面 | |
| 5 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
| 6 | types_of_homestays | varchar | 64 | 0 | Y | N | 民宿类型 | |
| 7 | homestay_address | varchar | 64 | 0 | Y | N | 民宿地址 | |
| 8 | homestay_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 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 14 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 15 | recommend | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | homestay_room_types_id | int | 10 | 0 | N | Y | 民宿房型ID | |
| 2 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 3 | homestay_id | varchar | 64 | 0 | Y | N | 民宿类型 | |
| 4 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 5 | homestay_cover | varchar | 255 | 0 | Y | N | 民宿封面 | |
| 6 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
| 7 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 8 | number_of_rooms | double | 9 | 2 | Y | N | 0.00 | 房间数量 |
| 9 | room_type | varchar | 64 | 0 | Y | N | 房间类型 | |
| 10 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 11 | homestay_address | varchar | 64 | 0 | Y | N | 民宿地址 | |
| 12 | room_facilities | text | 65535 | 0 | Y | N | 房间设施 | |
| 13 | room_details | longtext | 2147483647 | 0 | Y | N | 房间详情 | |
| 14 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 15 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 16 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
| 17 | comment_len | int | 10 | 0 | N | N | 0 | 评论数 |
| 18 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 19 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 20 | reservation_card_limit_times | int | 10 | 0 | N | N | 0 | 在线订房限制次数 |
| 21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | merchant_users_id | int | 10 | 0 | N | Y | 商家用户ID | |
| 2 | merchant_name | varchar | 64 | 0 | Y | N | 商家姓名 | |
| 3 | merchant_phone_number | varchar | 16 | 0 | Y | N | 商家电话 | |
| 4 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 5 | homestay_address | varchar | 64 | 0 | Y | N | 民宿地址 | |
| 6 | business_license | varchar | 255 | 0 | Y | N | 营业执照 | |
| 7 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 8 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
表order_after_sales_service (订单售后)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | order_after_sales_service_id | int | 10 | 0 | N | Y | 订单售后ID | |
| 2 | user_account | int | 10 | 0 | Y | N | 0 | 用户账号 |
| 3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 4 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
| 5 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
| 6 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 7 | cancel_time | datetime | 19 | 0 | Y | N | 取消时间 | |
| 8 | reason_for_cancellation | text | 65535 | 0 | Y | N | 取消原因 | |
| 9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 13 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 14 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 15 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
| 2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 3 | user_phone_number | varchar | 16 | 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 | platform_notification_id | int | 10 | 0 | N | Y | 平台通知ID | |
| 2 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 3 | notification_name | varchar | 64 | 0 | Y | N | 通知名称 | |
| 4 | notification_time | datetime | 19 | 0 | Y | N | 通知时间 | |
| 5 | notification_information | text | 65535 | 0 | Y | N | 通知内容 | |
| 6 | reply_content | text | 65535 | 0 | Y | N | 回复内容 | |
| 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_card_id | int | 10 | 0 | N | Y | 订房记录ID | |
| 2 | user_account | int | 10 | 0 | Y | N | 0 | 用户账号 |
| 3 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
| 4 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 5 | homestay_id | varchar | 64 | 0 | Y | N | 民宿类型 | |
| 6 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 7 | room_name | varchar | 64 | 0 | Y | N | 房间名称 | |
| 8 | order_number | varchar | 64 | 0 | Y | N | 订单编号 | |
| 9 | order_time | datetime | 19 | 0 | Y | N | 订单时间 | |
| 10 | check_in_time | date | 10 | 0 | Y | N | 入住时间 | |
| 11 | departure_time | date | 10 | 0 | Y | N | 离店时间 | |
| 12 | room_prices | double | 9 | 2 | Y | N | 0.00 | 房间价格 |
| 13 | stay_days | double | 9 | 2 | Y | N | 0.00 | 入住天数 |
| 14 | number_of_reserved_rooms | double | 9 | 2 | Y | N | 0.00 | 预定房数 |
| 15 | reservation_period | varchar | 64 | 0 | Y | N | 预定时段 | |
| 16 | total_order_price | double | 9 | 2 | Y | N | 0.00 | 订单总价 |
| 17 | room_status | varchar | 64 | 0 | Y | N | 房间状态 | |
| 18 | order_remarks | text | 65535 | 0 | Y | N | 订单备注 | |
| 19 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 20 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 21 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 22 | order_after_sales_service_limit_times | int | 10 | 0 | N | N | 1 | 取消订单限制次数 |
| 23 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 24 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 25 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 26 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 27 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | scenic_cuisine_id | int | 10 | 0 | N | Y | 风景美食ID | |
| 2 | merchant_account | int | 10 | 0 | Y | N | 0 | 商家账号 |
| 3 | scenic_spot_name | varchar | 64 | 0 | Y | N | 景点名称 | |
| 4 | scenic_spot_cover | varchar | 255 | 0 | Y | N | 景点封面 | |
| 5 | types_of_tourist_attractions | varchar | 64 | 0 | Y | N | 景点类型 | |
| 6 | name_of_homestay | varchar | 64 | 0 | Y | N | 民宿名称 | |
| 7 | homestay_address | varchar | 64 | 0 | Y | N | 民宿地址 | |
| 8 | scenic_spot_address | text | 65535 | 0 | Y | N | 景点地址 | |
| 9 | scenic_spot_introduction | longtext | 2147483647 | 0 | Y | N | 景点介绍 | |
| 10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 12 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
| 13 | comment_len | int | 10 | 0 | N | N | 0 | 评论数 |
| 14 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 15 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 17 | 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: |
表slides (轮播图)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | types_of_homestays_id | int | 10 | 0 | N | Y | 民宿类型ID | |
| 2 | types_of_homestays | 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 | 更新时间 |
表upload (文件上传)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 文件类型 |
表user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 创建时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_chat_friend_id | int | 10 | 0 | N | Y | id | |
| 2 | user_id | int | 10 | 0 | N | N | 用户id | |
| 3 | friend_user_id | int | 10 | 0 | N | N | 用户好友id | |
| 4 | friend_user_name | varchar | 255 | 0 | Y | N | 好友名称 | |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_chat_group_id | int | 10 | 0 | N | Y | id | |
| 2 | group_id | int | 10 | 0 | Y | N | 群聊id | |
| 3 | group_name | varchar | 255 | 0 | Y | N | 群聊名称 | |
| 4 | user_id | int | 10 | 0 | Y | N | 用户id | |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_chat_read_id | varchar | 255 | 0 | N | Y | id | |
| 2 | user_id | int | 10 | 0 | Y | N | 接收人id | |
| 3 | send_user_id | int | 10 | 0 | Y | N | 发送人id | |
| 4 | group_id | int | 10 | 0 | Y | N | 群聊id | |
| 5 | type | int | 10 | 0 | Y | N | 类型1-点对点消息,2-群聊消息 | |
| 6 | create_time | timestamp | 19 | 0 | Y | N | CURRENT_TIMESTAMP | 时间 |
| 7 | message | text | 65535 | 0 | Y | N | 消息 |
表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.1 前台首页界面
首页是用户进入系统后的默认页面,集中展示最新的新闻资讯、热门民宿和重要公告等内容。页面支持分类筛选和关键词搜索功能,帮助用户快速定位感兴趣的信息,同时提供导航链接以便快速访问其他模块。
首页载入流程图如下所示。

图5-1 首页载入流程图
系统首页实现效果如下图5-2所示。
图5-2 前台首页界面图
5.1.2 用户注册界面
用户可以通过注册功能创建个人账号,填写包括用户名、密码、邮箱或手机号等基本信息完成注册流程。系统会对输入信息进行校验,确保唯一性和格式正确性,并将用户数据存储至数据库中,同时发送验证邮件或短信以确认账户有效性。注册流程图如下图5-3所示。

图5-3 注册流程图
用户注册界面展示如下图5-4所示。
图5-4注册界面图
注册关键代码如下:
/**
* 注册
* @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);
}
5.1.3 用户登录界面
用户登录模块允许用户通过输入用户名和密码进入系统,系统会验证凭据的正确性并生成会话令牌以保持登录状态。成功登录后,用户可直接跳转至首页或其他功能页面,未匹配的凭据则提示重新输入或找回密码。登录流程图如下图所示。

图5-5登录流程图
用户登录界面如下图5-6所示。
图5-6用户登录界面图
登录代码如下:
/**
* 登录
* @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, "账号或密码不正确");
}
}
5.1.4 网站公告界面
网站公告模块用于向所有用户发布重要信息,如网站介绍、政策变更和服务更新。管理员可以在后台管理系统中创建和管理公告内容,设置发布时间和有效期。前端通过专门的公告栏展示最新的公告信息,用户可以在网站公告模块查看详细内容。网站公告界面如下图5-7所示。
图5-7网站公告界面图
5.1.5 新闻资讯界面
新闻资讯模块为用户提供最新的民宿动态、新店开业等内容。该模块支持筛选排序搜索,方便用户按兴趣浏览。每篇新闻文章都配有标题、摘要、正文和图片,提升阅读体验。用户可以通过搜索栏查找特定内容,或点击标签筛选相关文章。此外,系统还提供了评论功能,鼓励用户互动交流,增加社区活跃度。新闻资讯界面如下图5-8所示。
图5-8新闻资讯界面图
查询新闻资讯列表的逻辑代码如下所示。
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
5.1.6 在线客服界面
在线客服模块为用户提供即时沟通渠道,通过嵌入式聊天窗口功能实现。用户可点击“在线客服”按钮进入聊天界面,输入问题后发送给平台客服或商家。系统支持消息实时推送,确保用户与客服之间的高效互动。此外,聊天记录会自动保存,用户可随时查看历史对话内容,方便后续跟进或查询。在线客服界面如下图5-9所示。
图5-9 在线客服界面图
发送聊天信息的逻辑代码如下所示。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
民宿信息模块是系统的核心功能之一,用于展示和管理房源详情。用户可通过首页推荐、分类筛选或关键词搜索快速定位目标民宿。每个民宿详情页包含基本信息、图片展示、设施列表及周边风景介绍等内容,并提供在线预订入口。用户还可对感兴趣的民宿进行点赞、收藏或评论操作,这些交互数据将被记录并反馈给商家,助力其优化服务。民宿信息详情界面如下图5-10所示。
图5-10民宿信息详情界面图
在线订房界面如下图5-11所示。
图5-11 在线订房界面图
提交在线订房信息的逻辑代码如下所示。
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
5.1.8个人中心界面
个人中心模块是用户管理个人信息和相关数据的核心区域。普通用户个人中心模块主要用于管理用户的个人数据及订单相关信息。用户登录后可访问个人首页,查看订房记录统计、入住记录统计等概览信息。模块内设多个子功能:订房记录支持订单状态查询与取消操作;入住记录展示已完成的订单详情;收藏列表允许用户管理已关注的民宿;评论管理则提供评价编辑与删除功能。所有操作均以直观的界面呈现,提升用户体验。普通用户个人中心界面如下图5-12所示。
图5-12普通用户个人中心界面图
商家用户个人中心模块专注于民宿运营与订单管理,帮助商家高效处理日常事务。个人首页通过图表形式展示关键运营数据,如入住率、订单量等,便于商家掌握整体情况。模块内包含民宿信息发布与管理功能,支持新增、修改或下架房源;订房记录模块用于审核用户的预订请求,确认是否接受订单;入住记录模块记录实际入住情况,辅助商家安排接待工作;评论管理模块则允许商家查看用户评价并及时回复,从而提升服务质量与口碑。商家用户个人中心界面如下图5-13所示。
图5-13 商家用户个人中心界面图
5.2管理员功能模块
5.2.1后台登录界面
管理员通过后台登录模块验证身份后进入管理系统,该模块支持账号密码登录,并可选择记住登录状态或进行双因素认证以增强安全性。登录失败时提供错误提示,确保管理员账户的安全性。后台登录界面如下图5-14所示。
图5-14 后台登录界面图
后台首页模块为管理员提供系统整体运营数据的概览,通过直观的图表和统计数据展示关键信息。模块包含用户数量、民宿信息统计、订房记录统计、入住记录统计等核心指标,支持多维度筛选与分析功能。管理员可通过该页面快速了解平台运行状况,并根据数据变化制定相应管理策略。后台首页界面如下图5-15所示。
图5-15 后台首页界面图
系统用户管理模块为超级管理员提供了全面的用户账户控制功能。超级管理员可以在此创建、编辑和删除用户账号,设置用户角色和权限,如管理员、普通用户和商家用户等。系统用户界面如下图5-16所示。
图5-16系统用户管理界面图
修改用户信息关键代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
5.2.4 民宿信息管理界面
民宿信息管理模块负责审核商家发布的房源信息,确保内容合规且质量达标。管理员可通过该模块查看待审核的民宿详情,包括名称、地址、图片、设施等信息,并决定是否通过审核,也可以添加新的民宿信息。民宿信息审核界面如下图5-17所示。
图5-17民宿信息审核界面图
入住记录审核关键代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
入住记录管理模块记录用户的实际入住情况,帮助管理员掌握房源使用状态。模块展示已完成入住的订单列表,包含入住时间、退房时间、用户评价等信息。管理员可管理相关数据,用于分析民宿运营情况或生成报表。入住记录管理界面如下图5-18所示。
图5-18 入住记录管理界面图
订单售后管理模块专注于处理用户的退订或修改请求。管理员可通过该模块查看售后申请详情,与商家和用户协商解决方案,并最终审批通过或拒绝请求。模块记录完整的售后处理流程,确保问题得到妥善解决。订单售后管理界面如下图5-19所示。
图5-19 订单售后管理界面图
5.2.7 平台通知管理界面
平台通知管理模块用于发布和管理面向商家或用户的公告信息。管理员可在模块中创建通知内容,设置接收对象和推送时间。模块还提供通知状态跟踪功能,方便管理员了解消息送达情况。平台通知添加界面如下图5-20所示。
图5-20 平台通知添加界面图
添加平台通知信息的逻辑代码如下所示。
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
5.2.8系统管理界面
轮播图管理模块帮助管理员设置和调整首页展示的轮播图内容。管理员可上传图片、配置链接地址及调整显示顺序,确保首页视觉效果吸引用户关注。同时,支持定时发布和撤回功能,灵活控制宣传内容的展示周期。系统轮播图管理界面如下图5-21所示。
图5-21系统轮播图管理界面图
轮播图上传关键代码如下:
@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, "上传失败");
}
资源管理模块分为新闻资讯和资讯分类两部分。管理员可在新闻资讯模块发布、编辑或删除文章;在资讯分类模块中新增、修改或删除分类,确保资讯内容的结构化管理。系统支持按分类筛选新闻,便于用户快速查找感兴趣的内容,同时支持定时发布功能,提高运营效率。资源管理界面如下图5-22所示。
图5-22 资源管理界面图
6系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对民宿管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。
本系统的主要功能就是普通用户登录后,可搜索和浏览民宿信息,并可进行在线订房;管理员登录系统后台后可对民宿信息等进行管理,包括增改删查操作。测试设计如下所示:
用户登录前首先需注册成为系统用户,使用账号和密码可进行登录。用户登录功能测试用例设计如下表所示:
表6-1 用户登录功功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证有效登录 | 1. 输入正确的用户名和密码 <br> 2. 点击登录按钮 | 显示登录成功,跳转至用户首页 | 登录成功,跳转至用户首页 | 通过 |
| TC002 | 验证空用户名登录 | 1. 不输入用户名,输入正确密码 <br> 2. 点击登录按钮 | 显示用户名不能为空提示信息 | 显示用户名不能为空提示信息 | 通过 |
| TC003 | 验证空密码登录 | 1. 输入正确用户名,不输入密码 <br> 2. 点击登录按钮 | 显示密码不能为空提示信息 | 显示密码不能为空提示信息 | 通过 |
| TC004 | 验证错误用户名登录 | 1. 输入错误的用户名和正确密码 <br> 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
| TC005 | 验证错误密码登录 | 1. 输入正确用户名和错误密码 <br> 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
- 民宿信息模块功能测试
民宿信息模块测试包括民宿信息展示功能测试、民宿信息添加功能测试、民宿信息搜索功能测试、在线订房功能测试。民宿信息模块测试用例如表6.2-6.5所示。
民宿信息展示功能测试用例设计如下表所示:
表6-2 民宿信息展示功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证正常展示民宿信息 | 1. 进入民宿信息展示页面 <br> 2. 浏览展示的民宿信息内容 | 能够正常显示民宿信息内容 | 民宿信息内容正常显示 | 通过 |
| TC002 | 验证民宿信息链接跳转 | 1. 进入民宿信息展示页面 <br> 2. 点击民宿信息链接 | 能够跳转至相应民宿信息详情页面 | 成功跳转至民宿信息详情页面 | 通过 |
| TC003 | 验证搜索功能 | 1. 进入民宿信息展示页面 <br> 2. 使用搜索功能搜索民宿信息 | 显示符合搜索条件的民宿信息列表 | 显示符合搜索条件的民宿信息列表 | 通过 |
| TC004 | 验证民宿类型展示 | 1. 进入民宿信息展示页面 <br> 2. 选择民宿类型 | 显示该分类下的民宿信息列表 | 成功显示该分类下的民宿信息列表 | 通过 |
| TC005 | 验证民宿信息的评论功能 | 1. 进入民宿信息详情展示页面 <br> 2. 查看民宿信息并发表评论 | 评论成功显示在民宿信息页面 | 评论成功显示在民宿信息页面 | 通过 |
| TC006 | 验证民宿信息在线订房页面跳转 | 1. 进入民宿信息详情展示页面 <br> 2. 点击在线订房按钮 | 能够跳转至相应在线订房页面 | 成功跳转至在线订房页面 | 通过 |
| TC007 | 验证在线订房页面跳转 | 1. 进入民宿信息详情展示页面 <br> 2. 点击在线订房按钮 | 能够跳转至相应在线订房页面 | 成功跳转至在线订房页面 | 通过 |
民宿信息添加功能测试用例设计如下表所示:
表6-3 民宿信息添加功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证添加民宿信息 | 1. 进入民宿信息添加界面 <br> 2. 输入民宿信息 <br> 3. 点击添加按钮 | 民宿信息成功添加到系统页面中 | 民宿信息成功添加到系统页面中 | 通过 |
| TC002 | 验证民宿信息民宿类型选择 | 1. 进入民宿信息添加界面 <br> 2. 选择民宿类型 <br> 3. 输入民宿信息 <br> 4. 提交民宿信息 | 根据选择的民宿信息民宿类型成功添加民宿信息 | 根据选择的民宿信息类型成功添加民宿信息 | 通过 |
| TC003 | 验证民宿信息内容输入 | 1. 进入民宿信息添加界面 <br> 2. 输入正确民宿信息内容和答案 <br> 3. 点击添加按钮 | 民宿信息内容成功录入系统 | 民宿信息内容成功录入系统 | 通过 |
| TC004 | 验证民宿信息图片上传 | 1. 进入民宿信息添加界面 <br> 2. 上传民宿信息相关图片 <br> 3. 点击添加按钮 | 图片成功上传并与民宿信息关联 | 图片成功上传并与民宿信息关联 | 通过 |
民宿信息搜索功能测试用例设计如下表所示:
表6-4 民宿信息搜索功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证民宿信息输入民宿类型搜索 | 1. 进入民宿信息搜索界面 <br> 2. 输入民宿类型 <br> 3. 确认并搜索 | 根据选择的民宿类型关键词显示相关民宿信息 | 根据选择的民宿类型关键词成功显示相关民宿信息 | 通过 |
| TC002 | 验证民宿信息输入民宿类型搜索 | 1. 进入民宿信息搜索界面 <br> 2. 输入民宿类型 <br> 3. 确认并搜索 | 根据选择的民宿类型关键词显示相关民宿信息 | 根据选择的民宿类型关键词成功显示相关民宿信息 | 通过 |
| TC003 | 验证民宿信息选择民宿名称搜索 | 1. 进入民宿信息搜索界面 <br> 2. 输入民宿名称 <br> 3. 确认并搜索 | 根据选择的民宿名称关键词显示相关民宿信息 | 根据选择的民宿名称关键词成功显示相关民宿信息 | 通过 |
在线订房功能测试用例设计如下表所示:
表6-5 在线订房功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证未输入订单备注,点击提交 | 1. 进入在线订房界面 <br> 2.未输入订单备注,点击提交 <br> 3. 点击提交按钮 | 提示请输入订单备注 | 提示请输入订单备注 | 通过 |
| TC002 | 验证未选择入住时间,点击提交 | 1. 进入在线订房界面 <br> 2.未未选择入住时间,点击提交 <br> 3. 点击提交按钮 | 提示请未选择入住时间 | 提示请未选择入住时间 | 通过 |
| TC003 | 验证未选择离店时间,点击提交 | 1. 进入在线订房界面 <br> 2.未选择离店时间,点击提交 <br> 3. 点击提交按钮 | 提示请选择离店时间 | 提示请选择离店时间 | 通过 |
(1)兼容性测试
表6-7 兼容性测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 兼容性_01 | 设备兼容性 | 测试系统在不同设备上的表现 | 在多种设备上访问系统并记录表现 | 系统在各种设备上都能正常加载和显示页面 |
| 兼容性_02 | 浏览器兼容性 | 测试系统在不同浏览器上的表现 | 在多种浏览器中访问系统并记录表现 | 系统在各种主流浏览器上都能正常加载和显示页面 |
| 兼容性_03 | 分辨率兼容性 | 测试系统在不同分辨率下的显示效果 | 在不同分辨率的设备上访问系统并记录表现 | 系统在各种分辨率下都能适应并正常显示内容 |
| 兼容性_04 | 操作系统兼容性 | 测试系统在不同操作系统上的运行情况 | 在不同操作系统上访问系统并记录表现 | 系统能够在常用操作系统上正常运行和显示 |
(2)性能测试
表6-8 性能测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 性能_01 | 负载测试 | 测试系统在正常负载下的性能 | 逐步增加用户数来模拟不同的负载情况 | 系统能够稳定处理并响应不同数量的用户请求 |
| 性能_02 | 压力测试 | 测试系统在极端负载下的性能 | 以超过系统承受极限的用户数来测试系统 | 系统能够在高负载情况下仍然保持正常运行 |
| 性能_03 | 并发测试 | 测试系统能同时处理多少并发用户请求 | 同时发送多个并发用户请求来测试系统性能 | 系统能够有效地处理多个并发请求 |
| 性能_04 | 数据量测试 | 测试系统在大数据量下的性能 | 向系统添加大量数据并测试系统响应时间 | 系统能够在大数据量情况下保持较快的响应时间 |
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到下单的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到下单目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
结论
在基于Spring Boot和Vue的民宿管理系统中,我们通过普通用户、商家用户以及管理员等角色的划分,实现了多层次的用户管理和权限控制。通过首页、网站公告、新闻资讯、在线客服、民宿信息等功能模块,提供了便捷高效的民宿管理体验。同时,点赞、收藏和发布评论等功能的引入,进一步增强了平台的交互性和用户满意度,有效保障了交易的公平性和平台的稳定运行。资源管理和公告管理的实施,不仅丰富了平台的内容,也促进了用户之间的信息交流与互动。
在未来的发展中,可以进一步优化系统的响应速度和用户体验,加强对用户行为的分析与挖掘,以实现个性化民宿推荐和精准营销。同时,结合大数据和人工智能技术,提升平台的智能化水平,为用户提供更加智能化、便捷化的服务。此外,加强对安全性的防护和隐私保护,是平台未来发展的重要方向之一,保障用户信息的安全与私密性,维护良好的用户口碑和品牌形象。
通过不断优化和创新,基于Spring Boot和Vue的民宿管理系统将更好地满足用户的多样化需求,成为用户信赖和选择的首要平台之一。通过本次项目,我不仅深入理解了Spring Boot和Vue技术的应用和民宿管理系统的设计思路,也积累了丰富的实际开发经验。未来,我将进一步优化系统的稳定性和安全性,引入更多智能化和个性化的功能,以更好地满足用户需求和市场变化。
参考文献
[1]戴亚哲,李尤,赵利宏,等.基于SpringBoot+Vue的文旅平台设计与研究[J].无线互联科技,2024,21(21):70-72.
[2]Zhang M .The Impact of E-commerce on BB Booking Platforms—Take the Aike Homestay as an Example[J].Hill Publishing,2024,8(10):
[3]Kapri S S ,Sharma A .Digital marketing impact on rural Homestay booking and role of destination image[J].Anatolia,2024,35(4):764-776.
[4]余正勇,何情税,施雄天,等.新质生产力赋能民宿产业高质量发展的机制及路径研究[J].河北旅游职业学院学报,2024,29(03):1-9.
[5]吴丽丽.乡村振兴背景下广东旅游民宿高质量发展研究[J].黑河学院学报,2024,15(07):51-53+98.
[6]刘若轩,王伟.文化和旅游融合背景下民宿业高质量发展对策研究[J].旅游与摄影,2024,(09):84-86.
[7]汤鑫,杨贞萍,杨灿,等.基于SpringBoot和Vue的图书馆座位预约系统的设计与实现[J].电脑知识与技术,2024,20(11):87-90.
[8]刘之禹.成都市青羊区民宿管理的问题与对策研究[D].电子科技大学,2024.
[9]鲁思媛.客房管理系统的设计与实现[J].电子技术,2024,53(02):156-157.
[10]曹紫薇.SY民宿服务营销策略优化研究[D].安徽财经大学,2024.DOI:10.26916/d.cnki.gahcc.2024.000009.
[11]Amira F Z ,Safiih M L ,Elayaraja A , et al.Assessing the sustainability of the homestay industry for the East Coast of Malaysia using the Delphi approach[J].Heliyon,2023,9(11):e21433-e21433.
[12]Ziyi L .Marketing Strategies of Huangshan Hotel Homestay Industry in the Post-Epidemic Period[J].SHS Web of Conferences,2023,155
[13]陈长松.个性化推荐民宿在线预定平台的设计与实现[D].南昌大学,2021.
[14]周安婷.海南A民宿企业运营管理研究[D].海南大学,2021.
[15]宁朊.民宿房东回复在线负面评论对消费者预定意愿的影响[D].湖南师范大学,2021.
[16]张美娟.共享民宿平台多元主体协同治理的影响因素研究[D].电子科技大学,2021.
[17]王凯,民宿旅游管理平台V1.0.陕西省,陕西弈聪软件信息技术股份有限公司,2021-02-02.
[18]李航涛,申圣男,陈森,等.民宿门禁卡自助存取管理系统[J].科技风,2020,(19):86+89.
[19]刘羽嘉,潘滨,李东泽,等.民宿无人值守智能管理系统设计与实现[J].工程设计学报,2020,27(03):389-397.
[20]宋一诺.基于信任视角的共享民宿预定量影响因素研究[D].山东财经大学,2020.
致 谢
时光荏苒,大学的学业生涯即将画上美好的句号。在这段时光里,我深感老师的热情与友谊,校长对学生的关爱深深印在我的心中。老师们时常关心我们的生活状况,关切我们的旅游、寝室和学习环境,使我们感受到了温馨与关怀。在此,我想表达对那些曾经给予我帮助的人们的深深感激之情。
首先,我要衷心感谢我的导师。无论是在学业上还是生活中,您都给予我巨大的支持与启发。这些年来,在您的教导下,我不仅学到了丰富的知识,还领悟了做人的真谛。您的认真和待人之道让我受益匪浅,我感激能够成为您的学生。
同时,感谢我的专业课老师们。没有你们的精心教导,我的论文也不可能如此顺利。我所学到的知识将成为我未来发展的重要动力。
感谢同学们,写作过程中遇到的问题,得到了同学们的耐心指导和丰富参考材料。你们给予了我很多帮助,感谢你们对我的支持。
最后,感谢我的父母,是你们的支持和鼓励让我能够顺利完成学业。你们为我付出了辛勤的努力和无私的关爱,是我坚强前行的后盾。在即将离开校园,我深感家庭的温馨和爱意,这些将是我未来奋斗的力量源泉。
感谢你们一直以来的支持和陪伴,让我在大学的日子里无论遇到什么困难都感到温馨而坚定。未来,我将以更加饱满的热情投入社会工作,为家人和自己创造更美好的未来。再次感谢大家的陪伴与关爱!
请关注点赞+私信博主,免费领取项目源码
1911

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



