cambio en la cantidad del detalle

develop
Daniel Arroyo 3 years ago
parent 6b7d555c56
commit 0ac865321e
  1. 2
      pom.xml
  2. 17
      src/main/java/api/menu/playa/controller/OrdenController.java
  3. 31
      src/main/java/api/menu/playa/helper/OrdenHelper.java
  4. 21
      src/main/java/api/menu/playa/vo/CambioCantidadVO.java

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>api.menu.playa</groupId>
<artifactId>api-menu-playa</artifactId>
<version>1.1.2</version>
<version>1.1.3</version>
<properties>
<compiler-plugin.version>3.10.1</compiler-plugin.version>
<maven.compiler.release>11</maven.compiler.release>

@ -77,9 +77,13 @@ public class OrdenController {
@Path("/add")
public Response add(ProductoIdVO vo) {
ordenHelper.agregar(vo);
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();
}
return Response.ok(new ResponseGlobal<>(0, SUCCESS)).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();
}
/*

@ -67,20 +67,21 @@ public class OrdenHelper {
return mapper(orden.get());
}
public void agregar(ProductoIdVO vo) {
public void agregar(ProductoIdVO vo) throws NegocioException {
Optional<Orden> orden = ordenDAO.findById(vo.getOrden());
if (orden.isEmpty()) {
throw new NegocioException("Orden no encontrada", 2);
}
Optional<Producto> producto = productoDAO.findById(vo.getProducto());
if (producto.isEmpty()) {
throw new NegocioException("Producto no encontrado", 2);
}
Collection<Precio> precios = precioDAO.getPrecio(vo.getProducto());
Precio precio = precios.stream().findFirst().get();
@ -97,30 +98,18 @@ public class OrdenHelper {
detalleDAO.save(detalle);
}
public void cambiar(CambioCantidadVO vo) {
public void cambiar(CambioCantidadVO vo) throws NegocioException {
Optional<Detalle> 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());

@ -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;
@ -24,4 +13,12 @@ public class CambioCantidadVO {
this.detalle = detalle;
}
public Integer getDato() {
return dato;
}
public void setDato(Integer dato) {
this.dato = dato;
}
}

Loading…
Cancel
Save

Powered by TurnKey Linux.