Java Reference
In-Depth Information
B Finds or creates
pending order
PendingOrderDTO pendingOrder =
findOrCreatePendingOrder(pendingOrderId);
Calendar earliestDeliveryTime = Calendar
.getInstance();
earliestDeliveryTime
.add(Calendar.HOUR, 1);
C Checks
delivery time
if (deliveryTime
.before(earliestDeliveryTime
.getTime())) {
return new UpdateDeliveryInfoResult(
UpdateDeliveryInfoResult.
bbbbbb b INVALID_DELIVERY_INFO,
pendingOrder, null);
}
List availableRestaurants =
restaurantDAO
.findAvailableRestaurants(
deliveryAddress, deliveryTime);
if (availableRestaurants.isEmpty()) {
return new UpdateDeliveryInfoResult (
UpdateDeliveryInfoResult.
bbbbbbb b NO_RESTAURANT_AVAILABLE,
pendingOrder, null);
}
pendingOrder
.setDeliveryAddress(deliveryAddress);
pendingOrder
.setDeliveryTime(deliveryTime);
pendingOrder
.setState(PendingOrder.
bbbbbbbb b DELIVERY_INFO_SPECIFIED);
pendingOrderDAO
.savePendingOrder(pendingOrder);
return new UpdateDeliveryInfoResult(
UpdateDeliveryInfoResult.
bbbbbb SELECT_RESTAURANT,
pendingOrder,
availableRestaurants);
}
D Finds available
restaurants
E Returns error code
if there are none
F Updates
PendingOrderDTO
G Saves PendingOrderDTO
back to database
H Creates
result object
private PendingOrderDTO findOrCreatePendingOrder(
String pendingOrderId) {
if (pendingOrderId == null)
Search WWH ::




Custom Search