Skip to content

Instantly share code, notes, and snippets.

Last active September 4, 2019 21:47
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
@PostMapping(value = "/terminar")
public String terminarVenta(HttpServletRequest request, RedirectAttributes redirectAttrs) {
ArrayList<ProductoParaVender> carrito = this.obtenerCarrito(request);
// Si no hay carrito o está vacío, regresamos inmediatamente
if (carrito == null || carrito.size() <= 0) {
return "redirect:/vender/";
Venta v = Venta());
// Recorrer el carrito
for (ProductoParaVender productoParaVender : carrito) {
// Obtener el producto fresco desde la base de datos
Producto p = productosRepository.findById(productoParaVender.getId()).orElse(null);
if (p == null) continue; // Si es nulo o no existe, ignoramos el siguiente código con continue
// Le restamos existencia
// Lo guardamos con la existencia ya restada;
// Creamos un nuevo producto que será el que se guarda junto con la venta
ProductoVendido productoVendido = new ProductoVendido(productoParaVender.getCantidad(), productoParaVender.getPrecio(), productoParaVender.getNombre(), productoParaVender.getCodigo(), v);
// Y lo guardamos;
// Al final limpiamos el carrito
// e indicamos una venta exitosa
.addFlashAttribute("mensaje", "Venta realizada correctamente")
.addFlashAttribute("clase", "success");
return "redirect:/vender/";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment