Gitee仓库地址:travel-server:景点旅游项目服务端
文章目录
1.项目服务架构
经过分析,该个性化景点旅游推荐系统采用微服务架构,分为8大服务:用户服务、景点服务、票务服务、统计服务、推荐服务、活动服务、搜索服务以及第三方服务(OSS阿里云服务)
-
用户服务
-
用户登录、注册
-
用户每日签到
-
-
景点服务
- 景点管理
- 景点点赞、收藏、评论
-
票务服务
- 订门票
- 支付
- 评分
-
统计服务
- 排行榜(点击数/点赞数/收藏数/评论数)
- 敏感词过滤
-
推荐服务
-
活动服务
- 特色活动
-
搜索服务:
- 景点的搜索和筛选功能,支持多维度的条件查询
其中,核心业务有
- 景点的点赞收藏(RabbitMQ、Redis)
- 购买门票(全局id、分布式锁)
- 评论内容的敏感词过滤(基于DFA 有穷自动机算法)
- 排行榜功能实现(Redis)
2.数据库设计
2.1用户服务—travel_ums
2.1.1 ums_user—用户表
字段名 | 字段类型 | 是否为主键 | 是否有唯一约束 | 是否有非空约束 | 注释 |
---|---|---|---|---|---|
user_id | int | 是 | 是 | 是 | 用户id,自增 |
username | varchar(20) | 是 | 用户名,唯一 | ||
phone | varchar(20) | 是 | 是 | 手机号码,唯一,非空 | |
password | varchar(20) | 是 | 密码,非空 | ||
age | int | 年龄 | |||
sex | int | 性别【0-男,1-女】 | |||
avatar_image | varchar(200) | 头像图片 | |||
role | int | 是 | 角色【0-普通用户,1-管理员,2-超级管理员】 | ||
add_time | datetime | 是 | 添加时间 | ||
update_time | datetime | 修改时间 |
2.2景点服务—travel_ams
2.2.1 ams_attraction—景点表
字段名 | 字段类型 | 是否为主键 | 是否有唯一约束 | 是否有非空约束 | 注释 |
---|---|---|---|---|---|
attraction_id | int | 是 | 景点id,自增 | ||
attraction_name | varchar(20) | 景点名称 | |||
resource_type_id | int | 景点资源类型id | |||
quality_grade | int | 景点等级 | |||
province_city | varchar(20) | 景点所在省份城市 | |||
location | varchar(50) | 详细位置 | |||
open_hour | varchar(50) | 开放时间 | |||
phone | 电话 | ||||
introduction | varchar(300) | 景点介绍 | |||
images | varchar(200) | 景点图片列表 | |||
staus | int | 状态【1为显示,0为不显示】 | |||
add_time | datetime | 添加时间 | |||
update_time | datetime | 修改时间 |