# 影易购在线购票
### 一、介绍
影易购是模仿猫眼电影(官方网址:https://www.maoyan.com )完成的个人项目(最终用于毕业论文),主要功能是提供在线的电影票购买。该项目更多的是作为练手项目,以学习为主,功能为辅,整合使用了多种目前比较主流的技术和框架,部分功能因开发时间的问题尚未完成(集中在后台管理系统)。另外,因为客户端模块采用了前后端分离的开发模式,本仓库不包含客户端的静态展示页面,静态资源请访问:https://gitee.com/xiaobowen-hz/yingyigou-html ),后台管理系统包含页面和js等静态资源
### 二、软件架构
B/S架构。该项目基于浏览器和服务器的网络架构模式开发,客户端模块采用了前后端分离的开发模式。
### 三、核心技术
`springboot`、`mysql`、`redis`、`rabbitMQ`、`minio`、`elasticseach`、`mybatis`、`Dubbo`、`zookeeper`
### 四、安装教程
1. 该项目运行在maven环境下,先下载安装maven
2. 项目中使用了uid-generator生成订单ID,依赖于jdk8;安装uid-generator源码到maven的本地仓库
uid源码介绍:https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md
3. 搭建mysql数据库环境,执行" https://gitee.com/xiaobowen-hz/yingyigou-html "提供的"yingyigou-movie.sql"生成数据库和表
4. 项目中使用rabbitMQ作为消息队列;搭建rabbitMQ环境。项目中使用了延时队列来释放过期订单占用的座位,请额外安装延时队列插件
5. 项目中使用elasticseach作为搜索引擎;搭建elasticseach环境
6. 项目中使用redis作为缓存;搭建redis环境
7. 项目中使用minio作为文件服务器;搭建minio环境
8. 项目中使用Nginx作为备用的文件服务器;搭建nginx环境
9. 项目中使用zookeeper作为注册中心;搭建zookeeper环境
### 五、使用说明
1. 首先,需要完成所有的安装步骤;然后再修改各大模块中后缀为.yml配置文件中的连接参数。
2. 该项目分为五大boot子项目,分别是客户端web服务、后台系统web服务、消费者远程服务、业务层远程服务提供者和es业务远程服务提供者。启动客户端服务前请务必先启动后台管理服务对搜索引擎的环境进行初始化,并提前预热影片的数据到引擎和缓存中;预热需要开启消费者服务后才能完成任务。
模块一: 客户端web服务(客户端),用于客户端的请求处理,使用了前后端分离,请务必保证跨域配置正确
模块二: 后台系统web服务务(管理端),用于后台管理系统的请求处理
模块三: 消费者远程服务(队列消费者),用于监听消息队列的消息
模块四: 业务层远程服务提供者(业务服务),用于提供常规的远程业务服务
模块五: es业务远程服务提供者(搜索中心),用于提供与搜索引擎有关的远程业务服务
### 六、项目服务介绍
以下模块介绍可能仅对部分业务流程列出说明,更多其他说明或详情介绍请观阅源码注释
#### 1、客户端
##### 1-1 页面介绍和说明
客户端大致包含影片首页、影片详情页、影院选择页、场次选择页、位置选择页、支付页、客户中心等静态页面
1. 首页和影片详情页介绍请参考电影模块
2. 影院选择页主要是根据影片的ID、影院的品牌和影院安排的日程筛选符合要求的影院列表,并将查询结果进行逻辑分页并展示到页面
3. 场次选择页主要是根据影院ID查找影院详情和根据影片ID、影院ID和播放的开始日期查询当天的所有场次详情
4. 位置选择页主要是根据场次信息的ID查询场次的详情信息和订单的创建,订单创建参考选座购票的订单创建
5. 支付页主要包括了订单的查询和订单的支付
##### 1-2 页面展示
###### 首页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%A6%96%E9%A1%B5.png)
###### 详情页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/影片详情.png)
###### 评论页面
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/评论页面.png)
###### 影院选择页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/影院选择.png)
###### 场次选择页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/场次选择页.png)
###### 位置选择页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/位置选择页.png)
###### 支付页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/支付页.png)
###### 客户中心页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/客户中心页.png)
###### 搜索页
![](https://gitee.com/xiaobowen-hz/yingyigou-parent/raw/subbranck-boot/yingyigou-web-admin/src/main/resources/static/images/yingyigou/搜索页面.png)
##### 1-3 模块业务说明
###### 电影模块
客户端的电影模块完成的主要是对影片进行一系列复杂的查询操作。首先,进入影片首页,是查询所有的影片信息用于展示热播榜和评分榜。这里没有使用搜索引擎(刚开始没有解决es查询所有数据时只返回至多10条记录的限制)和分页,不分页是因为两个榜单使用了同一个查询,而评分榜和热播榜的排序规则又不一样;所以,这里使用了js进行排序。然后,影片详情页展示了影片的详细信息和评论信息(评论展示使用了逻辑分页),这里也可以对影片进行评分和写评论。其中,主要逻辑还是围绕影片详情的数据模型而展开的处理,包含影片的多表联查(影片信息+演员+导演);因为影片详情的查询是完全基于java代码完成的联表操作,循环和查表比较多,所以这里将影片详情的数据缓存到了redis。下一次查询便会优先从缓存中获取,以便提高查询效率。针对评论功能,详细介绍请参考评论模块。点击购票后,首先进入的是影院选择页。影院选择有关电影的操作比较简单,就是到缓存获取影片的基本信息;如果缓存没有,就到数据库查询,数据结构也简单。涉及到的主要逻辑还是关于影院的查询,详细介绍请参考影院模块;评论功能参考评论模块。
(略...)
###### 评论模块
除了根据影片ID查询影评的功能外(用于影片详情页的影评展示),所有的增删改查功能都做了登录拦截,未登录用户不能操作。
###### 影院模块
影院选择的主要逻辑是围绕影院的基本信息展开的多表多条件筛选处理。筛选过程介绍,第一步:如果选中了影院的品牌,首先会根据影院品牌去查询符合条件的所有影院,然后结合影片ID进行筛选;如果没有选中品牌,将会直接查询所有的影院,然后根据影片ID筛选。第二步:根据影片ID查询所有有关该影片的放映排期(即场次信息),并根据场次反向搜索所有的影院,然后根据放映的时间筛选符合条件的影院信息。第三步:进一步合并第一步和第二步的筛选结果并分页。影
没有合适的资源?快使用搜索试试~ 我知道了~
Java毕业设计-影院选座购票系统(前后端源码+数据库).zip
共329个文件
java:121个
js:52个
jpg:38个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2024-12-19
13:29:44
上传
评论
收藏 13.26MB ZIP 举报
温馨提示
B/S架构。该项目基于浏览器和服务器的网络架构模式开发,客户端模块采用了前后端分离的开发模式。 三、核心技术 springboot、mysql、redis、rabbitMQ、minio、elasticseach、mybatis、Dubbo、zookeeper 四、安装教程 该项目运行在maven环境下,先下载安装maven 项目中使用了uid-generator生成订单ID,依赖于jdk8;安装uid-generator源码到maven的本地仓库 uid源码介绍:https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md 搭建mysql数据库环境,执行" https://gitee.com/xiaobowen-hz/yingyigou-html "提供的"yingyigou-movie.sql"生成数据库和表 项目中使用rabbitMQ作为消息队列;搭建rabbitMQ环境。项目中使用了延时队列来释放过期订单占用的座位,请额外安装延时队列插件 项目中使用elasticseach作为搜索引擎;搭建elastic
资源推荐
资源详情
资源评论
收起资源包目录
Java毕业设计-影院选座购票系统(前后端源码+数据库).zip (329个子文件)
index.css 227KB
bootstrap.css 143KB
bootstrap.min.css 118KB
layui.css 91KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
index.css 15KB
layer.css 14KB
layui.mobile.css 10KB
buySeat.css 8KB
laydate.css 7KB
manage.css 6KB
main2.css 4KB
modify.css 4KB
header.css 4KB
main.css 3KB
login.css 3KB
style.css 3KB
code.css 1KB
footer.css 359B
iconfont.eot 41KB
glyphicons-halflings-regular.eot 20KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-1.gif 701B
.gitignore 4KB
movie.html 40KB
cinema.html 30KB
hall.html 29KB
schedule.html 15KB
order.html 6KB
user.html 6KB
comment.html 6KB
header.html 3KB
login.html 2KB
init.html 2KB
CinemaServiceImpl.java 42KB
Constants.java 15KB
CustomPageAndNavigate.java 14KB
MovieServiceImpl.java 14KB
ElasticsearchServiceImpl.java 14KB
CinemaManageController.java 14KB
OrderServiceImpl.java 13KB
ImgUrl.java 11KB
OrderVO.java 11KB
AppConfig.java 10KB
ResponseVO.java 9KB
CinemaService.java 8KB
MovieManageController.java 7KB
UserServiceImpl.java 7KB
CommentServiceImpl.java 6KB
PayServiceImpl.java 6KB
UploadAndDownload.java 5KB
MovieWeb.java 5KB
MovieVO.java 4KB
UpdateDataToRedisImpl.java 4KB
UserWeb.java 4KB
LoginWeb.java 4KB
MergeSearchResult.java 4KB
IdempotencyInterceptor.java 4KB
RandomAttributeBuilder.java 4KB
MovieService.java 4KB
MovieModuleConsumerBase.java 4KB
LoginServiceImpl.java 3KB
OrderWeb.java 3KB
LoginRequestInterceptor.java 3KB
CinemaWeb.java 3KB
CommentWeb.java 3KB
DirectorController.java 3KB
ActorController.java 2KB
ScheduleDao.java 2KB
AuthenticationInterceptor.java 2KB
HallVO.java 2KB
DataFormatValidator.java 2KB
OrderDao.java 2KB
DelayModuleConsumerBase.java 2KB
ListTypeHandler.java 2KB
TimedTask.java 2KB
UserVO.java 2KB
Md5Security.java 2KB
MovieDao.java 2KB
ScheduleWeb.java 2KB
CinemaVO.java 2KB
ScheduleVO.java 2KB
TransformSearchResult.java 2KB
OrderService.java 2KB
UserService.java 2KB
CommentService.java 2KB
DisposableWorkerIdAssigner.java 2KB
UpdateLoginTimeInterceptor.java 1KB
DirectorServiceImpl.java 1KB
ElasticsearchService.java 1KB
ElasticsearchWeb.java 1KB
IsInterceptorToPreHandle.java 1KB
MinioProperties.java 1KB
Movie.java 1KB
OtherSource.java 1KB
UpdateDataToRedis.java 1KB
ActorServiceImpl.java 1KB
PayModuleConsumerBase.java 1KB
共 329 条
- 1
- 2
- 3
- 4
资源评论
荒野大飞
- 粉丝: 1w+
- 资源: 2655
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功