系统概述
随着信息技术的快速发展,智慧旅游逐渐成为提升旅游体验的重要方向。桂林作为中国著名的旅游城市,拥有丰富的自然景观和人文资源,但传统的旅游信息服务模式存在信息分散、更新滞后、用户体验不佳等问题。游客在规划行程时往往需要从多个平台获取信息,效率较低。因此,开发一个集景点介绍、路线规划、用户评价等功能于一体的智能化导游平台具有重要的现实意义。该平台旨在通过技术手段整合桂林旅游资源,为游客提供一站式服务,提升旅游体验的便捷性和个性化。
本系统采用前后端分离架构,后端基于 SpringBoot2 框架搭建,结合 MyBatis-Plus 实现高效的数据操作,数据库选用 MySQL8.0 以支持高并发访问。前端使用 Vue3 框架开发,利用其响应式特性提升用户交互体验。系统功能涵盖景点信息展示、用户评论管理、路线推荐、订单管理等模块,并通过 JWT 实现安全的用户认证。系统设计注重可扩展性和可维护性,采用 RESTful API 规范进行接口设计,确保前后端高效协作。
技术栈选型
后端技术
- 框架:SpringBoot 2.7.x + Spring Security
- 持久层:MyBatis-Plus
- 缓存:Redis 6.x
- 消息队列:RabbitMQ 3.9
前端技术
- Vue 3.x + Element Plus
- ECharts 5.0 数据可视化
- Axios HTTP 客户端
数据库设计
景点信息数据表
景点信息数据表用于存储桂林旅游景点的详细信息,包括名称、描述、地理位置等属性。创建时间通过函数自动获取,景点 ID 是该表的主键,用于唯一标识每条记录。结构如表 1 所示。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| scenic_id | BIGINT | 景点 ID,主键 |
| scenic_name | VARCHAR(50) | 景点名称 |
| scenic_desc | TEXT | 景点详细描述 |
| location | VARCHAR(100) | 地理位置坐标 |
| open_time | VARCHAR(20) | 开放时间 |
| ticket_price | DECIMAL(10,2) | 门票价格 |
| create_time | DATETIME | 创建时间 |
| update_time | DATETIME | 更新时间 |
用户评论数据表
用户评论数据表用于存储游客对景点的评价内容,包括评分、评论内容等。评论 ID 为主键,用户 ID 和景点 ID 作为外键关联。结构如表 2 所示。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| comment_id | BIGINT | 评论 ID,主键 |
| user_id | BIGINT | 用户 ID,外键 |
| scenic_id | BIGINT | 景点 ID,外键 |
| comment_content | TEXT | 评论内容 |
| rating | TINYINT | 评分(1-5 星) |
| create_time | DATETIME | 创建时间 |
旅游路线数据表
旅游路线数据表用于存储系统推荐的旅游路线信息,包括路线名称、景点组合等。路线 ID 为主键,创建时间自动生成。结构如表 3 所示。
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| route_id | BIGINT | 路线 ID,主键 |
| route_name | VARCHAR(50) | 路线名称 |
| scenic_list | TEXT | 景点 ID 列表(JSON 格式) |
| route_desc | TEXT | 路线描述 |
| create_time | DATETIME | 创建时间 |


