【《航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例》9000字】_第1頁
【《航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例》9000字】_第2頁
【《航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例》9000字】_第3頁
【《航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例》9000字】_第4頁
【《航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例》9000字】_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

航空公司訂票系統(tǒng)的詳細功能設計實現(xiàn)與測試分析案例

目錄

TOC\o"1-3"\h\u

26825

航空公司訂票系統(tǒng)的詳細功能設計與實現(xiàn)

1

20307

1.1算法設計

1

4001

1.2用戶具體功能及其實現(xiàn)

3

28326

1.2.1注冊

3

16059

1.2.2登錄

6

24637

1.2.3個人中心

6

31456

1.2.4個人信息

7

20525

1.2.5充值

7

14488

1.2.6用戶信息

8

32405

1.2.7訂票管理

8

17999

1.2.8安全退出

9

7098

1.2.9航班查詢

10

26787

1.2.10訂購機票

12

24991

1.2.11退票、改簽

13

16884

1.3管理員具體功能及其實現(xiàn)

15

16329

1.3.1用戶管理

16

10166

1.3.2客機管理

18

20956

1.3.3航班管理

21

23317

1.3.4機票管理

22

24603

1.3.5系統(tǒng)管理

23

2021

第2章系統(tǒng)測試

25

24870

2.1頁面測試

25

17403

2.2功能測試

25

28260

2.2.1注冊模塊測試

25

23134

2.2.2登錄模塊測試

26

26876

2.2.3用戶管理系統(tǒng)各模塊測試

27

18677

2.2.4后臺管理系統(tǒng)各模塊測試

27

1.1算法設計

用戶首先通過填寫用戶名、密碼、確認密碼及郵件注冊用戶,注冊成功結(jié)束后,點擊登錄就可以進入系統(tǒng),首先用戶需在個人信息界面內(nèi)進行充值,用戶可通過查詢功能搜索想要訂購的機票,之后進行經(jīng)濟艙或者頭等艙的選擇,通過填寫乘車人姓名及乘車人身份證號最后提交所有信息進行訂票,本設計用戶模塊流程圖如圖5-1所示。

普通用戶

航班查詢

登錄

登錄失敗

查看訂單信息

個人信息管理

機票訂購

圖5-1用戶模塊流程圖

管理員首先訪問后臺管理頁面的相應路徑,然后進行登錄操作,輸入正確賬號和密碼,并點擊登錄界面的登錄按鈕,就可以登錄進入飛機票訂票管理系統(tǒng),首先最先看到的就是用戶管理,在這里你可以查看到所有在這個系統(tǒng)中注冊的賬號及其身份信息,同時系統(tǒng)管理員還可以對其進行相應的添加、修改、刪除、查詢操作,在進行上述操作是如果出現(xiàn)了身份證是假的,手機號位數(shù)不夠,郵箱不符合規(guī)范,都會出現(xiàn)系統(tǒng)提示,提示管理員操作有誤。只需要點擊對應的輸入框重新操作就可以了;然后就是客機管理,在客機管理中同樣是管理員可以對飛機進行添加、修改、刪除、查詢操作,但是如果有飛機處于有航班的狀態(tài),那么是無法進行刪除的。接下來是航班管理,在操作上是相同的,同樣在有依賴的時候是無法進行刪除的。然后就是機票管理,管理員可以進行刪除用戶的機票訂單。

最后就是系統(tǒng)管理了,在這里系統(tǒng)管理主要有修改密碼和安全退出,修改密碼時也有相應的限定條件必須新密碼和確認密碼不同、原密碼不符等在這種情況都是無法進行修改操作的。如圖5-2所示是系統(tǒng)管理員的操作流程圖。

系統(tǒng)管理員

登錄

登錄失敗

管理員登錄

用戶管理

客機管理

航班管理

機票管理

系統(tǒng)管理

圖5-2管理員模塊流程圖

1.2用戶具體功能及其實現(xiàn)

1.2.1注冊

用戶在未進行登錄或者注冊時,只能對部分航班信息進行查看,用戶只有在進行注冊登錄之后才能進行對自己個人信息的修改,對系統(tǒng)里余額的充值,進行想要購買航班的查詢,以及后續(xù)的退票改簽等一系列操作。

