package io.spring.infrastructure.mybatis.readservice; import io.spring.application.Page; import io.spring.application.data.ArticleData; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; @Component @Mapper public interface ArticleReadService { ArticleData findById(@Param("id") String id); ArticleData findBySlug(@Param("slug") String slug); List 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 findArticles(@Param("articleIds") List articleIds); List findArticlesOfAuthors(@Param("authors") List authors, @Param("page") Page page); int countFeedSize(@Param("authors") List authors); }