滿漢樓01-4
4.功能實作03
4.5訂座功能
4.5.1功能說明
如果該餐桌處于已經預定或者就餐狀態時,不能進行預定,并給出相應提示
4.5.2思路分析
根據顯示界面,要考慮以下兩種狀態
- 檢測餐桌是否存在
- 檢測餐桌的狀態
- 如果餐桌存在且狀態為空(即可以預定),在預定過后要修改餐桌狀態
4.5.3代碼實作
1.修改DiningTableService類
在該類中增加方法getDiningTableById和方法orderDiningTable
//根據id,查詢對應的餐桌DiningTable物件
//如果回傳null,則表示對應id編號的餐桌不存在
public DiningTable getDiningTableById(int id) {
//把寫完的sql陳述句放在查詢分析其去測驗一下
DiningTable diningTable =
diningTableDAO.querySingle("select * from diningTable where id=?", DiningTable.class, id);
return diningTable;
}
//如果餐桌可以預定,呼叫方法,對其狀態進行更新(包括預定人的名字和電話)
public boolean orderDiningTable(int id, String orderName, String orderTel) {
int update = diningTableDAO.update("update diningTable set state='已經預定',orderName=?,orderTel=? where id=?", orderName, orderTel, id);
return update > 0;
}
2.修改MHLView類
修改處1:在該類中增加方法orderDiningTable,完成訂座功能
//完成訂座功能
public void orderDiningTable() {
System.out.println("============預定餐桌============");
System.out.println("請選擇要預定的餐桌編號(-1退出): ");
int orderId = Utility.readInt();
if (orderId == -1) {
System.out.println("============取消預定餐桌============");
return;
}
//readConfirmSelection方法得到 Y 或者 N
char key = Utility.readConfirmSelection();
if (key == 'Y') {//要預定
//根據orderId回傳對應的DiningTable,如果為null,說明該編號的餐桌不存在
DiningTable diningTable = diningTableService.getDiningTableById(orderId);
if (diningTable == null) {
System.out.println("============預定餐桌的餐桌不存在============");
return;
}
//判斷餐桌的狀態是否為 “空”
if (!"空".equals(diningTable.getState())) {//如果餐桌狀態不為空
//不能預定
System.out.println("============該餐桌已經預定或者處于就餐中============");
return;
}
//如果前兩個判斷都不滿足,說明餐桌存在且可以預定
//接收預定資訊
System.out.print("預訂人名字: ");
String orderName = Utility.readString(50);
System.out.print("預訂人電話: ");
String orderTel = Utility.readString(50);
//更新餐桌狀態
if (diningTableService.orderDiningTable(orderId, orderName, orderTel)) {
System.out.println("============預定餐桌成功============");
} else {
System.out.println("============預定餐桌失敗============");
}
} else {
System.out.println("============取消預定餐桌============");
return;
}
}
修改處2:在顯示界面的內層回圈中呼叫orderDiningTable()方法
4.5.4測驗功能
- 首先登錄用戶賬號
- 查看當前餐桌狀態
- 選擇預定餐桌功能,輸入餐桌編號等資訊,顯示預定餐桌成功
- 再次查看當前餐桌狀態,顯示1號餐桌狀態為“已預訂”
- 再次預定同一個餐桌,預定失敗,顯示“該餐桌已經預定或者處于就餐中”
測驗完畢,通過
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/518507.html
標籤:其他
上一篇:手動生成dump檔案的方法分享
下一篇:JAVA設計模式-代理模式
