| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package nju.seec.helper.dao;
- import nju.seec.helper.entity.Comment;
- import nju.seec.helper.entity.User;
- import nju.seec.helper.enums.ExceptionType;
- import nju.seec.helper.exception.HelperException;
- 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.stereotype.Repository;
- import java.util.List;
- /**
- * @author cst
- */
- @Repository
- public interface CommentDAO extends JpaRepository<Comment, Long>, JpaSpecificationExecutor<Comment> {
- /**
- * 封装findById
- *
- * @param id
- * @return
- */
- default Comment findCommentById(Long id) {
- return this.findById(id)
- .orElseThrow(() -> HelperException.of(ExceptionType.NOT_FOUND, "找不到评论"));
- }
- /**
- * 根据课件ID、页码、置顶指数统计
- *
- * @param slideId
- * @param pageNumber
- * @param topNumber
- * @return
- */
- long countBySlideIdAndPageNumberAndTopNumberNot(Long slideId, Integer pageNumber, Integer topNumber);
- /**
- * 根据课件ID、页码、置顶指数检索
- *
- * @param slideId
- * @param pageNumber
- * @param topNumber
- * @return
- */
- List<Comment> findBySlideIdAndPageNumberAndTopNumberGreaterThan(Long slideId, Integer pageNumber, Integer topNumber);
- /**
- * 根据课件ID、页码、是否展示检索
- *
- * @param slideId
- * @param pageNumber
- * @param show
- * @param pageable
- * @return
- */
- Page<Comment> findBySlideIdAndPageNumberAndShow(Long slideId, Integer pageNumber, Boolean show, Pageable pageable);
- /**
- * 根据课件ID、页码、用户ID、是否展示检索
- *
- * @param slideId
- * @param pageNumber
- * @param user
- * @param show
- * @param pageable
- * @return
- */
- Page<Comment> findBySlideIdAndPageNumberAndUserAndShow(Long slideId, Integer pageNumber, User user, Boolean show, Pageable pageable);
- }
|