@RequestMapping(value = "/{user}/addItem", method = RequestMethod.POST) public @ResponseBody Cart add(@PathVariable String user, @RequestBody Item item) { CartBO cartBO = cartBODao.getCart(user); if (cartBO == null) { cartBO = cartBODao.addCart(user); } item.setUser(user); item.setCartId(cartBO.getId()); Product product = getProductsDao().getProduct(item.getProductId()); item.setName(product.getName()); Item dbItem = getItemDao().getItem(item); if (dbItem == null) { item.setTotal(new BigDecimal(product.getPrice().doubleValue() * item.getQuantity())); getItemDao().save(item); } else { item.setQuantity(dbItem.getQuantity() + item.getQuantity()); item.setTotal(item.getTotal().add(dbItem.getTotal())); getItemDao().update(item); } return preparCart(item); }
@RequestMapping(value = "/{user}/updateItem", method = RequestMethod.PUT) public @ResponseBody Cart update(@PathVariable String user, @RequestBody Item item) { item.setUser(user); CartBO cartBO = cartBODao.getCart(user); item.setCartId(cartBO.getId()); Product product = getProductsDao().getProduct(item.getProductId()); item.setTotal(new BigDecimal(product.getPrice().doubleValue() * item.getQuantity())); getItemDao().update(item); return preparCart(item); }