Skip to content

Commit 900d056

Browse files
authored
chore: 실시간 Hot 게시글 목록 조회 수정 (#308)
* chore: redis 휘발성 문제 해결 * chore: 실시간 Hot 게시글 목록 조회 수정 * chore: 실시간 Hot 게시글 목록 조회 수정
1 parent 488e44d commit 900d056

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

src/main/java/org/myteam/server/board/repository/BoardQueryRepository.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,10 +376,28 @@ private List<Long> getHotBoardIdList() {
376376
// BoardRankingDto 생성
377377
return new BoardRankingDto(boardId, viewCount, recommendCount, commentCount, title, totalScore);
378378
})
379-
.sorted(Comparator.comparing(BoardRankingDto::getRecommendCount).reversed()
380-
.thenComparing(BoardRankingDto::getTotalScore).reversed()
381-
.thenComparing(BoardRankingDto::getTitle)
382-
.thenComparing(BoardRankingDto::getId))
379+
.sorted((a, b) -> {
380+
// 1. 추천수 비교 (내림차순)
381+
int recommendCompare = Integer.compare(b.getRecommendCount(), a.getRecommendCount());
382+
if (recommendCompare != 0) {
383+
return recommendCompare;
384+
}
385+
386+
// 2. 조회수 + 댓글수 비교 (내림차순)
387+
int totalScoreCompare = Integer.compare(b.getTotalScore(), a.getTotalScore());
388+
if (totalScoreCompare != 0) {
389+
return totalScoreCompare;
390+
}
391+
392+
// 3. 제목 비교 (오름차순)
393+
int titleCompare = a.getTitle().compareTo(b.getTitle());
394+
if (titleCompare != 0) {
395+
return titleCompare;
396+
}
397+
398+
// 4. ID 비교 (오름차순)
399+
return Long.compare(a.getId(), b.getId());
400+
})
383401
.limit(10) // 최대 10개로 제한
384402
.collect(Collectors.toList());
385403

0 commit comments

Comments
 (0)