@SuppressWarnings("unchecked") @ResponseBody @RequestMapping(value = "/order/getOrder.ajax", method = RequestMethod.POST) public ResponseEntity<byte[]> getOrder(HttpServletRequest request) throws Exception { Map<String, Object> model = new HashMap<String, Object>(); try { HttpSession session = request.getSession(true); String orderId = (String) session.getAttribute("orderid"); String restaurantId = (String) session.getAttribute("restaurantid"); Order order = null; if (orderId != null) { order = orderRepository.findByOrderId(orderId); // If the current order has no items but is linked to another restauarant, update it now if (order.getOrderItems().size() == 0 && !order.getRestaurantId().equals(restaurantId)) { order.setRestaurant(restaurantRepository.findByRestaurantId(restaurantId)); } order.updateCosts(); // Update can checkout status of order session.setAttribute("cancheckout", order.getCanCheckout()); session.setAttribute("cansubmitpayment", order.getCanSubmitPayment()); } model.put("success", true); model.put("order", order); } catch (Exception ex) { LOGGER.error("", ex); model.put("success", false); model.put("message", ex.getMessage()); } return buildOrderResponse(model); }