diff --git a/pom.xml b/pom.xml index d739550..15e1161 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 api.menu.playa api-menu-playa - 1.1.2 + 1.1.3 3.10.1 11 diff --git a/src/main/java/api/menu/playa/controller/OrdenController.java b/src/main/java/api/menu/playa/controller/OrdenController.java index 67a0efa..dc9c9c0 100644 --- a/src/main/java/api/menu/playa/controller/OrdenController.java +++ b/src/main/java/api/menu/playa/controller/OrdenController.java @@ -77,9 +77,13 @@ public class OrdenController { @Path("/add") public Response add(ProductoIdVO vo) { - ordenHelper.agregar(vo); - - return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build(); + try { + ordenHelper.agregar(vo); + return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build(); + } catch (NegocioException e) { + return Response.ok(new ResponseGlobal<>(e.getCode(), e.getMessage())).build(); + } + } @RolesAllowed({"USER", "ADMIN"}) @@ -87,9 +91,14 @@ public class OrdenController { @Path("/detail") public Response detail( CambioCantidadVO vo) { - ordenHelper.cambiar(vo); + try { + ordenHelper.cambiar(vo); + return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build(); + } catch (NegocioException e) { + return Response.ok(new ResponseGlobal<>(e.getCode(), e.getMessage())).build(); + } - return Response.ok(new ResponseGlobal<>(0, SUCCESS)).build(); + } /* diff --git a/src/main/java/api/menu/playa/helper/OrdenHelper.java b/src/main/java/api/menu/playa/helper/OrdenHelper.java index 343c01d..7f8803c 100644 --- a/src/main/java/api/menu/playa/helper/OrdenHelper.java +++ b/src/main/java/api/menu/playa/helper/OrdenHelper.java @@ -67,19 +67,20 @@ public class OrdenHelper { return mapper(orden.get()); } - public void agregar(ProductoIdVO vo) { + public void agregar(ProductoIdVO vo) throws NegocioException { Optional orden = ordenDAO.findById(vo.getOrden()); if (orden.isEmpty()) { - + throw new NegocioException("Orden no encontrada", 2); } Optional producto = productoDAO.findById(vo.getProducto()); if (producto.isEmpty()) { - + throw new NegocioException("Producto no encontrado", 2); } + Collection precios = precioDAO.getPrecio(vo.getProducto()); @@ -97,30 +98,18 @@ public class OrdenHelper { detalleDAO.save(detalle); } - public void cambiar(CambioCantidadVO vo) { + public void cambiar(CambioCantidadVO vo) throws NegocioException { Optional detalle = detalleDAO.findById(vo.getDetalle()); if (detalle.isEmpty()) { - + throw new NegocioException("Detalle no encopntrado", 2); } - switch (vo.getDato()) { - case MINUS: - Integer valorMenor = detalle.get().getCantidad()-1; - if (valorMenor == 0) { - detalle.get().setEliminado(true); - } else { - detalle.get().setCantidad(valorMenor); - } - break; - case PLUS: - Integer valorMayor = detalle.get().getCantidad()+1; - - detalle.get().setCantidad(valorMayor); - break; - default: - System.err.println("ERRROR"); + if (vo.getDato() > 0) { + detalle.get().setCantidad(vo.getDato()); + } else { + detalle.get().setEliminado(true); } detalleDAO.save(detalle.get()); diff --git a/src/main/java/api/menu/playa/vo/CambioCantidadVO.java b/src/main/java/api/menu/playa/vo/CambioCantidadVO.java index 54c4cdd..c00d635 100644 --- a/src/main/java/api/menu/playa/vo/CambioCantidadVO.java +++ b/src/main/java/api/menu/playa/vo/CambioCantidadVO.java @@ -1,20 +1,9 @@ package api.menu.playa.vo; -import api.menu.playa.enums.CambioCantidadEnum; - - public class CambioCantidadVO { private Long detalle; - private CambioCantidadEnum dato; - - public CambioCantidadEnum getDato() { - return dato; - } - - public void setDato(CambioCantidadEnum dato) { - this.dato = dato; - } + private Integer dato; public Long getDetalle() { return detalle; @@ -23,5 +12,13 @@ public class CambioCantidadVO { public void setDetalle(Long detalle) { this.detalle = detalle; } + + public Integer getDato() { + return dato; + } + + public void setDato(Integer dato) { + this.dato = dato; + } }