338 lines
11 KiB
Markdown
338 lines
11 KiB
Markdown
# 旅游宣传管理系统 - 功能规格说明书
|
||
|
||
## 一、项目概述
|
||
|
||
### 1.1 项目背景
|
||
随着旅游业的发展需要一个统一的平台来展示景点、售卖纪念品、管理旅游业务
|
||
|
||
### 1.2 项目目标
|
||
- 为游客提供便捷的景点信息浏览和纪念品购买服务
|
||
- 为管理者提供高效的后台运营管理功能
|
||
- 为服务提供者提供数据支持和业务管理接口
|
||
|
||
### 1.3 系统架构
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 用户端 (Vue) │
|
||
│ 景点展示 | 纪念品商城 | 订单管理 | 用户中心 | 游记分享 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 管理端 (Vue) │
|
||
│ 用户管理 | 景点管理 | 商品管理 | 订单管理 | 数据统计 | 系统设置 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 服务端 (SpringBoot) │
|
||
│ 用户服务 | 景点服务 | 商品服务 | 订单服务 | 支付服务 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ MySQL 数据库 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 二、用户端功能设计
|
||
|
||
### 2.1 首页模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 轮播图展示 | 展示热门景点、活动公告、促销信息 |
|
||
| 景点推荐 | 基于算法推荐热门景点,支持分类筛选 |
|
||
| 商品推荐 | 展示热销纪念品、新品上架 |
|
||
| 游记精选 | 展示用户发布的优质游记 |
|
||
|
||
### 2.2 景点展示模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 景点列表 | 支持分类(自然风光、人文历史、主题公园等)、地区筛选 |
|
||
| 景点详情 | 景点介绍、图片视频展示、开放时间、门票价格 |
|
||
| 智能导览 | 景点内部分区图、游览路线推荐 |
|
||
| 在线预订 | 门票预订、人数限制、时段选择 |
|
||
| 收藏分享 | 收藏景点、分享到社交平台 |
|
||
| 用户评价 | 查看其他用户评价、发表心得 |
|
||
|
||
### 2.3 纪念品商城模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 商品列表 | 分类浏览(特产、工艺品、服饰、文创等)、搜索、排序 |
|
||
| 商品详情 | 商品图片、视频、规格选择、价格、库存 |
|
||
| 购物车 | 添加/删除商品、数量修改、合计金额 |
|
||
| 订单确认 | 收货地址选择、配送方式选择、优惠抵扣 |
|
||
| 在线支付 | 支付宝支付(沙箱环境) |
|
||
| 订单管理 | 查看订单、取消订单、申请退款、确认收货 |
|
||
|
||
### 2.4 游记分享模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 游记列表 | 按景点、热度、时间筛选 |
|
||
| 发布游记 | 文字、图片、视频编辑,关联景点 |
|
||
| 游记详情 | 浏览、点赞、评论、收藏 |
|
||
| 个人游记 | 管理自己发布的游记 |
|
||
|
||
### 2.5 个人中心模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 登录注册 | 手机号、邮箱、第三方登录 |
|
||
| 个人信息 | 头像、昵称、简介、修改密码 |
|
||
| 我的订单 | 景点订单、商品订单、全部/待支付/待发货/已完成 |
|
||
| 我的收藏 | 收藏的景点、商品、游记 |
|
||
| 地址管理 | 收货地址增删改查、设为默认 |
|
||
| 消息通知 | 系统通知、订单状态、互动消息 |
|
||
|
||
---
|
||
|
||
## 三、管理端功能设计
|
||
|
||
### 3.1 系统管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 管理员管理 | 增删改查管理员、角色分配(超级管理员、内容管理员、订单管理员) |
|
||
| 角色权限 | 不同角色功能权限控制 |
|
||
| 操作日志 | 记录管理员操作行为 |
|
||
|
||
### 3.2 用户管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 用户列表 | 查看所有注册用户、条件筛选 |
|
||
| 用户详情 | 基本信息、订单记录、收藏记录 |
|
||
| 禁用/启用 | 异常用户处理 |
|
||
|
||
### 3.3 景点管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 景点列表 | 增删改查、上下架、分类管理 |
|
||
| 景点编辑 | 基础信息、图片视频、富文本介绍 |
|
||
| 门票管理 | 票种设置(成人票、儿童票、老人票)、价格设置 |
|
||
| 预订设置 | 每日限额、开放时段、退改政策 |
|
||
| 评价管理 | 查看/隐藏/回复用户评价 |
|
||
|
||
### 3.4 商品管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 商品列表 | 增删改查、上下架、分类管理 |
|
||
| 商品编辑 | 名称、描述、图片视频、规格、价格、库存 |
|
||
| 分类管理 | 商品一级/二级分类 |
|
||
| 库存预警 | 库存不足提醒 |
|
||
|
||
### 3.5 订单管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 景点订单 | 订单列表、订单详情、状态变更(待使用/已使用/已取消) |
|
||
| 商品订单 | 订单列表、发货处理、物流跟踪、退款处理 |
|
||
| 退款管理 | 退款审核、退款进度 |
|
||
|
||
### 3.6 游记管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 游记列表 | 审核状态筛选(待审核/已发布/已下架) |
|
||
| 内容审核 | 审核游记内容、违规处理 |
|
||
| 评论管理 | 查看/隐藏/删除用户评论 |
|
||
|
||
### 3.7 内容管理模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 轮播图管理 | 首页轮播图增删改、链接跳转设置 |
|
||
| 公告管理 | 系统公告、活动通知发布 |
|
||
| 热门关键词 | 搜索关键词配置 |
|
||
|
||
### 3.8 数据统计模块
|
||
| 功能 | 描述 |
|
||
|------|------|
|
||
| 运营概览 | 今日订单、GMV、访问量、注册用户数 |
|
||
| 销售报表 | 按日/周/月/年统计销售额、订单量 |
|
||
| 景点报表 | 景点预订排名、热度分析 |
|
||
| 商品报表 | 商品销售排行、库存分析 |
|
||
| 用户报表 | 新增用户、活跃用户、留存分析 |
|
||
|
||
---
|
||
|
||
## 四、服务端接口设计
|
||
|
||
### 4.1 用户服务
|
||
- 用户注册/登录/登出
|
||
- Sa-Token 认证授权
|
||
- 第三方登录(微信)
|
||
- 密码找回
|
||
|
||
### 4.2 景点服务
|
||
- 景点CRUD
|
||
- 门票预订
|
||
- 预订取消/改签
|
||
|
||
### 4.3 商品服务
|
||
- 商品CRUD
|
||
- 购物车操作
|
||
- 订单创建/支付/发货/收货
|
||
|
||
### 4.4 支付服务
|
||
- 支付宝沙箱统一下单
|
||
- 支付回调处理
|
||
- 退款接口
|
||
|
||
### 4.5 文件服务
|
||
- 图片/视频上传
|
||
- RustFS 分布式文件存储
|
||
|
||
---
|
||
|
||
## 五、数据库设计概要
|
||
|
||
### 5.1 核心表结构
|
||
|
||
| 表名 | 说明 |
|
||
|------|------|
|
||
| `user` | 用户表 |
|
||
| `admin` | 管理员表 |
|
||
| `role` | 角色表 |
|
||
| `attraction` | 景点表 |
|
||
| `attraction_category` | 景点分类表 |
|
||
| `ticket` | 门票表 |
|
||
| `attraction_order` | 景点订单表 |
|
||
| `product` | 商品表 |
|
||
| `product_category` | 商品分类表 |
|
||
| `sku` | 商品规格表 |
|
||
| `cart` | 购物车表 |
|
||
| `product_order` | 商品订单表 |
|
||
| `travel_note` | 游记表 |
|
||
| `comment` | 评论表 |
|
||
| `favorite` | 收藏表 |
|
||
| `address` | 收货地址表 |
|
||
| `banner` | 轮播图表 |
|
||
| `announcement` | 公告表 |
|
||
|
||
### 5.2 实体关系
|
||
```
|
||
User 1──n AttractionOrder
|
||
User 1──n ProductOrder
|
||
User 1──n Cart
|
||
User 1──n TravelNote
|
||
User 1──n Favorite
|
||
User 1──n Address
|
||
|
||
Attraction 1──n Ticket
|
||
Attraction 1──n TravelNote
|
||
Attraction 1──n Comment
|
||
|
||
Product 1──n Sku
|
||
Product 1──n ProductOrder
|
||
```
|
||
|
||
---
|
||
|
||
## 六、技术架构
|
||
|
||
### 6.1 前端技术
|
||
| 端 | 技术栈 |
|
||
|----|--------|
|
||
| 用户端 | Vue3 + Vite + Pinia + Vue Router + Element Plus |
|
||
| 管理端 | Vue3 + Vite + Pinia + Vue Router + Element Plus |
|
||
|
||
### 6.2 后端技术
|
||
| 层级 | 技术 |
|
||
|------|------|
|
||
| 核心框架 | SpringBoot 4.x |
|
||
| ORM | MyBatis-Plus |
|
||
| 安全框架 | Sa-Token |
|
||
| 缓存 | Redis |
|
||
| 文件存储 | RustFS |
|
||
| 支付 | 支付宝沙箱SDK |
|
||
|
||
### 6.3 数据库
|
||
- MySQL 8.0
|
||
|
||
### 6.4 运行环境
|
||
- JDK 21
|
||
- 后端 IDE:IDEA
|
||
- 前端 IDE:VS Code
|
||
- 版本控制:Git
|
||
|
||
---
|
||
|
||
## 七、后端包结构
|
||
|
||
```
|
||
com.tourism/
|
||
├── TourismApplication.java # 启动类
|
||
├── common/ # 公共模块
|
||
│ ├── config/ # 配置类
|
||
│ ├── constant/ # 常量
|
||
│ ├── enums/ # 枚举
|
||
│ ├── exception/ # 异常处理
|
||
│ └── utils/ # 工具类
|
||
├── user/ # 用户模块
|
||
│ ├── controller/ # 用户控制器
|
||
│ ├── service/ # 用户服务
|
||
│ ├── entity/ # 用户实体
|
||
│ ├── mapper/ # 用户DAO
|
||
│ └── dto/ # 数据传输对象
|
||
├── attraction/ # 景点模块
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
├── product/ # 商品模块
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
├── order/ # 订单模块(景点订单+商品订单)
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
├── travel/ # 游记模块
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
├── admin/ # 管理端模块
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
├── payment/ # 支付模块
|
||
│ ├── controller/
|
||
│ ├── service/
|
||
│ ├── entity/
|
||
│ ├── mapper/
|
||
│ └── dto/
|
||
└── file/ # 文件模块
|
||
├── controller/
|
||
├── service/
|
||
└── config/
|
||
```
|
||
|
||
---
|
||
|
||
## 八、开发计划建议
|
||
|
||
### 第一阶段(基础功能)
|
||
1. 项目搭建(SpringBoot + Vue项目初始化)
|
||
2. 数据库设计实现
|
||
3. 用户注册登录功能
|
||
4. 管理员登录
|
||
|
||
### 第二阶段(核心功能)
|
||
1. 景点管理(CRUD、分类)
|
||
2. 景点展示、预订
|
||
3. 商品管理(CRUD、分类)
|
||
4. 商品展示、购物车、订单
|
||
|
||
### 第三阶段(完善功能)
|
||
1. 游记发布、评论
|
||
2. 支付功能集成
|
||
3. 数据统计
|
||
4. 性能优化
|
||
|
||
---
|
||
|
||
## 版本信息
|
||
- 文档版本:V1.0
|
||
- 创建日期:2026-05-26
|
||
- 作者:毕业设计
|