# 总结
[项目构想](#1)
[技术选型](#2)
[项目后端具体实现](#3)
[项目前端实现记录](#4)
[项目部署](#5)
[项目改进日记](#6)
# <span id="1">1.项目构想</span>
## 1.维基百科介绍
中国铁路客户服务中心,俗称12306网站,是中国国家铁路集团有限公司下属的信息服务网站,基于中国铁道科学研究院所设计的“铁路客票发售及预订系统”创建。
## 2.中国铁路在线购票网站介绍
众所周知,12306是我国的主要铁路在线购票网站,一般情况下,我们购买火车票时会选择下载12306手机客户端。此外,国家也通过12306平台向在校大学生提供上学和返校时乘车的半价优惠政策。近年来,随着春运、寒暑假期和外出打工等原因,在中国的13亿人口中每天都有无数人通过12306网站购买火车票。12306网站不仅能够及时响应需求,还能保障数据的安全,这个项目毫无疑问是非常强大和可靠的。
## 3.关于12307
因此,我决定以12306为灵感,打造自己的铁路购票项目——12307在线售票项目!
# <span id="2">2.技术选型</span>
## 1.编程语言
近年来,随着互联网的蓬勃发展,各大编程语言都以令人惊叹的速度迅猛发展。在这众多编程语言中,Java毫无疑问承载着沉甸甸的期望。Java凭借其完善的生态系统和简洁的语法,赢得了广泛的喜爱,不仅在服务端表现出色,也在移动端和PC端大放异彩。作为服务端主要编程语言,它在高并发项目无疑是得到了行业内人士的高度肯定,因此,我们选择Java语言来完成12307项目。
## 2.微服务框架
大型互联网项目的尽头是微服务,但与编程语言不同的是,开源的微服务框架并不多,SpringCloud与Dubbo是我们为数不多的选择。Dubbo是阿里巴巴公司的一款RPC远程过程调用工具,集成与SpringCloud,但Dubbo从
3.0 开始已经不再与 Spring Cloud Alibaba
进行集成,Dubbo的日益壮大,使得它可以和SpringCloud平起平坐。SpringFramework诞生于2002年,在那个编程语言刚刚兴起的年代,Java语言的SpringFramework无疑是带给Java一个“春天”,使得Java在众多编程语言中优势更明显,多年来,Spring的发展越发势不可挡,之后更是推出了微服务解决方案——SpringCloud,而后来SpringCloud的开发依赖的更多的却是Netflix公司的库与工具,但是近些年来中国的阿里巴巴公司对SpringCloud代码贡献无疑是使得SpringCloud更方便使用,而SpringCloudAlibaba的诞生,无疑是又压Dubbo一头。我们这个项目选择SpringCloudAlibaba为我们的微服务框架,使用阿里巴巴与Pivotal提供的完美微服务解决方案作为12307项目的“骨架”。
### 1.服务发现
AlibabaNacos
### 2.注册中心
AlibabaNacos
### 3.服务通信
SpringCloudOpenFeign
### 4.服务负载均衡
SpringCloudLoadBalance
### 5.微服务网关
SpringCloudGateway
### 6.流量防卫兵
AlibabaSentinel
### 7.分布式事务解决方案
AlibabaSeate
### 8.调用链跟踪
Apache SkyWalking
## 3.数据库
我们选择MySQL数据库作为数据存储引擎,MySQL是一个流行的开源关系型数据库管理系统,它的低成本、高性能、可扩展性、活跃社区、完整的ACID等等优点,无疑和本项目需求非常契合。
## 4.中间件
中间件的选择比较繁杂,本次选择的是:缓存中间件——Redis、消息中间件——RabbitMQ。
## 5.前端框架
前端框架选择使用vue3,vue是目前前端比较受欢迎的框架。
## 6.其他选择
除了以上选择,我们还使用了Java框架:MyBatis,前端库:ElementUI,web服务器:nginx,容器技术:Docker,以及Git版本控制工具、GitHub代码托管平台。
# <span id="3">3.项目后端具体实现</span>
## 1.项目地址
https://github.com/Review7872/OnlineTicketSales.git
## 2.项目功能
用户:创建账户,上传头像,修改密码,实名制,接触实名,查询车票,购买车票(需实名),退购车票(需实名),改签车票(需实名),根据实名查询自己的记录(需实名),站点查询,微信支付退款
服务员:查询车次,为客户购票、退票、改签,查询用户的记录,火车站点查询,微信支付退款
乘务员:乘务员可以为乘客修改座位,并且记录车辆到站信息
管理员:服务员一切功能,增加车次,查询车次记录,火车到站
## 3.具体实现思路
对车票的订购必须通过身份证号完成,这样可以使得管理员在用户没有账号的情况下实现为用户购票的功能,只有特别权限管理员才可以添加车次。
用户自己购票需要注册账号,必须绑定手机号、身份证号,用户查询订单也是查询所绑定身份证号订单。
用户每次下订单,我们会给用户发送短信通知,以此达到用户确认订单以及提醒用户的功能。
## 4.数据库设计
用户数据库:用于存储用户信息,包括用户的个人资料、身份验证信息(如用户名和密码)、联系信息等。这个数据库可以支持用户注册、登录、个人资料管理等功能。
![](static/images/img.png)
订单数据库:用于存储用户的订单信息,包括订票信息、车次、座位、支付状态等。这个数据库可以支持订单创建、修改、查询和支付等功能。
![](static/images/img_1.png)
![](static/images/img_21.png)
车次:用于存储火车车次息,包括车次时间表、站点信息、座位类型、价格等。这个数据库可以支持查询车次和票价计算等功能。
站点和路线数据库:用于存储火车站点和路线的信息,包括站点名称、站点位置、站点连接关系等。这个数据库可以支持查询车次路线和站点信息的功能。
![](static/images/img_2.png)
![](static/images/img_4.png)
支付数据库:用于处理支付交易的数据,包括支付记录、支付方式、支付状态等。这个数据库可以支持支付处理、订单支付状态更新等功能。
![](static/images/img_3.png)
![](static/images/img_22.png)
短信通知数据库, 我们将对用户部分自主行为进行短信通知与记录。
![](static/images/img_5.png)
## 5.JDBC组件E-R图
![](static/images/img_6.png)
![](static/images/img_7.png)
![](static/images/img_8.png)
![](static/images/img_11.png)
![](static/images/img_13.png)
## 6.微服务组件整合E-R图
### 1.主组件
此组件为主组件,结合了订单组件、支付组件、车次三组件、票务统计,提供了车票的所有功能。
![](static/images/img_14.png)
### 2.线上购票组件
此组件为线上购票组件,引用了主组件,以及用户组件和sms组件,对主组件某些功能进行了屏蔽,此组件为线上用户提供了一系列便捷操作,并且部分重要操作发送短信提醒。
![](static/images/img_15.png)
### 3.服务员组件
此组件为车站服务员组件,引用了主组件,对某些敏感行为进行了屏蔽,此组件可以让车站服务员对线下用户购票提供一系列服务。
![](static/images/img_16.png)
### 4.管理员组件
此组件为最高管理员组件,拥有添加车次与座位价格的权限。
![](static/images/img_17.png)
### 5.服务器网关
此组件作用为对访问的身份信息进行身份认证、鉴权与服务引导,同时与前端服务器Nginx结合解决前后端分离中的跨域问题。
![](static/images/img_19.png)
## 7.SpringCloudAlibaba整合思路
我们的项目分为三个层次,第一层为JDBC层,是Java与数据库的交互,第二层为主要业务层,第三层为暴露接口层。在第三层中,大多操作为引用主要业务层,只有在account组件里有引用sms组件与user组�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕业设计是高等教育阶段学生完成学业的一个重要环节,通常在学士或硕士学业即将结束时进行。这是学生将在整个学业中所学知识和技能应用到实际问题上的机会,旨在检验学生是否能够独立思考、解决问题,并展示其专业能力的一项综合性任务。 毕业设计的主要特点包括: 独立性: 毕业设计要求学生具备独立思考和解决问题的能力。学生需要选择一个合适的课题,研究相关文献,进行实地调查或实验,并提出独立见解。 实践性: 毕业设计是将理论知识应用到实际问题中的一次实践。通过完成毕业设计,学生能够将所学的专业知识转化为实际的解决方案,加深对专业领域的理解。 综合性: 毕业设计往往要求学生运用多个学科的知识,综合各种技能。这有助于培养学生的综合素养,提高他们的综合能力。 导师指导: 学生在毕业设计过程中通常由一名指导老师或导师团队提供指导和支持。导师负责引导学生确定研究方向、制定计划、提供建议,并在整个过程中监督进展。 学术规范: 毕业设计要求学生按照学术规范完成研究,包括文献综述、研究设计、数据采集与分析、结论和讨论等环节。学生需要撰写一篇完整的毕业论文,并进行答辩。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
共 122 条
- 1
- 2
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/ac6b3d6e8a3e4d0495eddc0d92330fe6_m0_61635718.jpg!1)
普通的一个普通猿
- 粉丝: 1466
- 资源: 1761
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)