AuctionActivityRepo.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.izouma.nineth.repo;
  2. import com.izouma.nineth.domain.AuctionActivity;
  3. import com.izouma.nineth.enums.AuctionStatus;
  4. import org.springframework.data.jpa.repository.JpaRepository;
  5. import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
  6. import org.springframework.data.jpa.repository.Modifying;
  7. import org.springframework.data.jpa.repository.Query;
  8. import javax.transaction.Transactional;
  9. import java.time.LocalDateTime;
  10. import java.util.Collection;
  11. import java.util.List;
  12. public interface AuctionActivityRepo extends JpaRepository<AuctionActivity, Long>, JpaSpecificationExecutor<AuctionActivity> {
  13. @Query("update AuctionActivity t set t.del = true where t.id = ?1")
  14. @Modifying
  15. @Transactional
  16. void softDelete(Long id);
  17. @Query("select status from AuctionActivity where id = ?1")
  18. String getStatus(Long id);
  19. @Modifying
  20. @Transactional
  21. @Query("update AuctionActivity set status = ?2 where id = ?1")
  22. void updateStatus(Long id, AuctionStatus status);
  23. @Query("update AuctionActivity t set t.likes = t.likes + ?2 where t.id = ?1")
  24. @Modifying
  25. @Transactional
  26. void addLike(Long id, int num);
  27. @Transactional
  28. @Modifying
  29. @Query("update AuctionActivity c set c.status = ?2 where c.id = ?1")
  30. void scheduleOffShelf(Long id, AuctionStatus status);
  31. List<AuctionActivity> findAllByStatus(AuctionStatus auctionStatus);
  32. List<AuctionActivity> findByAssetId(Long assetId);
  33. List<AuctionActivity> findByStartTimeBeforeAndStatusIn(LocalDateTime startTime, Collection<AuctionStatus> status);
  34. List<AuctionActivity> findByStartTimeBeforeAndStatus(LocalDateTime startTime, AuctionStatus status);
  35. @Modifying
  36. @Transactional
  37. @Query("update AuctionActivity set onShelf = ?2 where assetId = ?1 and onShelf <> ?2")
  38. void updateOnShelf(Long assetId, boolean onShelf);
  39. }