43 lines
1.3 KiB
Java
43 lines
1.3 KiB
Java
package io.spring.infrastructure.mybatis.readservice;
|
|
|
|
import io.spring.application.CursorPageParameter;
|
|
import io.spring.application.Page;
|
|
import io.spring.application.data.ArticleData;
|
|
import java.util.List;
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
|
@Mapper
|
|
public interface ArticleReadService {
|
|
ArticleData findById(@Param("id") String id);
|
|
|
|
ArticleData findBySlug(@Param("slug") String slug);
|
|
|
|
List<String> queryArticles(
|
|
@Param("tag") String tag,
|
|
@Param("author") String author,
|
|
@Param("favoritedBy") String favoritedBy,
|
|
@Param("page") Page page);
|
|
|
|
int countArticle(
|
|
@Param("tag") String tag,
|
|
@Param("author") String author,
|
|
@Param("favoritedBy") String favoritedBy);
|
|
|
|
List<ArticleData> findArticles(@Param("articleIds") List<String> articleIds);
|
|
|
|
List<ArticleData> findArticlesOfAuthors(
|
|
@Param("authors") List<String> authors, @Param("page") Page page);
|
|
|
|
List<ArticleData> findArticlesOfAuthorsWithCursor(
|
|
@Param("authors") List<String> authors, @Param("page") CursorPageParameter page);
|
|
|
|
int countFeedSize(@Param("authors") List<String> authors);
|
|
|
|
List<String> findArticlesWithCursor(
|
|
@Param("tag") String tag,
|
|
@Param("author") String author,
|
|
@Param("favoritedBy") String favoritedBy,
|
|
@Param("page") CursorPageParameter page);
|
|
}
|