diff --git a/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java b/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java index 0a05e44..30a3244 100644 --- a/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java +++ b/src/main/java/myblog/blog/article/adapter/incomming/ArticleController.java @@ -104,13 +104,13 @@ public class ArticleController { @Transactional @GetMapping("article/list") String getArticlesListByCategory(@RequestParam String category, - @RequestParam Integer tier, - @RequestParam Integer page, + @RequestParam int tier, + @RequestParam int page, Model model) { PagingBoxHandler pagingBoxHandler = PagingBoxHandler.createOf(page, getTotalArticleCntByCategory(category, categoryQueriesUseCase.getCategoryViewForLayout())); - Slice articleDtoList = + List articleDtoList = articleQueriesUseCase.getArticlesByCategory(category, tier, pagingBoxHandler.getCurPageNum()); for(ArticleResponseForCardBox articleDto : articleDtoList){ diff --git a/src/main/java/myblog/blog/article/adapter/outgoing/persistence/ArticleRepositoryAdapter.java b/src/main/java/myblog/blog/article/adapter/outgoing/persistence/ArticleRepositoryAdapter.java index 552e443..503aa0c 100644 --- a/src/main/java/myblog/blog/article/adapter/outgoing/persistence/ArticleRepositoryAdapter.java +++ b/src/main/java/myblog/blog/article/adapter/outgoing/persistence/ArticleRepositoryAdapter.java @@ -5,6 +5,7 @@ import myblog.blog.article.application.port.outgoing.ArticleRepositoryPort; import myblog.blog.article.domain.Article; import myblog.blog.category.domain.Category; import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; import org.springframework.stereotype.Component; @@ -31,8 +32,8 @@ public class ArticleRepositoryAdapter implements ArticleRepositoryPort { } @Override - public Slice
findByOrderByIdDesc(Pageable pageable) { - return jpaArticleRepository.findByOrderByIdDesc(pageable); + public List
findByOrderByIdDesc(int page, int size) { + return jpaArticleRepository.findByOrderByIdDesc(PageRequest.of(page,size)).getContent(); } @Override @@ -41,13 +42,13 @@ public class ArticleRepositoryAdapter implements ArticleRepositoryPort { } @Override - public Slice
findBySubCategoryOrderByIdDesc(Pageable pageable, String category) { - return jpaArticleRepository.findBySubCategoryOrderByIdDesc(pageable,category); + public List
findBySubCategoryOrderByIdDesc(int page,int size, String category) { + return jpaArticleRepository.findBySubCategoryOrderByIdDesc(PageRequest.of(page, size),category).getContent(); } @Override - public Slice
findBySuperCategoryOrderByIdDesc(Pageable pageable, String category) { - return jpaArticleRepository.findBySupCategoryOrderByIdDesc(pageable,category); + public List
findBySuperCategoryOrderByIdDesc(int page,int size, String category) { + return jpaArticleRepository.findBySupCategoryOrderByIdDesc(PageRequest.of(page, size),category).getContent(); } @Override diff --git a/src/main/java/myblog/blog/article/application/ArticleQueries.java b/src/main/java/myblog/blog/article/application/ArticleQueries.java index ffac62b..d6ba60a 100644 --- a/src/main/java/myblog/blog/article/application/ArticleQueries.java +++ b/src/main/java/myblog/blog/article/application/ArticleQueries.java @@ -2,22 +2,22 @@ package myblog.blog.article.application; import lombok.RequiredArgsConstructor; +import myblog.blog.article.domain.Article; +import myblog.blog.category.domain.Category; + import myblog.blog.article.application.port.incomming.response.ArticleResponseForCardBox; import myblog.blog.article.application.port.incomming.ArticleQueriesUseCase; -import myblog.blog.article.application.port.outgoing.ArticleRepositoryPort; - -import myblog.blog.article.domain.Article; -import myblog.blog.category.appliacation.port.incomming.CategoryUseCase; -import myblog.blog.category.domain.Category; import myblog.blog.article.application.port.incomming.response.ArticleResponseByCategory; import myblog.blog.article.application.port.incomming.response.ArticleResponseForDetail; import myblog.blog.article.application.port.incomming.response.ArticleResponseForEdit; +import myblog.blog.category.appliacation.port.incomming.CategoryUseCase; + +import myblog.blog.article.application.port.outgoing.ArticleRepositoryPort; import myblog.blog.shared.utils.MapperUtils; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Slice; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -66,28 +66,25 @@ public class ArticleQueries implements ArticleQueriesUseCase { - tier 1은 super / tier 2는 sub */ @Override - public Slice getArticlesByCategory(String category, Integer tier, Integer page) { - Slice
articles = null; + public List getArticlesByCategory(String category, int tier, int page) { + List
articles = null; + page = pageResolve(page); - if (tier.equals(0)) { + if (tier == 0) { articles = articleRepositoryPort - .findByOrderByIdDesc( - PageRequest.of(pageResolve(page), 5)); + .findByOrderByIdDesc(page, 5); } - if (tier.equals(1)) { + if (tier == 1) { articles = articleRepositoryPort - .findBySuperCategoryOrderByIdDesc( - PageRequest.of(pageResolve(page), 5), category); + .findBySuperCategoryOrderByIdDesc(page, 5, category); } - if (tier.equals(2)) { + if (tier == 2) { articles = articleRepositoryPort - .findBySubCategoryOrderByIdDesc( - PageRequest.of(pageResolve(page), 5), category); + .findBySubCategoryOrderByIdDesc(page, 5, category); } - if(articles == null) throw new IllegalArgumentException("NotFoundArticleException"); - return articles.map(article -> MapperUtils.getModelMapper().map(article, ArticleResponseForCardBox.class)); + return articles.stream().map(article -> MapperUtils.getModelMapper().map(article, ArticleResponseForCardBox.class)).collect(Collectors.toList()); } /* diff --git a/src/main/java/myblog/blog/article/application/port/incomming/ArticleQueriesUseCase.java b/src/main/java/myblog/blog/article/application/port/incomming/ArticleQueriesUseCase.java index d4d8852..6d3a993 100644 --- a/src/main/java/myblog/blog/article/application/port/incomming/ArticleQueriesUseCase.java +++ b/src/main/java/myblog/blog/article/application/port/incomming/ArticleQueriesUseCase.java @@ -12,7 +12,7 @@ import java.util.List; public interface ArticleQueriesUseCase { List getPopularArticles(); List getRecentArticles(Long lastArticleId); - Slice getArticlesByCategory(String category, Integer tier, Integer page); + List getArticlesByCategory(String category, int tier, int page); ArticleResponseForEdit getArticleForEdit(Long id); ArticleResponseForDetail getArticleForDetail(Long id); List getArticlesByCategoryForDetailView(String category); diff --git a/src/main/java/myblog/blog/article/application/port/outgoing/ArticleRepositoryPort.java b/src/main/java/myblog/blog/article/application/port/outgoing/ArticleRepositoryPort.java index eefb6ed..f47e8cb 100644 --- a/src/main/java/myblog/blog/article/application/port/outgoing/ArticleRepositoryPort.java +++ b/src/main/java/myblog/blog/article/application/port/outgoing/ArticleRepositoryPort.java @@ -12,10 +12,10 @@ import java.util.Optional; public interface ArticleRepositoryPort { List
findTop6ByOrderByHitDesc(); List
findTop6ByCategoryOrderByIdDesc(Category category); - Slice
findByOrderByIdDesc(Pageable pageable); + List
findByOrderByIdDesc(int page, int size); List
findByOrderByIdDesc(Long articleId, int size); - Slice
findBySubCategoryOrderByIdDesc(Pageable pageable, String category); - Slice
findBySuperCategoryOrderByIdDesc(Pageable pageable, String category); + List
findBySubCategoryOrderByIdDesc(int page, int size, String category); + List
findBySuperCategoryOrderByIdDesc(int page, int size, String category); Article findArticleByIdFetchCategoryAndTags(Long articleId); Page
findAllByArticleTagsOrderById(Pageable pageable, String tag); Page
findAllByKeywordOrderById(Pageable pageable, String keyword); diff --git a/src/main/resources/templates/article/articleList.html b/src/main/resources/templates/article/articleList.html index fb7d2cd..9f3d978 100644 --- a/src/main/resources/templates/article/articleList.html +++ b/src/main/resources/templates/article/articleList.html @@ -63,7 +63,7 @@

카테고리 명


-
+