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;
+ }
}