# 售票系统 ticketSale
## 1、开发背景
       随着科学技术的发展,计算机领域不断取得日新月异的研究成果,在日常生活中随处都离不开网络。尤其是在交通发达的今天,新时代的人们越来越依赖于方便、快捷的网络购票,计算机优势更加体现出来。在数字化的今天,为了使旅客更方便地购票、使售票系统更加利于管理,开发售票系统更加显得重要。
       本系统主要为了更好地实现火车票的自动化销售,给旅客提供一个方便快捷的购票平台。同时也为系统管理员提供一个井然有序的管理平台, 防止手工管理混乱,避免一些人为的错误。
       说明:本系统是根据我的已有项目[火车票售票系统](https://github.com/Linxfeng/TrainTicketSale)进行改造升级的,所以主要偏向于技术层面,业务方面沿用之前的项目。
## 2、需求分析
- 前台售票网站需求:
- 1.用户可以以游客身份浏览网站页面、查询车票相关信息(车次、车程、起点终点、票价、余票等);
- 2.用户可以登陆/注册,登陆后的用户在填写了个人信息后可以进行选票购票;
- 3.一个用户支持添加多个乘客,为乘客购票;
- 4.用户购票时下订单,还可以取消订单,查看订单等;
- 5.用户查询车票时,可以根据输入的起始点和终点智能查询不同出行路线,并可以根据不同条件进行排序
- 6.用户可以根据起点和终点查询路线,支持直达和换乘。
- 后台管理系统需求:
- 1.车辆/车次的管理;
- 2.起始点和终点的路线管理;
- 3.车票票价和余票管理;
- 4.根据用户的出行推送广告。
## 3、系统设计
设计流程图:
![系统交互图](https://raw.githubusercontent.com/Linxfeng/images/master/image043.png)
![设计流程图](https://raw.githubusercontent.com/Linxfeng/images/master/image045.png)
## 4、技术栈&开发环境
**技术栈:**
本项目采用spring cloud微服务架构,使售票系统实现服务间相互解耦,实现高可用,使用spring cloud的优点非常多,其组件也非常多。在本项目中,我们需要使用到spring cloud的5大组件:
- 服务发现——Netflix Eureka
- 客服端负载均衡——Netflix Ribbon
- 分布式配置——Spring Cloud Config
- 服务网关——Netflix Zuul
- 断路器——Netflix Hystrix
**本地开发环境(windos 10)**
- jdk 1.8
- MySQL 5.7
- maven 3.5
- redis 3.2
- git 2.21
- rabbitmq
**应用部署环境(linux)**
- jdk 1.8
## 5、功能设计&服务拆分
**功能设计:**
- 1.登陆/注册模块
- ⑴ 用户注册,前后端校验,保证用户名的唯一性
- ⑵ 用户登录,前后端校验
- 2.车票查询模块
- ⑴ 根据出发地和目的地的站点查询火车票,第一次查询从数据库中读取,存入缓存,当该车次的相关区段售出车票时,更新缓存中的数据
- ⑵ 查询结果可以根据车程、票价、出发时间进行排序
- ⑶ 根据出发地和目的地的站点自动匹配出行路线(包括中途上车,中途转车,中途下车)
- ⑷ 可以根据不同车辆种类、座位种类和余票、区段票价进行选择
- 3.订单模块
- ⑴ 可以更换座位类型,用户类型(成人票/学生票),修改乘客
- ⑵ 查看订单(历史订单/未出行订单/未付款订单)
- ⑶ 取消订单(退款)
- ⑷ 用户出票
- 4.个人信息模块
- ⑴ 用户信息(唯一性)修改
- ⑵ 乘客信息(有多个)修改/添加
- 5.广告模块
- ⑴ 后台可以发布公告/通知
- ⑵ 用户登陆后可以收到公告通知,实时显示在首页上
- 6.车辆/车次管理模块
- ⑴ 根据车次编号查询、修改车辆信息,每个车次都有不定数量的站点
- ⑵ 根据不同站点规定不同到达时间,根据不同区段设定不同票价
- ⑶ 区段余票/可售票数的管理
- ⑷ 管理员添加/修改车次信息时,将途经每个站点的信息都录入数据库。
- 7.后台管理员登录模块
**服务拆分:**
由于本项目是采用spring cloud微服务架构,所以我们可以根据项目的功能模块来拆分服务。
- 用户服务——user:
主要是用户登录/注册、管理员登陆和个人/乘客信息管理等功能。
- 订单服务——order:
为用户提供订单的创建/查询/取消等操作。
- 广告服务——advert:
根据用户的出行,推送广告/消息;推送系统公告。
- 车票服务——ticket:
主要是对车票/票价/余票等车票信息进行增删改查;提供列车信息,进行增删改查,包含车站信息的查询及管理。
这里我本来想把车票、车站、列车拆分成3个微服务的,但是由于这3个模块直接解耦非常难,依赖性太强。对于这种售票系统来讲,业务比较简单,拆分太散反而有弊端,所以干脆放在同一个服务中。
## 6、设计数据库
一共设计了6张表:用户表user_info, 乘客表passenger, 订单表order, 公告表advert, 列车表train, 车站表station
ps:项目一直处于开发状态,但是由于本人工作原因,不能抽出时间继续完成此项目,深表歉意。
此项目框架基本成型,后续只是还有极少一部分业务代码没有编写完成,最繁杂的就是页面的整改,要将jsp页面整改成完全靠ajax支撑的静态页面还是比较繁杂的,所以后续可能会不继续维护。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的深刻理解能力。这项任务通常要求学生运用所学专业知识,通过独立研究和创新,完成一个实际问题的解决方案或者开展一项有价值的项目。 首先,毕业设计的选择通常由学生根据个人兴趣、专业方向以及实际需求来确定。学生需要在导师的指导下明确研究目标、问题陈述,确立研究的范围和深度。毕业设计可以包括文献综述、需求分析、方案设计、实施与测试等多个阶段,以确保整个过程的科学性和系统性。 其次,毕业设计的完成通常需要学生具备一定的独立思考和解决问题的能力。在研究过程中,学生可能需要采用各种研究方法,如实验、调查、案例分析等,以获取必要的数据和信息。通过这些活动,学生能够培养扎实的专业技能,提升解决实际问题的实际能力。 第三,毕业设计的撰写是整个过程的重要组成部分。学生需要将研究过程、方法、结果以及结论等详细记录在毕业论文中,以展示其研究的全貌和成果。同时,撰写毕业设计还有助于提高学生的学术写作水平,培养清晰、逻辑的表达能力。 最后,毕业设计的评价通常由导师和相关专业人士进行。评价标准包括研究的创新性、实用性、方法的科学性以及论文的质量等方面。学生在毕业设计中获得的成绩也将直接影响其最终的学业成绩和学位授予。 总的来说,毕业设计是高等教育中的一项重要环节,通过此过程,学生不仅能够巩固所学知识,还能培养独立思考和解决问题的能力,为将来的职业发展奠定坚实的基础。
资源推荐
资源详情
资源评论
收起资源包目录
售票系统,采用spring cloud微服务架构,mysql+redis+rabbitmq.zip (299个子文件)
bootstrap.min.css 120KB
sidebar_css.css 59KB
style3.css 21KB
global20150101.css 20KB
style2.css 19KB
css.css 19KB
corptravel.css 14KB
layer.css 11KB
global.css 11KB
iconfont.css 9KB
common.css 6KB
style.css 4KB
datepicker.css 4KB
datepicker.css 3KB
enterprise.css 3KB
supersized.css 2KB
headerlog.css 1KB
reset.css 1KB
erweima.css 1014B
orderlist.css 868B
err.css 652B
WdatePicker.css 183B
Dockerfile 120B
Dockerfile 120B
err_bot.gif 16KB
ico_hy009.gif 13KB
ico_tltel.gif 8KB
err_top.gif 8KB
newS.gif 8KB
ico_hy010.gif 7KB
ico_question.gif 5KB
chenggong2.gif 4KB
ico_link001.gif 3KB
loading32.gif 2KB
ico_link003.gif 2KB
img.gif 2KB
img.gif 2KB
search_bg1_1.gif 1KB
ico_link002.gif 1KB
datePicker.gif 1KB
backtop.gif 447B
topbg.gif 415B
lefttop.gif 204B
toolbg.gif 133B
nav_bg.gif 91B
righttop.gif 82B
inputbg.gif 82B
leftmenubg.gif 76B
th.gif 76B
pre.gif 70B
list.gif 70B
list1.gif 70B
next.gif 70B
arrow_right.gif 68B
arrow_left.gif 67B
rlist.gif 56B
line.gif 51B
leftline.gif 50B
nav_line.gif 48B
lineH.gif 43B
lineH_1.gif 43B
favicon2.ico 133KB
favicon.ico 25KB
front.iml 296B
TrainController.java 12KB
UserController.java 9KB
StationServiceImpl.java 9KB
AdvertController.java 6KB
PassengerController.java 5KB
StationController.java 4KB
AdminController.java 3KB
OrderController.java 3KB
AuthenticationFilter.java 3KB
PassengerServiceImpl.java 2KB
StationServiceImplTest.java 2KB
TrainServiceImpl.java 2KB
ResponseVo.java 2KB
OrderServiceImplTest.java 2KB
OrderServiceImpl.java 2KB
UserInfoServiceImpl.java 2KB
UserInfoServiceImplTest.java 2KB
StationRepository.java 2KB
TrainServiceImplTest.java 2KB
PassengerServiceImplTest.java 2KB
ApiGatewayApplication.java 1KB
AdvertServiceImpl.java 1KB
CorsConfig.java 1KB
VerifyParamsUtil.java 1KB
MD5Util.java 1KB
StationService.java 1KB
RateLimitFilter.java 1KB
RedisCacheUtil.java 1KB
UserInfoRepositoryTest.java 1KB
VerifyParamsUtil.java 1KB
Train.java 1KB
OrderService.java 1017B
PassengerService.java 1014B
TrainService.java 1004B
TrainVo.java 957B
JsonUtil.java 924B
共 299 条
- 1
- 2
- 3
资源评论
JJJ69
- 粉丝: 6195
- 资源: 5785
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功