From 5fdcaae4e0339b0958e8522375d8a1759991fc01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EB=AF=B8=EB=9E=98?= Date: Sun, 10 Nov 2024 23:20:35 +0900 Subject: [PATCH 1/2] feature :: add find by view count --- .../word/domain/repository/PopularWordRepository.java | 2 ++ .../repository/QuerydslPopularWordMetadataRepository.java | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/main/java/com/dnd/spaced/domain/word/domain/repository/PopularWordRepository.java b/src/main/java/com/dnd/spaced/domain/word/domain/repository/PopularWordRepository.java index da673d9..9e8bc6b 100644 --- a/src/main/java/com/dnd/spaced/domain/word/domain/repository/PopularWordRepository.java +++ b/src/main/java/com/dnd/spaced/domain/word/domain/repository/PopularWordRepository.java @@ -16,6 +16,8 @@ public interface PopularWordRepository { List findAllBy(LocalDateTime target, Pageable pageable); + List findByViewCount(Pageable pageable); + Optional findBy(Long wordId, LocalDateTime target); Optional findBy(LocalDateTime target); diff --git a/src/main/java/com/dnd/spaced/domain/word/domain/repository/QuerydslPopularWordMetadataRepository.java b/src/main/java/com/dnd/spaced/domain/word/domain/repository/QuerydslPopularWordMetadataRepository.java index 4a6acb1..0543cc6 100644 --- a/src/main/java/com/dnd/spaced/domain/word/domain/repository/QuerydslPopularWordMetadataRepository.java +++ b/src/main/java/com/dnd/spaced/domain/word/domain/repository/QuerydslPopularWordMetadataRepository.java @@ -69,6 +69,14 @@ public List findAllBy(LocalDateTime target, Pageable pageable) { return result; } + @Override + public List findByViewCount(Pageable pageable) { + return queryFactory.selectFrom(word) + .orderBy(word.viewCount.desc()) + .limit(pageable.getPageSize()) + .fetch(); + } + @Override public Optional findBy(Long wordId, LocalDateTime target) { PopularWordMetadata result = queryFactory.selectFrom(popularWordMetadata) From b486b6d10d92d7d31c261ca0038c432efaa8de05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EB=AF=B8=EB=9E=98?= Date: Sun, 10 Nov 2024 23:21:02 +0900 Subject: [PATCH 2/2] refactor :: find all by -> find by view count --- .../com/dnd/spaced/domain/word/application/WordService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dnd/spaced/domain/word/application/WordService.java b/src/main/java/com/dnd/spaced/domain/word/application/WordService.java index 93a4864..a0cce8b 100644 --- a/src/main/java/com/dnd/spaced/domain/word/application/WordService.java +++ b/src/main/java/com/dnd/spaced/domain/word/application/WordService.java @@ -94,7 +94,7 @@ public List search(SearchWordConditionInfoDto dto) { } public List findPopularAll(Pageable pageable) { - List result = popularWordRepository.findAllBy(LocalDateTime.now(clock), pageable); + List result = popularWordRepository.findByViewCount(pageable); return WordServiceMapper.from(result); }