haciendo datatables de los pagos

This commit is contained in:
2025-11-04 22:03:03 +01:00
parent dc64e40e38
commit ed32f773a4
23 changed files with 434 additions and 37 deletions

View File

@ -53,6 +53,14 @@ public class CartService {
this.pedidoService = pedidoService;
}
public Cart findById(Long cartId) {
return cartRepo.findById(cartId)
.orElseThrow(() -> new IllegalArgumentException("Carrito no encontrado"));
}
/** Devuelve el carrito activo o lo crea si no existe. */
@Transactional
public Cart getOrCreateActiveCart(Long userId) {
@ -136,6 +144,14 @@ public class CartService {
cartRepo.save(cart);
}
@Transactional
public void lockCartById(Long cartId) {
Cart cart = cartRepo.findById(cartId)
.orElseThrow(() -> new IllegalArgumentException("Carrito no encontrado"));
cart.setStatus(Cart.Status.LOCKED);
cartRepo.save(cart);
}
@Transactional
public long countItems(Long userId) {
Cart cart = getOrCreateActiveCart(userId);
@ -293,6 +309,7 @@ public class CartService {
summary.put("total", Utils.formatCurrency(total, locale));
summary.put("amountCents", Math.round(total * 100));
summary.put("errorShipmentCost", errorShipementCost);
summary.put("cartId", cart.getId());
return summary;
}