通過對新用戶進行注冊,來實現(xiàn)用戶的添加,在新用戶進行注冊時,輸入了已經(jīng)有的用戶名,本系統(tǒng)就會進行提示,告知用戶此用戶名已經(jīng)存在,需要進行更改。另一種就是當用戶輸入的密碼和第二次的確認密碼出現(xiàn)不一致的情況時,系統(tǒng)仍然會提示用戶進行重新輸入;最后一個就是填寫郵箱,填寫郵箱必須是正常的郵箱格式(xxxx@163.com)。只有符合上面所述的所有格式,才能夠進行注冊成功。

圖5-3用戶填寫注冊信息顯示界面

用戶注冊成功后會自動跳轉(zhuǎn)出“注冊成功!請登錄!”界面,用戶點擊確定后系統(tǒng)自動跳轉(zhuǎn)到原來的登錄界面。注冊成功后系統(tǒng)顯示界面如圖5-4所示。

圖5-4用戶注冊成功后系統(tǒng)顯示界面

注冊用戶驗證及對功能實現(xiàn)的代碼如下:

@Resource

privateBaseDAO<User>baseDAO;

publicUserlogin(Useruser){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("fromUseruwhereu.userName=?andu.password=?");

param.add(user.getUserName());

param.add(user.getPassword());

returnbaseDAO.get(hql.toString(),param);

}

publicvoidsaveUser(Useruser){

baseDAO.merge(user);

}

publicbooleanexistUserWithUserName(StringuserName){

Stringhql="selectcount(*)fromUserwhereuserName=?";

longcount=baseDAO.count(hql,newObject[]{userName});

if(count>0){

returntrue;

}else{

returnfalse;

}}

publicList<User>findUserList(Users_user,PageBeanpageBean){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("fromUser");

if(s_user!=null){

if(StringUtil.isNotEmpty(s_user.getUserName())){

hql.append("anduserNamelike?");

param.add("%"+s_user.getUserName()+"%");

}}

if(pageBean!=null){

returnbaseDAO.find(hql.toString().replaceFirst("and","where"),param,pageBean);

}else{

returnnull;

}}

publicLonggetUserCount(Users_user){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("selectcount(*)fromUser");

if(s_user!=null){

if(StringUtil.isNotEmpty(s_user.getUserName())){

hql.append("anduserNamelike?");

param.add("%"+s_user.getUserName()+"%");}}

returnbaseDAO.count(hql.toString().replaceFirst("and","where"),param);}

publicvoiddelete(Useruser){

baseDAO.delete(user);}

publicUsergetUserById(intid){

returnbaseDAO.get(User.class,id);

}

1.2.2登錄

用戶在未進行登錄時,如果在首頁點擊訂票,系統(tǒng)會自動出現(xiàn)一個頁面,顯示“請先登錄,然后購票”,用戶只有在進行登錄之后才能進行購票。用戶通過輸入正確的用戶名和密碼進入系統(tǒng)后,系統(tǒng)信息顯示界面如圖5-5所示。

圖5-5用戶成功進入系統(tǒng)顯示界面

1.2.3個人中心

用戶輸入正確的用戶名和密碼登錄后進入系統(tǒng),進入個人中心,當用戶沒有訂購航班時,個人中心界面顯示“您沒有正在飛行的航班”,如圖5-2-6所示。

圖5-6用戶沒有訂購航班個人中心界面顯示

如果用戶已經(jīng)訂購機票,個人中心界面將顯示正在飛行航班,其中包含信息有航班名稱、出發(fā)城市、目的城市、起飛時間及落地時間,如圖5-7所示。

圖5-7用戶訂購航班個人中心界面顯示

1.2.4個人信息

用戶在進入個人中心界面后,點擊個人信息,系統(tǒng)將自動顯示用戶的一系列信息,其中包含編號、用戶名、密碼、真實姓名、性別、郵件、聯(lián)系電話、余額、以及實現(xiàn)充值余額和修改個人信息功能等操作功能的顯示。并且在修改個人信息方面還有一些貼別的限定條件,比如身份證號必須是真實的身份證,電話號必須是13,15,17等開頭的,郵箱必須符合郵箱格式等條件如果在不滿足的情況下都會進行系統(tǒng)提示。個人信息界面顯示如圖5-8所示。

圖5-8個人信息界面顯示

1.2.5充值

