}
}
} else if ("checkIn".equals(op)) {// 确认入住
boolean flag = true;
for (String roomid : roomids) {
Room r = roomService.getRoom(roomid);
if (r.getStatus() != Room.RESERVE) {
flag = false;
}
if (!flag) {
request.setAttribute("errMsg", "只有已经预订的房间才能入住!");
break;
}
}
if (flag) {
for (String roomid : roomids) {
userService.checkIn(orderid, roomid);
}
request.setAttribute("errMsg", "入住成功");
}
} else if ("checkOut".equals(op)) {// 退房,只有预订中和已入住的房间才能退房,退房后结算金额
boolean flag = true;
for (String roomid : roomids) {
Room r = roomService.getRoom(roomid);
if (r.getStatus() != Room.RESERVE
&& r.getStatus() != Room.CHECKIN) {
flag = false;
}
if (!flag) {
request.setAttribute("errMsg", "只有预订中和已入住的房间才能退房");
break;
}
}
if (flag) {
float totalprices = 0;
for (String roomid : roomids) {
userService.checkOut(orderid, roomid);
List<OrderInfo> infos = userService
.listOrderInfo(orderid);
for (OrderInfo info : infos) {
if (info.getRoomNumber().equals(roomid))
totalprices += info.getTotalprices();
}
}
request.setAttribute("errMsg", "退房成功,应付金额为:" + totalprices
+ "元!");
}
}
}
List<OrderInfo> list = userService.listOrderInfo(orderid);
Order order = userService.getOrder(orderid);
for (OrderInfo info : list) {
Room room = roomService.getRoom(info.getRoomNumber());
if (null != room)
info.setRoom(room);
}
request.setAttribute("order", order);
request.setAttribute("rooms", list);