MintActivityRepo.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.izouma.nineth.repo;
  2. import com.izouma.nineth.domain.MintActivity;
  3. import org.springframework.cache.annotation.CacheEvict;
  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.util.Collection;
  10. import java.util.List;
  11. import java.util.Optional;
  12. public interface MintActivityRepo extends JpaRepository<MintActivity, Long>, JpaSpecificationExecutor<MintActivity> {
  13. @Query("update MintActivity t set t.del = true where t.id = ?1")
  14. @Modifying
  15. @Transactional
  16. void softDelete(Long id);
  17. Optional<MintActivity> findByIdAndDelFalse(Long id);
  18. @Query("update MintActivity t set t.stock = t.stock + 1 where t.id = ?1")
  19. @Modifying
  20. @Transactional
  21. void addStock(Long id);
  22. List<MintActivity> findAllByIdInAndDelFalse(Collection<Long> id);
  23. @Query("select c.stock from MintActivity c where c.id = ?1")
  24. Integer getStock(Long id);
  25. @Query("update MintActivity c set c.stock = ?2 where c.id = ?1")
  26. @Transactional
  27. @Modifying
  28. int updateStock(Long id, int stock);
  29. @Transactional
  30. @Modifying
  31. @Query("update MintActivity c set c.scheduleSale = false, c.startTime = null, c.onShelf = true where c.id = ?1")
  32. @CacheEvict(value = "mintActivity", key = "#id")
  33. void scheduleOnShelf(Long id);
  34. }