用戶想要實現(xiàn)機票的訂購,需要對機票花費一定的費用,既需要用戶對個人賬戶余額進行充值,最后實現(xiàn)成功訂購機票。

當用戶賬戶余額不足時,將無法實現(xiàn)對機票的訂購,系統(tǒng)會自動顯示“您的余額不足,請充值后購買”余額不足無法訂票顯示界面如圖5-9所示。

圖5-9余額不足無法訂票顯示界面

1.2.6用戶信息

用戶還可更改自己的用戶信息,可以更改的主要內(nèi)容包括用戶名、密碼、真實姓名、性別、身份證號、郵件、聯(lián)系電話。其中對身份證號、郵件、聯(lián)系電話有一定的限制條件,防止用戶填寫錯誤的個人信息以免造成后續(xù)的一系列問題,更改個人信息界面如圖5-10所示。

5-10修改個人信息界面圖

1.2.7訂票管理

訂票管理主要作用是方便用戶直觀的查看自己是否有訂購的機票以及所訂購機票的相關信息,如果用戶沒有訂購機票,系統(tǒng)將自動顯示“您沒有訂票信息!”,用戶沒有訂票情況下訂單管理界面顯示如圖5-11所示。

圖5-11用戶沒有訂票訂單管理顯示界面

如果用戶已經(jīng)訂購過機票,系統(tǒng)將自動顯示出一系列訂票信息,主要包括訂單、航班(主要包括航班名稱、出發(fā)城市、目的城市、起飛時間及落地時間)、訂購日期、訂購數(shù)量、票價、總價、乘車人(主要包括用戶名和身份證號)以及后續(xù)實現(xiàn)退票改簽的操作。用戶已經(jīng)訂票情況下訂單管理界面如圖5-12所示。

圖5-12用戶已經(jīng)訂購機票訂單管理顯示界面

下面是查詢個人訂單的代碼

publicbooleanexistTicketOrderWithUserId(IntegeruserId){

Stringhql="fromTicketOrderwhereuser.id="+userId;

if(baseDAO.find(hql).size()>0){

returntrue;

}else{

returnfalse;

}

} publicTicketOrdergetTicketOrderById(intid){

returnbaseDAO.get(TicketOrder.class,id);

}

1.2.8安全退出

當用戶完成所有操作之后,需要退出系統(tǒng),退出系統(tǒng)流程極其簡單,點擊安全退出選項,系統(tǒng)會自動跳轉(zhuǎn)到退出界面,界面中顯示“您確定要退出系統(tǒng)嗎?”點擊確定即可退出系統(tǒng)。退出后,系統(tǒng)將自動返回最初的登錄注冊界面。退出系統(tǒng)界面顯示如圖5-13所示。

圖5-13退出系統(tǒng)顯示界面

1.2.9航班查詢

設計飛機票的訂購系統(tǒng)的主要目的在于方便用戶在短時間內(nèi)查詢并訂購到合適時間和價格的機票。用戶可根據(jù)實際需要填寫想要查詢的出發(fā)地點、到達地點以及出發(fā)日期,或者填寫以上三種信息中的一個進行搜索,系統(tǒng)將在航班查詢結(jié)果下顯示用戶想要查詢的相關信息,用戶可根據(jù)所查詢到的信息進行篩選想要的訂購的航班,并進行機票的訂購。在用戶所查詢出來的信息中包含航班、航線、出發(fā)日期、起落時間以及票價。用戶查詢航班信息顯示界面如圖5-14所示。

圖5-14用戶查詢航班信息顯示界面

當用戶所查詢的航班不存在時,系統(tǒng)將在航班查詢結(jié)果下自動顯示“未查詢到數(shù)據(jù)”,且不顯示任何航班信息。航班查詢還有重置功能,可滿足用戶無限次數(shù)的查詢需求。用戶查詢航班不存在時顯示界面如圖5-15所示。

圖5-15用戶查詢航班不存在顯示界面

下面是航班查詢的功能代碼

@Service("flightService")

