From 0c4dc7e5df49199990a5bba8bb77378d2d669aa2 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 18 Dec 2024 06:39:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=AC=EC=83=9D=EB=AA=A9=EB=A1=9D=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8,=20=EC=83=81=EC=84=B8=20-=20?= =?UTF-8?q?=EB=8C=80=EC=97=AC=EA=B0=80=20=EB=A7=8C=EB=A3=8C=EB=90=9C=20?= =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=EB=A5=BC=20=EC=A0=9C=EC=99=B8?= =?UTF-8?q?=ED=95=98=EA=B3=A0=20=EC=A1=B0=ED=9A=8C=EB=90=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../playlist/AudioContentPlaylistService.kt | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylistService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylistService.kt index 3b23c67..f224ab0 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylistService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylistService.kt @@ -7,6 +7,7 @@ import kr.co.vividnext.sodalive.live.roulette.RedisIdGenerator import kr.co.vividnext.sodalive.member.Member import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service +import java.time.LocalDateTime import java.time.ZoneId import java.time.format.DateTimeFormatter @@ -119,18 +120,22 @@ class AudioContentPlaylistService( return GetPlaylistsResponse( totalCount = playlists.size, - items = playlists.map { - val contentCount = it.contentIdAndOrderList.size + items = playlists.map { playlist -> + val contentIdAndOrderList = playlist.contentIdAndOrderList.filter { + it.endDate == null || it.endDate!! > LocalDateTime.now() + } + + val contentCount = contentIdAndOrderList.size val coverImageUrl = if (contentCount > 0) { - audioContentRepository.getCoverImageById(id = it.contentIdAndOrderList[0].contentId) + audioContentRepository.getCoverImageById(id = contentIdAndOrderList[0].contentId) ?: "" } else { "" } GetPlaylistsItem( - id = it.id, - title = it.title, - desc = it.desc ?: "", + id = playlist.id, + title = playlist.title, + desc = playlist.desc ?: "", contentCount = contentCount, coverImageUrl = coverImageUrl ) @@ -163,11 +168,15 @@ class AudioContentPlaylistService( .withZoneSameInstant(ZoneId.of("Asia/Seoul")) .format(dateTimeFormatter) + val contentIdAndOrderList = playlist.contentIdAndOrderList.filter { + it.endDate == null || it.endDate!! > LocalDateTime.now() + } + val contentList = audioContentRepository.fetchContentForPlaylist( - contentIdList = playlist.contentIdAndOrderList.map { it.contentId } + contentIdList = contentIdAndOrderList.map { it.contentId } ) - val orderMap = playlist.contentIdAndOrderList.sortedBy { it.order } + val orderMap = contentIdAndOrderList.sortedBy { it.order } .mapIndexed { index, item -> item.contentId to index } .toMap()