package com.izouma.nineth.repo; import com.izouma.nineth.domain.DomainOrder; import com.izouma.nineth.enums.CollectionStatus; import com.izouma.nineth.enums.OrderStatus; import com.izouma.nineth.service.LikeService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import javax.transaction.Transactional; import java.time.LocalDateTime; import java.util.List; public interface DomainOrderRepo extends JpaRepository, JpaSpecificationExecutor { @Query("update DomainOrder t set t.del = true where t.id = ?1") @Modifying @Transactional void softDelete(Long id); List findAllByUserIdAndOrderStatus(Long userId, OrderStatus status); Page findAllByOrderStatusOrderByCreatedAtDesc(OrderStatus status, Pageable pageable); List findAllByPicNameInAndOrderStatus(List strings, OrderStatus status); Integer countAllByDomainNameEqualsAndOrderStatusNot(String name, OrderStatus status); @Query(value = "select c from DomainOrder c where c.picName like ?1 and c.orderStatus <> ?2") Page searchUsedDomain(String name, OrderStatus status, Pageable pageable); List findByOrderStatusAndCreatedAtBeforeAndDelFalse(OrderStatus orderStatus, LocalDateTime createdAt); }