mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 00:48:49 +00:00
36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
package com.imprimelibros.erp.cart;
|
|
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
import org.springframework.data.jpa.repository.Modifying;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.query.Param;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.util.Optional;
|
|
|
|
public interface CartRepository extends JpaRepository<Cart, Long> {
|
|
Optional<Cart> findByUserIdAndStatus(Long userId, Cart.Status status);
|
|
|
|
@Query("""
|
|
select distinct c from Cart c
|
|
left join fetch c.direcciones cd
|
|
left join fetch cd.direccion d
|
|
left join fetch d.pais p
|
|
left join fetch cd.presupuesto pr
|
|
where c.id = :id
|
|
""")
|
|
Optional<Cart> findByIdFetchAll(@Param("id") Long id);
|
|
|
|
@Modifying
|
|
@Transactional
|
|
@Query("""
|
|
UPDATE Cart c
|
|
SET c.status = 'ABANDONED'
|
|
WHERE c.status = 'ACTIVE'
|
|
AND c.updatedAt < :limite
|
|
""")
|
|
int markOldCartsAsAbandoned(LocalDateTime limite);
|
|
|
|
}
|