From 7041aff3504d53b613971e72ffc94a9bdf18b69b Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 02:20:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20=ED=83=AD=20-=20?= =?UTF-8?q?=EC=99=84=EA=B2=B0=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20-=20?= =?UTF-8?q?=EC=99=84=EA=B2=B0=EC=8B=9C=EB=A6=AC=EC=A6=88=20=EC=A0=84?= =?UTF-8?q?=EC=B2=B4=20=EB=B3=B4=EC=97=AC=EC=A3=BC=EA=B8=B0=20-=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC=20-=20=EC=9B=94=EB=B3=84=20=ED=8C=90?= =?UTF-8?q?=EB=A7=A4=EB=9F=89=20=EC=88=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AudioContentMainTabSeriesService.kt | 4 +--- .../sodalive/rank/RankingRepository.kt | 24 +++++++------------ .../vividnext/sodalive/rank/RankingService.kt | 8 ++----- 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/series/AudioContentMainTabSeriesService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/series/AudioContentMainTabSeriesService.kt index 9db205e..cda1dc0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/series/AudioContentMainTabSeriesService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/series/AudioContentMainTabSeriesService.kt @@ -184,9 +184,7 @@ class AudioContentMainTabSeriesService( val totalCount = rankingService.getCompleteSeriesRankingTotalCount( memberId = memberId, - isAdult = isAdult, - startDate = monthlyRankingStartDate, - endDate = monthlyRankingEndDate + isAdult = isAdult ) val items = rankingService.getCompleteSeriesRanking( diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt index 6e1b34c..70f27b7 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt @@ -209,12 +209,7 @@ class RankingRepository( .fetch() } - fun getCompleteSeriesRankingTotalCount( - memberId: Long, - isAdult: Boolean, - startDate: LocalDateTime, - endDate: LocalDateTime - ): Int { + fun getCompleteSeriesRankingTotalCount(memberId: Long, isAdult: Boolean): Int { val blockMemberCondition = blockMember.member.id.eq(member.id) .and(blockMember.isActive.isTrue) .and(blockMember.blockedMember.id.eq(memberId)) @@ -228,9 +223,6 @@ class RankingRepository( .and(audioContent.duration.isNotNull) .and(audioContent.limited.isNull) .and(blockMember.id.isNull) - .and(order.isActive.isTrue) - .and(order.createdAt.goe(startDate)) - .and(order.createdAt.lt(endDate)) if (!isAdult) { where = where.and(series.isAdult.isFalse) @@ -242,11 +234,9 @@ class RankingRepository( .innerJoin(seriesContent.series, series) .innerJoin(seriesContent.content, audioContent) .innerJoin(series.member, member) - .leftJoin(order).on(audioContent.id.eq(order.audioContent.id)) .leftJoin(blockMember).on(blockMemberCondition) .where(where) .groupBy(series.id) - .orderBy(order.can.sum().desc()) .fetch() .size } @@ -263,6 +253,11 @@ class RankingRepository( .and(blockMember.isActive.isTrue) .and(blockMember.blockedMember.id.eq(memberId)) + val orderCondition = order.isActive.isTrue + .and(audioContent.id.eq(order.audioContent.id)) + .and(order.createdAt.goe(startDate)) + .and(order.createdAt.lt(endDate)) + var where = series.isActive.isTrue .and(series.state.eq(SeriesState.COMPLETE)) .and(audioContent.isActive.isTrue) @@ -272,9 +267,6 @@ class RankingRepository( .and(audioContent.duration.isNotNull) .and(audioContent.limited.isNull) .and(blockMember.id.isNull) - .and(order.isActive.isTrue) - .and(order.createdAt.goe(startDate)) - .and(order.createdAt.lt(endDate)) if (!isAdult) { where = where.and(series.isAdult.isFalse) @@ -286,11 +278,11 @@ class RankingRepository( .innerJoin(seriesContent.series, series) .innerJoin(seriesContent.content, audioContent) .innerJoin(series.member, member) - .leftJoin(order).on(audioContent.id.eq(order.audioContent.id)) + .leftJoin(order).on(orderCondition) .leftJoin(blockMember).on(blockMemberCondition) .where(where) .groupBy(series.id) - .orderBy(order.can.sum().desc()) + .orderBy(order.id.count().desc(), series.id.desc()) .offset(offset) .limit(limit) .fetch() diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingService.kt index f94e672..630008d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingService.kt @@ -84,15 +84,11 @@ class RankingService( fun getCompleteSeriesRankingTotalCount( memberId: Long, - isAdult: Boolean, - startDate: LocalDateTime, - endDate: LocalDateTime + isAdult: Boolean ): Int { return repository.getCompleteSeriesRankingTotalCount( memberId = memberId, - isAdult = isAdult, - startDate = startDate, - endDate = endDate + isAdult = isAdult ) }