From 839cbdeaec17c8ca6a3a07e121e9e24dd63813e2 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 01:10:00 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=8B=A8=ED=8E=B8=20=ED=83=AD=20-=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=20-=20=EC=98=A4=EB=94=94=EC=98=A4=EB=B6=81,=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=9D=EC=BD=9C,=20=EC=95=8C=EB=9E=8C,=20=EC=8A=AC?= =?UTF-8?q?=EB=A6=BD=EC=BD=9C,=20=EB=8B=A4=EC=8B=9C=EB=93=A3=EA=B8=B0,=20A?= =?UTF-8?q?SMR,=20=EB=A6=B4=EB=A0=88=EC=9D=B4,=20=EC=B1=8C=EB=A6=B0?= =?UTF-8?q?=EC=A7=80,=20=EC=9E=90=EA=B8=B0=EC=86=8C=EA=B0=9C=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tab/content/AudioContentMainTabContentService.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt index c968f8e..832e983 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt @@ -42,6 +42,17 @@ class AudioContentMainTabContentService( // 새로운 단편 테마 val themeOfContentList = audioContentThemeRepository.getActiveThemeOfContent(isAdult = isAdult) + .filter { + it != "오디오북" && + it != "모닝콜" && + it != "알람" && + it != "슬립콜" && + it != "다시듣기" && + it != "ASMR" && + it != "릴레이" && + it != "챌린지" && + it != "자기소개" + } // 새로운 단편 val newContentList = audioContentRepository.findByTheme( -- 2.40.1 From c29627bb6456e02ce9db53e3555ae021bb6645fa Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 01:33:56 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=8B=A8=ED=8E=B8=20=ED=83=AD=20-=20=EC=9D=BC?= =?UTF-8?q?=EA=B0=84=20=EB=9E=AD=ED=82=B9=20-=20sortType=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/tab/content/AudioContentMainTabContentController.kt | 2 +- .../main/tab/content/AudioContentMainTabContentService.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt index 3ecb4fa..513bedb 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentController.kt @@ -33,7 +33,7 @@ class AudioContentMainTabContentController(private val service: AudioContentMain @GetMapping("/ranking") fun getAudioContentRanking( - @RequestParam("sort-type", required = false) sortType: String? = "매출", + @RequestParam("sort-type", required = false) sortType: String?, @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?, pageable: Pageable ) = run { diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt index 832e983..54931db 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt @@ -141,7 +141,7 @@ class AudioContentMainTabContentService( fun getAudioContentRanking( memberId: Long, isAdult: Boolean, - sortType: String = "매출" + sortType: String ): List { val currentDateTime = LocalDateTime.now() val dailyRankingStartDate = currentDateTime @@ -156,7 +156,8 @@ class AudioContentMainTabContentService( memberId = memberId, isAdult = isAdult, startDate = dailyRankingStartDate, - endDate = dailyRankingEndDate + endDate = dailyRankingEndDate, + sortType = sortType ) } -- 2.40.1 From e0d978621b114b474c2f9fab714f8a2cecc07059 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 01:43:55 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20ASMR=20=ED=83=AD=20-=20=EC=9D=B8=EA=B8=B0=20?= =?UTF-8?q?=EC=88=9C=EC=9C=84=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asmr/AudioContentMainTabAsmrService.kt | 22 ------------------- .../tab/asmr/GetContentMainTabAsmrResponse.kt | 1 - 2 files changed, 23 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/AudioContentMainTabAsmrService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/AudioContentMainTabAsmrService.kt index 70eb0b0..b106997 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/AudioContentMainTabAsmrService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/AudioContentMainTabAsmrService.kt @@ -11,9 +11,6 @@ import kr.co.vividnext.sodalive.event.EventService import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.rank.RankingService import org.springframework.stereotype.Service -import java.time.DayOfWeek -import java.time.LocalDateTime -import java.time.temporal.TemporalAdjusters @Service class AudioContentMainTabAsmrService( @@ -44,24 +41,6 @@ class AudioContentMainTabAsmrService( limit = 10 ) - val currentDateTime = LocalDateTime.now() - val startDate = currentDateTime - .withHour(15) - .withMinute(0) - .withSecond(0) - .minusWeeks(1) - .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)) - val endDate = startDate - .plusDays(6) - - val rankAsmrContentList = rankingService.getContentRanking( - memberId = memberId, - isAdult = isAdult, - startDate = startDate, - endDate = endDate, - theme = theme - ) - val creatorList = repository.findCreatorByThemeContent( memberId = memberId, theme = theme, @@ -95,7 +74,6 @@ class AudioContentMainTabAsmrService( return GetContentMainTabAsmrResponse( contentBannerList = contentBannerList, newAsmrContentList = newAsmrContentList, - rankAsmrContentList = rankAsmrContentList, creatorList = creatorList, salesCountRankContentList = salesCountRankContentList, eventBannerList = eventBannerList, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/GetContentMainTabAsmrResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/GetContentMainTabAsmrResponse.kt index 5e324f5..9d2de1c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/GetContentMainTabAsmrResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/asmr/GetContentMainTabAsmrResponse.kt @@ -11,7 +11,6 @@ data class GetContentMainTabAsmrResponse( val tab: Long = 5, val contentBannerList: List, val newAsmrContentList: List, - val rankAsmrContentList: List, val creatorList: List, val salesCountRankContentList: List, val eventBannerList: GetEventResponse, -- 2.40.1 From 000fb7c9413cfd4b0567b5b32f6ddde0aa94d651 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 01:45:45 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=8B=A4=EC=8B=9C=EB=93=A3=EA=B8=B0=20=ED=83=AD=20?= =?UTF-8?q?-=20=EC=9D=B8=EA=B8=B0=20=EC=88=9C=EC=9C=84=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AudioContentMainTabLiveReplayService.kt | 22 ------------------- .../GetContentMainTabLiveReplayResponse.kt | 1 - 2 files changed, 23 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/AudioContentMainTabLiveReplayService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/AudioContentMainTabLiveReplayService.kt index daecdfb..cffb2e7 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/AudioContentMainTabLiveReplayService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/AudioContentMainTabLiveReplayService.kt @@ -11,9 +11,6 @@ import kr.co.vividnext.sodalive.event.EventService import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.rank.RankingService import org.springframework.stereotype.Service -import java.time.DayOfWeek -import java.time.LocalDateTime -import java.time.temporal.TemporalAdjusters @Service class AudioContentMainTabLiveReplayService( @@ -44,24 +41,6 @@ class AudioContentMainTabLiveReplayService( limit = 10 ) - val currentDateTime = LocalDateTime.now() - val startDate = currentDateTime - .withHour(15) - .withMinute(0) - .withSecond(0) - .minusWeeks(1) - .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)) - val endDate = startDate - .plusDays(6) - - val rankLiveReplayContentList = rankingService.getContentRanking( - memberId = memberId, - isAdult = isAdult, - startDate = startDate, - endDate = endDate, - theme = theme - ) - val creatorList = repository.findCreatorByThemeContent( memberId = memberId, theme = theme, @@ -95,7 +74,6 @@ class AudioContentMainTabLiveReplayService( return GetContentMainTabLiveReplayResponse( contentBannerList = contentBannerList, newLiveReplayContentList = newLiveReplayContentList, - rankLiveReplayContentList = rankLiveReplayContentList, creatorList = creatorList, salesCountRankContentList = salesCountRankContentList, eventBannerList = eventBannerList, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/GetContentMainTabLiveReplayResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/GetContentMainTabLiveReplayResponse.kt index 6991faf..3820ee0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/GetContentMainTabLiveReplayResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/replay/GetContentMainTabLiveReplayResponse.kt @@ -11,7 +11,6 @@ data class GetContentMainTabLiveReplayResponse( val tabId: Long = 6, val contentBannerList: List, val newLiveReplayContentList: List, - val rankLiveReplayContentList: List, val creatorList: List, val salesCountRankContentList: List, val eventBannerList: GetEventResponse, -- 2.40.1 From 7041aff3504d53b613971e72ffc94a9bdf18b69b Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 02:20:10 +0900 Subject: [PATCH 5/6] =?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 ) } -- 2.40.1 From 872ec7f13f0112f1b58c5951fd5400ad275b57f2 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 19 Feb 2025 03:08:48 +0900 Subject: [PATCH 6/6] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=ED=99=88=20=ED=83=AD=20-=20=EC=B1=84=EB=84=90?= =?UTF-8?q?=EB=B3=84=20=EC=9D=B8=EA=B8=B0=20=EC=BD=98=ED=85=90=EC=B8=A0=20?= =?UTF-8?q?-=20=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=20=EC=A0=95?= =?UTF-8?q?=EB=A0=AC=20-=20=ED=8C=90=EB=A7=A4=EC=88=98=20=EB=82=B4?= =?UTF-8?q?=EB=A6=BC=EC=B0=A8=EC=88=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/tab/content/AudioContentMainTabContentService.kt | 2 +- .../content/main/tab/home/AudioContentMainTabHomeService.kt | 5 ----- .../kr/co/vividnext/sodalive/rank/RankingRepository.kt | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt index 54931db..f7d2dce 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/content/AudioContentMainTabContentService.kt @@ -86,7 +86,7 @@ class AudioContentMainTabContentService( val contentRankCreatorList = rankingService.fetchCreatorBySellContentCountRankTop20( memberId = member.id!!, - startDate = dailyRankingStartDate.minusDays(1), + startDate = dailyRankingStartDate, endDate = dailyRankingEndDate ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/home/AudioContentMainTabHomeService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/home/AudioContentMainTabHomeService.kt index 9eb9f3b..dd881b3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/home/AudioContentMainTabHomeService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/tab/home/AudioContentMainTabHomeService.kt @@ -72,11 +72,6 @@ class AudioContentMainTabHomeService( // 이벤트 배너 val eventBannerList = eventService.getEventList(isAdult = member.auth != null) - /* 채널별 인기 콘텐츠 - * - 콘텐츠를 4개 이상 등록한 채널 - * - 주간 콘텐츠 판매 개수 Top 20 채널 - * - 해당 채널의 누적 판매 개수 Top 4 - */ val contentRankCreatorList = rankingService.fetchCreatorBySellContentCountRankTop20( memberId = member.id!!, startDate = startDate.minusDays(1), 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 70f27b7..3f21554 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt @@ -340,7 +340,7 @@ class RankingRepository( val ordersCondition = order.audioContent.id.eq(audioContent.id) .and(order.isActive.isTrue) .and(order.createdAt.goe(startDate)) - .and(order.createdAt.lt(startDate)) + .and(order.createdAt.lt(endDate)) val memberCondition = member.isActive.isTrue .and(member.role.eq(MemberRole.CREATOR)) -- 2.40.1