机票预定管理系统
视频教程 源码下载
https://www.bilibili.com/video/BV1jw41147NT/
使用Java语言实现机票预订管理系统,系统具备如下功能:
a) 系统分为管理员和乘客两个角色;
b) 提供登录和修改密码功能;
c) 系统管理员登录后可进行机型管理、航线管理、订单查询;
d) 机型管理包括查询飞机机型、添加机型、停运机型。
e) 航线管理包括添加航线、航线查询、停运/启运;
f) 客户登录后可选择航线进行机票预定、改签、退票。
g) 可代他人买票,客户可查询自己购买的机票、自己是乘客的机票。
1 登录
a) 系统启动后展示登录界面;
b) 用户需输入正确的用户名密码,选择对应的身份进行登录;
c) 用户名或密码错误时登录失败,应给出对应提示;
d) 乘客的用户名即为身份证号。
2 注册
a) 在登录窗口点击注册按钮可以打开注册页面;
b) 需要对用户输入进行校验,如非空校验;
c) 需要校验身份证号是否存在,已存在则不能注册;
d) 注册成功后跳转会登录窗口。
图4.2 注册界面
3 修改密码
a) 在修改密码界面输入新密码;
b) 修改密码后退出登录,返回登录界面。
图4.3 修改密码界面
4 机型管理(管理员)
a) 管理员登录后可进行机型管理;
b) 机型管理界面可根据航空公司和机型查询所有飞机信息;
c) 选中一条数据,点击“停运/启用”按钮可以进行状态修改;
d) 选中一条数据,点击“设定航线”按钮可以进入添加航线界面;
e) 点击添加按钮,进入机型添加界面;
f) 添加机型信息时,需校验数据输入,如非空校验、整数校验。
图4.4 管理员-机型列表界面

a) 在添加航班界面输入航班信息;
b) 输入时需进行数据校验,如非空校验、数值校验、日期校验;
c) 所有字段都是必填字段;
d) 只能添加未来航班,起飞日期不能早于当前日期;
e) 根据起飞时间和飞行时长计算降落时间,降落时间跨天需特殊标注;
f) 价格和折扣必须大于0,折扣介于0.1到10.0之间,根据原价和折扣自动计算售价;
g) 自动填充航空公司和机型;
h) 票数必须是正整数,不能多余该机型的座位数;
i) 添加航班成功后,跳转回航班列表;
图4.6 管理员-添加航班界面
6 航班列表(管理员)
a) 管理员可根据起点、终点、班次、时间区间查询符合条件的航班信息;
b) 对航班进行停售和起售操作;
c) 因航班具有时效性,故而系统应该具有处理过期数据的能力,已经超过起飞时间的航班应该自动修改为“停售”状态;
d) 点击折扣单元格,可以修改折扣信息,必须输入1~10之间的数字。根据折扣计算售价。
图4.7 管理员-航班列表界面
图4.8 管理员-航班列表界面
7 机票预定(乘客)
a) 乘客可根据起点、终点、班次、时间区间查询符合条件的航班信息;
b) 乘客只能看到处于正常售卖状态的航班;
c) 选中航班后点击“预定”按钮,进入到机票预定界面;
d) 在机票预定界面添加乘客,统一乘客不能多次添加;
e) 点击“移除”按钮可以移除已经添加的乘客;
f) 乘客人数必须大于1才能预定;
g) 预定时需校验航班余票信息,余票不足不能预定;
h) 预定成功后生成订单,扣减航班余票信息;
图4.9 乘客-航班查询界面
图4.10 乘客-机票预定界面
图4.11 乘客-机票预定界面-添加乘客
8 订单查询(管理员)
a) 管理员可根据起点、终点、班次、时间区间查询符合条件的乘客订单信息;
b) 订单具有时效性,系统应该具有处理超时数据的能录,已经超过起飞时间的有效订单(不包括已退票和已改签)应变更为“已失效”;
图4.12 管理员-订单列表界面
9 订单查询/我的机票(乘客)
a) 在订单查询界面,乘客可根据起点、终点、班次、时间区间查询自己购买的机票;
b) 在我的机票界面,乘客可查询登机人身份证号是自己的订单信息;
c) 点击改签和退票按钮可进行退改操作,已经退票和已失效(超过起飞时间)的订单不能退改。
图4.13 乘客-订单列表/我的机票界面
10 改签/退票(乘客)
a) 乘客可以对自己购买的机票进行退改,也可以退改乘机人是自己的机票;
b) 已经失效的机票不能退改;
c) 每张机票只能改签一次;
d) 改签和退票都需要计算差价;
e) 改签和退票后需更新对应航班剩余票数;
f) 原/新航班距离起飞时间不足一小时不能改签;
g) 退票时,距离起飞时间不足1小时,扣80%手续费;不足24小时扣60%;不足48小时扣30%;不足1周扣20%;超过1周不扣手续费。
h) 退票后,订单金额更新为用户支付的手续费金额。
图4.14 乘客-订单列表界面-改签提示
图4.15 乘客-订单列表界面-改签提示
图4.16 乘客-订单列表界面-退票提示