民航订票管理系统
项目地址:/gao_x/air-ticket
文章目录
民航订票管理系统1.要求1.1.基本要求1.2.拓展要求2.需求分析2.1.系统功能分析2.2.系统用列图2.2.1前台功能2.2.2后台功能2.3.数据流图2.4.数据字典2.4.1.数据存储2.4.2.处理过程3.数据库设计3.1概念结构设计3.2.逻辑结构设计3.3.数据表设计3.4.创建表代码4.系统总设计5.代码开发5.1.开发环境相关5.2.开发所用技术5.3.源代码目录简介5.4.项目代码6.系统展示6.1.后台6.2.前台1.要求
1.1.基本要求
民航订票系统主要分为机场、航空公司和客户三方的服务。
航空公司提供航线和飞机的资料;机场则对在本机场起飞和降落的航班和机票进行管理;客户能得到的服务应该有查询路线和剩余票数,以及网上订票等功能;客户可以分为两类:一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠;另一类是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策;机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息;
1.2.拓展要求
用户可以对系统进行反馈留言,促进开发者改良系统可以在前台添加广告,是前台展示功能更加丰富后台具有信息功能,可以生成对可视化图标和表格展示管理员除最高管理员之外,其他人不可访问更改管理员2.需求分析
2.1.系统功能分析
后台航班信息管理:主要是指添加航班信息,删除航班信息,查询航班信息和航班信息详细情况查看等。后台订单信息管理:后台订单信息管理主要包括订单列表,查询订单信息,订单信息的删除等后台用户信息管理:主要指注册用户的展示与按条件查询注册用户。后台广播信息管理:主要指添加广播信息,删除广播信息等。后台广告信息管理:主要指添加广告信息,删除广告信息等。后台管理员管理:主要指最高管理员可以进行授权管理员和删除管理员后台信息统计:统计订单量,用户量,及一些其他信息。前台登录与注册管理:包括前台系统用户的注册于登录。前台首页信息展示:主要是指航班信息展示、航班信息查询、航班信息详情、登录用户信息展示、留言板和 个人信息详情与修改等。前台订单页面:主要是订单内容的填写和订单详情。前台订单支付:订单支付成功界面。2.2.系统用列图
2.2.1前台功能
2.2.2后台功能
2.3.数据流图
2.4.数据字典
2.4.1.数据存储
用户数据表会员数据表订单数据表航班数据表留言数据表广播数据表广告数据表2.4.2.处理过程
用户登录
用户注册会员注册订单生产留言生产广播信息添加广告信息添加航班信息添加管理员登陆管理员添加
3.数据库设计
3.1概念结构设计
3.2.逻辑结构设计
管理员(admin):
用户名(user),密码(pwd)
留言评论(discuss):
留言id(id),日期(Time),留言用户(userName),内容(message)
航班(Filght):
航班id(flightId),航班号(flightNumber),航班起点(flightStart),航班终点(flightEnd),始发机场(flightStartAir),到达机场(flightEndAir),起飞时间(flightStartTime),到达时间(flightEndTime),头等舱价格(flightHighPrice),头等舱座位数(flightHighNumber),商务舱价格(flightMidPrice),商务舱座位数(flightMidNumber),经济舱价格(flightLowPrice),经济舱座位数(filghtLowNumber),延误(delay)
订单(order):
订单id(orderId),订单名称(orderName),下单用户(orderUser),航班id(flightId),乘客姓名(personName),订单日期(orderDate),仓别(Grade),乘客身份证号(persionid),订单金额(orderMoney1),实付金额(oederMoney2),联系人(contcatName),联系人电话(contactPhone)
用户(user):
用户名(userName),用户密码(userPwd)
会员(person)
用户名(username),会员姓名(personName),会员身份证号(personId),会员积分(userScore)
广播(radio)
广播id(radionId),广播描述(radiodescribe)
广告实体(advert):
广告id(advertId),广告描述(advertDescribe),广告url(url),广告图片(picture)
3.3.数据表设计
管理员:
留言评论:
航班实体:
订单实体
用户实体
会员实体
广播实体
广播id(radionId),广播描述(radiodescribe)
广告
3.4.创建表代码
SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- adminCREATE TABLE `admin` (`user` varchar(16) CHARACTER NOT NULL COMMENT '管理员用户名',`pwd` varchar(32) CHARACTER NOT NULL COMMENT '管理员密码',PRIMARY KEY (`user`) ) ;-- discussCREATE TABLE `discuss` (`id` int(11) NOT NULL AUTO_INCREMENT,`time` date NOT NULL,`userName` varchar(32) CHARACTER NOT NULL,`message` text CHARACTER NOT NULL,PRIMARY KEY (`id`) ,INDEX `userName`(`userName`) ) ;-- flightCREATE TABLE `flight` (`flightId` varchar(255) CHARACTER NOT NULL COMMENT '航班ID',`flightNumber` varchar(255) CHARACTER NOT NULL COMMENT '航班号',`flightStart` varchar(255) CHARACTER NOT NULL COMMENT '航班起点',`flightEnd` varchar(255) CHARACTER NOT NULL COMMENT '航班终点',`flightStartAir` varchar(255) CHARACTER NOT NULL COMMENT '航班始发机场',`flightEndAir` varchar(255) CHARACTER NOT NULL COMMENT '航班到达机场',`flightStartTime` datetime(0) NOT NULL COMMENT '航班起飞时间',`flightEndTime` datetime(0) NOT NULL COMMENT '航班到达时间',`flightHighPrice` double(10, 2) NULL DEFAULT NULL COMMENT '头等舱价格',`flightHighNumber` int(11) NULL DEFAULT NULL COMMENT '头等舱座位数',`flightMidPrice` double(10, 2) NULL DEFAULT NULL COMMENT '商务舱价格',`flightMidNumber` int(10) NULL DEFAULT NULL COMMENT '商务舱座位数',`flightLowPrice` double(10, 2) NULL DEFAULT NULL COMMENT '经济舱价格',`flightLowNumber` int(11) NULL DEFAULT NULL COMMENT '经济舱座位数',PRIMARY KEY (`flightId`, `flightNumber`) ) ;-- orderCREATE TABLE `order` (`orderId` varchar(255) CHARACTER NOT NULL COMMENT '订单id',`orderName` varchar(255) CHARACTER NOT NULL COMMENT '订单名称',`orderUser` varchar(16) CHARACTER NOT NULL COMMENT '下单用户',`flightNumber` varchar(255) CHARACTER NOT NULL COMMENT '航班号',`personName` varchar(16) CHARACTER NOT NULL COMMENT '乘客姓名',`orderDate` date NOT NULL COMMENT '订单日期',`grade` varchar(3) CHARACTER NOT NULL COMMENT '舱别',`personId` varchar(225) CHARACTER NOT NULL COMMENT '乘客身份证号',`orderMoney1` double(20, 2) NOT NULL COMMENT '原价',`orderMoney2` double(20, 2) NOT NULL COMMENT '折扣后价钱',`contactName` varchar(16) CHARACTER NOT NULL COMMENT '联系人',`contactPhone` varchar(11) CHARACTER NOT NULL COMMENT '联系人电话',PRIMARY KEY (`orderId`) ) ;-- userCREATE TABLE `user` (`userName` varchar(16) CHARACTER NOT NULL COMMENT '用户名',`userPwd` varchar(225) CHARACTER NOT NULL COMMENT '用户密码',PRIMARY KEY (`userName`) ) ;-- personCREATE TABLE `person` (`userName` varchar(16) CHARACTER NOT NULL COMMENT '用户名',`personName` varchar(16) CHARACTER NOT NULL COMMENT '乘客姓名',`personId` varchar(225) CHARACTER NOT NULL COMMENT '乘客身份证号',`userScore` int(11) NULL DEFAULT NULL COMMENT '用户积分',PRIMARY KEY (`userName`) ) ;-- radioCREATE TABLE `radio` (`radioId` varchar(225) CHARACTER NOT NULL COMMENT '广播id',`radioDescribe` varchar(255) CHARACTER NOT NULL COMMENT '广播内容',PRIMARY KEY (`radioId`) ) ;-- advertCREATE TABLE `advert` (`advertId` varchar(225) CHARACTER NOT NULL COMMENT '广告id',`advertDescribe` varchar(255) CHARACTER NOT NULL COMMENT '广告内容',`url` varchar(255) CHARACTER NOT NULL COMMENT 'url',`picture` varchar(255) CHARACTER NOT NULL COMMENT 'picture',PRIMARY KEY (`advertId`) );
4.系统总设计
本系统分为前台子系统和后台子系统,具体功能如下
前台:
用户登录用户注册航班查询机票详情机票预订订单支付订单查看用户留言个人信息查看与修改,积分变更
后台:
航班信息管理订单信息管理用户信息管理留言评论管理广播信息管理广告信息管理个人信息管理信息统计
详细子功能如下图:
5.代码开发
5.1.开发环境相关
开发后台服务语言:openjdk version “11.0.10” -01-19
服务器:Apache Tomcat/8.5.73
数据库:MySql 5.7.36
操作系统:Windows10
开发工具:intelliJ IEDA .3、Navicat permium15
5.2.开发所用技术
Web前端:HTML,CSS,JavaScript,Bootstrap
Web后端:jsp+servlet
版本控制工具:git version 2.33.1.windows.1
5.3.源代码目录简介
airTicket 项目文件夹
src
main 项目主文件夹
java 项目java部分文件夹 com. admin admin管理部分后端代码 bean admin后端各实体定义dao admin后端各实体操作filter 过滤器,防止未登录访问servlet admin部分主要功能代码util 存放工具类,定义数据库连接 user bean 用户部分的各实体定义dao 用户部分的各实体操作filter 过滤器,防止未登录访问servlet 用户部分功能主要代码 webapp admin admin部分的jsp前端代码cssdefault 用户部分的jsp前端代码fontsimagesjsWEB-INF web.xml 各servlet和filter的配置位置 index.jsp 主页list.jsp 飞机查询列表页login.jsp 前台登录页register.jsp 前台注册页
test
target 编译后的.class文件
5.4.项目代码
由于代码过多,这里不便放置,这里提供源码地址
机票管理系统:
/gao_x/air-ticket
6.系统展示
6.1.后台
后台主页:
航班添加页面:
航班列表页:
管理员添加页:只有最高权限可以访问
管理员列表页:只有最高权限可以访问
权限不足页面:普通管理员无法进行管理员授权等等
6.2.前台
前台主页:
前台列表页:
订单生成页:
个人订单管理页面
注册页:
因为部分页面相似,在这里不做图片展示。因部署在云服务器可通过以下连接查看。
主页: http://110.42.210.89:8080/airticket_war/
管理端:http://110.42.210.89:8080/airticket_war/admin/
账号:admin
密码:admin