publicclassFlightServiceImplimplementsFlightService{

@Resource

privateBaseDAO<Flight>baseDAO;

publicList<Flight>findFlightList(Flights_flight,PageBeanpageBean){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("fromFlight");

if(s_flight!=null){

if(StringUtil.isNotEmpty(s_flight.getName())){

hql.append("andnamelike'%"+s_flight.getName()+"%'"); }

if(StringUtil.isNotEmpty(s_flight.getFlightType())){

hql.append("andflightType='"+s_flight.getFlightType()+"'"); }

if(StringUtil.isNotEmpty(s_flight.getFromCity())){

hql.append("andfromCity='"+s_flight.getFromCity()+"'"); }

if(StringUtil.isNotEmpty(s_flight.getToCity())){

hql.append("andtoCity='"+s_flight.getToCity()+"'");}

if(s_flight.getFromTime()!=null){

DateendTime=s_flight.getFromTime();

endTime.setHours(23);

endTime.setMinutes(59);

endTime.setSeconds(59);

hql.append("andfromTimebetween'"+DateUtil.formatDate(s_flight.getFromTime(),"yyyy-MM-dd")+"'");

hql.append("and'"+DateUtil.formatDate(endTime,"yyyy-MM-ddHH:mm:ss")+"'"); } }

hql.append("orderbyfromTimedesc");

if(pageBean!=null){

returnbaseDAO.find(hql.toString().replaceFirst("and","where"),param,pageBean);

}else{ returnbaseDAO.find(hql.toString().replaceFirst("and","where"),param);}}

publicLonggetFlightCount(Flights_flight){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("selectcount(*)fromFlight");

if(s_flight!=null){

if(StringUtil.isNotEmpty(s_flight.getFromCity())){

hql.append("andfromCity='"+s_flight.getFromCity()+"'");}

if(StringUtil.isNotEmpty(s_flight.getToCity())){

hql.append("andtoCity='"+s_flight.getToCity()+"'");}

if(s_flight.getFromTime()!=null){

hql.append("andfromTime>='"+DateUtil.formatDate(s_flight.getFromTime(),"yyyy-MM-dd")+"'");}}

returnbaseDAO.count(hql.toString().replaceFirst("and","where"),param);}

1.2.10訂購機票

用戶在選擇完成想要訂購的機票后,點擊操作選項下的訂票,系統(tǒng)會總動跳轉(zhuǎn)到一個界面,用戶需選擇想要訂購的機艙類型并添加乘車人姓名,及乘車人身份證號,其中所添加的乘車人身份證號必須準確無誤,填寫錯誤的身份證號系統(tǒng)會自動強制要求重新填寫,添加乘車人信息界面顯示如圖5-16所示。

圖5-16添加乘車人信息界面顯示

1.2.11退票、改簽

用戶如果想要對已購機票進行退票,即可在個人中心下的訂票管理選擇想要退的機票,點擊退票,系統(tǒng)會自動跳轉(zhuǎn)出一個界面,顯示“您確定要退票嗎”,如果用戶確定退掉該機票,點擊確定即可完成退票。退票完成后,系統(tǒng)會自動跳轉(zhuǎn)出退票成功界面。退票成功后系統(tǒng)顯示界面如圖5-17所示。

5-17退票成功系統(tǒng)顯示界面

用戶如果想要對已購機票進行改簽,即可在個人中心下的訂票管理選擇想要改簽的機票,點擊改簽,系統(tǒng)會自動跳轉(zhuǎn)出一個界面,需要用戶選擇要改簽的航班,在此過程中,用戶也可以使用對出發(fā)地點和到達地點的查詢功能找到想要改簽的機票。選擇好改簽之后的航班后,系統(tǒng)會自動跳轉(zhuǎn)出改簽成功界面。改簽成功后系統(tǒng)顯示界面如圖5-18所示。

圖5-18改簽成功系統(tǒng)顯示界面

下面是詳細功能代碼

publicStringlist2()throwsException{

HttpSessionsession=request.getSession();

if(StringUtil.isEmpty(page)){

page="1"; }

if(s_flight==null){

Objecto=session.getAttribute("s_flight");

if(o!=null){

s_flight=(Flight)o;

}else{

s_flight=newFlight(); }

}else{ session.setAttribute("s_flight",s_flight); }

flightList=flightService.findFlightList(s_flight,null);

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.registerJsonValueProcessor(Java.util.Date.class,newDateJsonValueProcessor("yyyy-MM-ddHH:mm:ss"));

jsonConfig.setExcludes(newString[]{"aircraft"});

JSONArrayrows=JSONArray.fromObject(flightList,jsonConfig);

JSONObjectresult=newJSONObject();

result.put("rows",rows);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

publicLonggetTicketOrderCount(TicketOrders_ticketOrder){

List<Object>param=newLinkedList<Object>();

StringBufferhql=newStringBuffer("selectcount(*)fromTicketOrder");

if(s_ticketOrder!=null){

if(s_ticketOrder.getUser().getId()!=null){

hql.append("anduser.id="+s_ticketOrder.getUser().getId());

}

if(s_ticketOrder.getUser()!=null&&StringUtil.isNotEmpty(s_ticketOrder.getUser().getUserName())){

hql.append("anduser.userNamelike'%"+s_ticketOrder.getUser().getUserName()+"%'"); }

if(StringUtil.isNotEmpty(s_ticketOrder.getOrderNo())){

hql.append("andorderNolike'%"+s_ticketOrder.getOrderNo()+"%'"); } }

returnbaseDAO.count(hql.toString().replaceFirst("and","where"),param); }

publicvoiddeleteTicketOrder(Integerid){

TicketOrderticketOrder=baseDAO.get(TicketOrder.class,id);

baseDAO.delete(ticketOrder);

Flightflight=baseDAO2.get(Flight.class,ticketOrder.getFlight().getId());

if("經(jīng)濟艙".equals(ticketOrder.getSpaceType())){

flight.setEcTicketRemain(flight.getEcTicketRemain()+ticketOrder.getNum());

}else{ flight.setFcTicketRemain(flight.getFcTicketRemain()+ticketOrder.getNum()) }

baseDAO2.save(flight); }

1.3管理員具體功能及其實現(xiàn)

該機票訂票系統(tǒng)的后臺管理主要有用戶管理、客機管理、航班管理、機票管理和系統(tǒng)管理幾部分組成,完全的實現(xiàn)了管理員對用戶、客機、航班、機票進行多方面的系統(tǒng)管理。

管理員的登錄功能和用戶登錄系功能的方法和路徑基本大同小異,只有當用戶和管理員輸入了正確的用戶名和密碼,才能夠登錄進入管理員的后臺系統(tǒng)。進行管理員對用戶、客機、航班、機票、系統(tǒng)的一連串多方面管理。

1.3.1用戶管理

管理用戶的主要作用是保存用戶在注冊過程中填寫的主要信息,其中包括編號、真實姓名、用戶名、密碼、性別、身份證號碼、郵箱號碼、聯(lián)系電話。管理員可以對以上用戶的一系列信息進行查詢、添加、修改、刪除等操作。

管理員在添加用戶信息時,需要填寫用戶的真實姓名、用戶名、性別、聯(lián)系電話、密碼、郵件、身份證號碼。當填寫郵件信息格式有錯誤時,系統(tǒng)會自動顯示“請輸入有效的電子郵件地址”,當填寫聯(lián)系電話格式有錯誤時,系統(tǒng)會自動會顯示“手機號碼輸入有誤!必須是13,15,17,18的11位數(shù)字”,當填寫身份證號碼格式有錯誤時,系統(tǒng)會自動顯示“身份證號碼輸入有誤”,當真實姓名、密碼、用戶名出現(xiàn)漏填時,系統(tǒng)會自動顯示“該輸入項為必輸入項”,當性別漏選時,再點擊保存的同時,系統(tǒng)會出現(xiàn)一個界面,標明“請選擇性別”,只有當以上所有信息填寫格式全部正確的情況下,才會成功添加用戶信息,同時界面會顯示“添加成功”。管理員添加用戶信息成功顯示界面如圖5-19所示。

圖5-19管理員添加用戶成功顯示界面

管理員在后臺添加新用戶成功后,該用戶可在用戶系統(tǒng)中通過輸入用戶名和密碼登錄前臺系統(tǒng)。

管理員在修改某一用戶信息時需要先對該用戶的信息進行勾選,如果管理員沒有對用戶信息進行勾選,系統(tǒng)會顯示“請選擇一條要編輯的數(shù)據(jù)!”,如果管理員對用戶信息勾選兩條及以上,系統(tǒng)會自動顯示“請選擇一條要編輯的數(shù)據(jù)!”,正確的操作是管理員需勾選某一用戶的信息,點擊修改選項,在出現(xiàn)的用戶信息界面編輯需要修改的信息,修改完成后,點擊保存,系統(tǒng)會出現(xiàn)“保存成功”界面。

同樣的,管理員在刪除用戶信息時需要先對該用戶的信息進行勾選,如果管理員沒有對用戶信息進行勾選,系統(tǒng)會顯示“請選擇要刪除的數(shù)據(jù)!”,但管理員刪除信息與修改信息不一樣的是,刪除信息可以一次性勾選很多條用戶信息,勾選出想要刪除的用戶信息后,點擊刪除,系統(tǒng)會自動出現(xiàn)一個界面,顯示“您確定要刪除這x條數(shù)據(jù)嗎?”。點擊確定后,系統(tǒng)會自動顯示“數(shù)據(jù)已成功刪除”。管理員刪除用戶信息成功顯示界面如圖5-20所示。

圖5-20管理員刪除用戶成功顯示界面

管理員還有對用戶信息查詢的功能,管理員通過輸入關鍵詞,點擊搜索,即可實現(xiàn)對全部用戶信息的查詢。

但值得注意的是,當用戶在前臺成功訂購機票后,后臺管理員是沒有刪除該用戶信息的權(quán)限的,當管理員對該用戶進行刪除操作后,系統(tǒng)會自動出現(xiàn)一個界面,顯示“該用戶預訂單,不能刪除!”,管理員對已有訂單用戶進行刪除時,系統(tǒng)顯示界面如圖5-21所示。

圖5-21管理員對已有訂單用戶進行刪除系統(tǒng)顯示界面

用戶管理系統(tǒng)完整界面如圖5-22所示。

圖5-22用戶管理系統(tǒng)完整界面

下面是用戶管理功能的代碼

publicStringlist()throwsException{

PageBeanpageBean=newPageBean(Integer.parseInt(page),Integer.parseInt(rows));

List<User>userList=userService.findUserList(s_user,pageBean);

longtotal=userService.getUserCount(s_user);

JsonConfigjsonConfig=newJsonConfig();

JSONArrayrows=JSONArray.fromObject(userList,jsonConfig);

JSONObjectresult=newJSONObject();

result.put("rows",rows);

result.put("total",total);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

publicStringdeleteUser()throwsException{

JSONObjectresult=newJSONObject();

String[]idsStr=ids.split(",");

booleanflag=true;

for(inti=0;i<idsStr.length;i++){

if(ticketService.existTicketOrderWithUserId(Integer.parseInt(idsStr[i]))){

flag=false;

}else{

Useru=userService.getUserById(Integer.parseInt(idsStr[i]));

userService.delete(u);} }

result.put("success",flag);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

1.3.2客機管理

管理客機的主要作用是保存客機的一些主要信息,其中包括編號、客機名稱、購買日期、服役日期、備注。管理員可以對以上客機的一系列信息進行查詢、添加、修改、刪除等操作。

管理員在添加客機信息時,需要填寫客機的客機名稱、購買日期、服役日期、備注,其中備注為非必填項。當填寫的客機信息為空時,或者購買日期和服役日期為空時,系統(tǒng)會自動顯示“該輸入項為必輸入項”,同時需要注意的是,客機的服役日期必須在客機的購買日期之后,當輸入的服役日期在購買日期之前時,系統(tǒng)會自動顯示一個界面,顯示“購買日期必須小于服役日期”。只有當以上所有信息填寫格式全部正確的情況下,才會成功添加客機信息,同時界面會顯示“添加成功”。

管理員在修改某一客機信息時需要先對該客機的信息進行勾選,如果管理員沒有對客機信息進行勾選,系統(tǒng)會顯示“請選擇一條要編輯的數(shù)據(jù)!”,如果管理員對客機信息勾選兩條及以上,系統(tǒng)會自動顯示“請選擇一條要編輯的數(shù)據(jù)!”,正確的操作是管理員需勾選某一客機的信息,點擊修改選項,在出現(xiàn)的客機信息界面編輯需要修改的信息,修改完成后,點擊保存,系統(tǒng)會出現(xiàn)“保存成功”界面。

同樣的,管理員需要先點擊左邊的小方塊,對相應的行列進行選擇,然后點擊上方的按鈕,就可以進行刪除了,因為訂單是用戶自行下單,處于用戶的隱私考慮。所以管理員除了刪除的功能之外,沒有其他的功能,如果管理員在沒有進行勾選小方塊的時候就點擊刪除操作,那么系統(tǒng)會進行提示,提示管理員沒有進行選擇。點擊確定之后就可以繼續(xù)刪除,而且管理員可以進行批量刪除,只需要勾選多個方框即可。系統(tǒng)會自動出現(xiàn)一個界面,顯示“您確定要刪除這x條數(shù)據(jù)嗎?”。點擊確定后,系統(tǒng)會自動顯示“數(shù)據(jù)已成功刪除”。但值得注意的是,當用戶在前臺成功訂購機票后,后臺管理員是沒有刪除相對應機票的客機信息的權(quán)限的,管理員對該客機進行刪除操作后,系統(tǒng)會自動出現(xiàn)一個界面,顯示“刪除失??!請檢查是否有正在飛行的航班”,管理員對已有飛行任務客機進行刪除時,系統(tǒng)顯示界面如圖5-23所示。

圖5-23管理員對已有飛行任務客機進行刪除系統(tǒng)顯示界面

管理員還有對客機信息查詢的功能,管理員通過輸入關鍵詞,進行模糊查詢點擊搜索,即可實現(xiàn)對全部客機信息的查詢。

客機管理系統(tǒng)完整界面如圖5-24所示。

圖5-24客機管理系統(tǒng)完整界面

下面是獲取客機的功能代碼

publicStringsave()throwsException{

JSONObjectresult=newJSONObject();

aircraftService.saveAircraft(aircraft);

result.put("success",true);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

publicStringlist()throwsException{

PageBeanpageBean=newPageBean(Integer.parseInt(page),Integer.parseInt(rows));

List<Aircraft>aircraftList=aircraftService.findAircraftList(s_aircraft,pageBean);

longtotal=aircraftService.getAircraftCount(s_aircraft);

JsonConfigjsonConfig=newJsonConfig();

jsonConfig.registerJsonValueProcessor(Java.util.Date.class,newDateJsonValueProcessor("yyyy-MM-dd"));

JSONArrayrows=JSONArray.fromObject(aircraftList,jsonConfig);

JSONObjectresult=newJSONObject();

result.put("rows",rows);

result.put("total",total);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

publicStringdeleteAircraft()throwsException{

JSONObjectresult=newJSONObject();

String[]idsStr=ids.split(",");

for(inti=0;i<idsStr.length;i++){

Aircraftu=aircraftService.getAircraftById(Integer.parseInt(idsStr[i]));

try{ aircraftService.delete(u);

}catch(Exceptione){

result.put("success",false);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull; } }

result.put("success",true);

ResponseUtil.write(ServletActionContext.getResponse(),result);

returnnull;}

publicStringcomboList()throwsException{

JSONArrayjsonArray=newJSONArray();

JSONObjectjsonObject=newJSONObject();

jsonObject.put("id","");

jsonObject.put("name","請選擇...");

jsonArray.add(jsonObject);

List<Aircraft>aircraftList=aircraftService.findAircraftList(null,null);

JsonConfigjsonConfig=newJsonConfig();

JSONArrayrows=JSONArray.fromObject(aircraftList,jsonConfig);

jsonArray.addAll(rows);

ResponseUtil.write(ServletActionContext.getResponse(),jsonArray);

returnnull;}

1.3.3航班管理

管理員進行航班管理主要就是對航班的信息進行更改,諸如航班的名稱、航班的類型(類型分為兩類國內(nèi)/國際航班)、航班出發(fā)城市、到達的城市、出發(fā)的時間、到達目的地的時間、飛機票價(票價分為經(jīng)濟艙、頭等艙)、飛機票數(shù)(經(jīng)濟艙總票數(shù)、頭等艙票數(shù))、飛機票剩余票數(shù)(頭等艙剩余票數(shù)、經(jīng)濟艙剩余票數(shù))還有就是航班使用的客機名稱。管理員可以對上面這這些信息進行修改操作,還可以直接對航班進行增加、刪除、修改、查詢操作。

在管理員添加航班的信息的時候。管理員需要填寫添加航班的名稱、航班的類型(類型分為兩類國內(nèi)/國際航班)、航班出發(fā)城市、到達的城市、出發(fā)的時間、到達目的地的時間、飛機票價(票價分為經(jīng)濟艙、頭等艙)、飛機票數(shù)(經(jīng)濟艙總票數(shù)、頭等艙票數(shù))、飛機票剩余票數(shù)(頭等艙剩余票數(shù)、經(jīng)濟艙剩余票數(shù))還有航班使用的客機名稱。

當上述各項,出現(xiàn)一種為空的時候,系統(tǒng)會自動在輸入框的后面顯示“該輸入項為必輸入項”,當使用客機沒有選擇時,系統(tǒng)會顯示“請選擇使用客機”,當航班類型為空時,系統(tǒng)會顯示“請選擇航班類型”,但同時需要注意的是,航班的出發(fā)時間必須在航班的到達時間之前,當輸入的出發(fā)時間在到達時間之后時,系統(tǒng)會自動顯示一個界面,顯示“出發(fā)日期必須小于到達日期”。只有當以上所有信息填寫格式全部正確的情況下,才會成功添加航班信息,同時界面會顯示“添加成功”。

管理員在修改某一航班信息時需要先對該航班的信息進行勾選,如果管理員沒有對航班信息進行勾選,系統(tǒng)會顯示“請選擇一條要編輯的數(shù)據(jù)!”,如果管理員對航班信息勾選兩條及以上,系統(tǒng)會自動顯示“請選擇一條要編輯的數(shù)據(jù)!”,正確的操作是管理員需勾選某一航班的信息,點擊修改選項,在出現(xiàn)的航班信息界面編輯需要修改的信息,修改完成后,點擊保存,系統(tǒng)會出現(xiàn)“保存成功”界面。

同樣的,管理員在刪除航班信息時需要先對該航班的信息進行勾選,如果管理員沒有對航班信息進行勾選,系統(tǒng)會顯示“請選擇要刪除的數(shù)據(jù)!”,但管理員刪除信息與修改信息不一樣的是,刪除信息可以一次性勾選很多條航班信息,勾選出想要刪除的航班信息后,點擊刪除,系統(tǒng)會自動出現(xiàn)一個界面,顯示“您確定要刪除這x條數(shù)據(jù)嗎?”。點擊確定后,系統(tǒng)會自動顯示“數(shù)據(jù)已成功刪除”。

管理員還有對航班信息查詢的功能,管理員通過輸入關鍵詞,點擊搜索,即可實現(xiàn)對全部航班信息的查詢。航班管理系統(tǒng)完整界面如圖5-25所示。

圖5-25航班管理系統(tǒng)完整界面

1.3.4機票管理

管理機票的主要作用是保存用戶在成功訂購機票后的一些主要信息,其中包括編號、訂單號、訂購時間、航班名稱、用戶名、座艙類型、票價、訂購數(shù)量、總價、乘車人信息(用戶名、身份證號)。在本系統(tǒng)注冊的用戶,管理員可以對其機票訂單的進行增加、刪除、更改、查詢操作。

管理員在刪除用戶信息時需要先對該機票的信息進行勾選,如果管理員沒有對機票信息進行勾選,系統(tǒng)會顯示“請選擇要刪除的數(shù)據(jù)!”,刪除信息可以一次性勾選很多條機票信息,勾選出想要刪除的機票信息后,點擊刪除,系統(tǒng)會自動出現(xiàn)一個界面,顯示“您確定要刪除這x條數(shù)據(jù)嗎?”。點擊確定后,系統(tǒng)會自動顯示“數(shù)據(jù)已成功刪除”。

管理員還有對機票信息查詢的功能,管理員通過輸入關鍵詞,點擊搜索,即可實現(xiàn)對全部機票信息的查詢。

機票管理系統(tǒng)完整界面如圖5-26所示。

圖5-26機票管理系統(tǒng)完整界面

1.3.5系統(tǒng)管理

系統(tǒng)管理主要包括修改密碼和安全退出兩部分。修改密碼就是當管理員在進行更換時需要進行修改密碼,防止他人登錄。這是首先需要輸入原始密碼,然后再輸入新的密碼。在修改密碼時出現(xiàn)原密碼有空或者原密碼輸入有誤的時候,系統(tǒng)都會進行提示。下面如圖5-27所示是管理員修改成功之后系統(tǒng)的顯示界面。

圖5-27成功修改密碼界面

第二個功能就是管理員要進行退出時,如果直接關閉頁面在瀏覽器中的session中可能會存有管理員的賬號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論