2017-08-18 16:08:27 +07:00
|
|
|
package io.spring.infrastructure.mybatis.readservice;
|
2017-08-15 09:47:18 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
import io.spring.application.CursorPageParameter;
|
2017-08-17 13:27:29 +07:00
|
|
|
import io.spring.application.Page;
|
2017-08-18 16:08:27 +07:00
|
|
|
import io.spring.application.data.ArticleData;
|
2021-03-19 14:23:37 +07:00
|
|
|
import java.util.List;
|
2017-08-15 09:47:18 +07:00
|
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
|
|
|
|
|
@Mapper
|
|
|
|
public interface ArticleReadService {
|
2021-03-19 14:23:37 +07:00
|
|
|
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);
|
2017-08-15 10:21:55 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
int countArticle(
|
|
|
|
@Param("tag") String tag,
|
|
|
|
@Param("author") String author,
|
|
|
|
@Param("favoritedBy") String favoritedBy);
|
2017-08-17 13:27:29 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
List<ArticleData> findArticles(@Param("articleIds") List<String> articleIds);
|
2017-08-17 13:27:29 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
List<ArticleData> findArticlesOfAuthors(
|
|
|
|
@Param("authors") List<String> authors, @Param("page") Page page);
|
2017-08-17 13:27:29 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
List<ArticleData> findArticlesOfAuthorsWithCursor(
|
|
|
|
@Param("authors") List<String> authors, @Param("page") CursorPageParameter page);
|
2017-08-17 16:17:37 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
int countFeedSize(@Param("authors") List<String> authors);
|
2017-08-17 16:17:37 +07:00
|
|
|
|
2021-03-19 14:23:37 +07:00
|
|
|
List<String> findArticlesWithCursor(
|
|
|
|
@Param("tag") String tag,
|
|
|
|
@Param("author") String author,
|
|
|
|
@Param("favoritedBy") String favoritedBy,
|
|
|
|
@Param("page") CursorPageParameter page);
|
2017-08-15 09:47:18 +07:00
|
|
|
}
|