EbookPurchaseRepositoryImpl.java
package qwerty.chaekit.domain.ebook.purchase.repository;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository;
import qwerty.chaekit.domain.ebook.Ebook;
import qwerty.chaekit.domain.ebook.purchase.EbookPurchase;
import qwerty.chaekit.domain.member.user.UserProfile;
import java.util.List;
import java.util.Optional;
@Repository
@RequiredArgsConstructor
public class EbookPurchaseRepositoryImpl implements EbookPurchaseRepository {
private final EbookPurchaseJpaRepository ebookPurchaseJpaRepository;
@Override
public EbookPurchase save(EbookPurchase ebookPurchase) {
return ebookPurchaseJpaRepository.save(ebookPurchase);
}
@Override
public Page<EbookPurchase> findByUserIdWithEbook(Long userId, Pageable pageable) {
return ebookPurchaseJpaRepository.findByUserIdWithEbook(userId, pageable);
}
@Override
public Optional<EbookPurchase> findByUserAndEbook(UserProfile user, Ebook ebook) {
return ebookPurchaseJpaRepository.findByUserAndEbook(user, ebook);
}
@Override
public boolean existsByUserIdAndEbookId(Long userId, Long ebookId) {
return ebookPurchaseJpaRepository.existsByUser_IdAndEbook_Id(userId, ebookId);
}
@Override
public List<EbookPurchase> findByUserIdInAndEbook(List<Long> userIdList, Ebook ebook) {
return ebookPurchaseJpaRepository.findByUserIdInAndEbook(userIdList, ebook);
}
@Override
public void saveAll(List<EbookPurchase> ebookPurchases) {
ebookPurchaseJpaRepository.saveAll(ebookPurchases);
}
}