From 22c5c5be25cde49aae2b75d81ef1273b61be9b9b Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 27 Nov 2024 17:15:33 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=8C=EB=A0=88=EC=9D=B4=20=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=83=9D=EC=84=B1=20API=20-=20=EA=B8=B0?= =?UTF-8?q?=EC=A1=B4:=20=ED=94=8C=EB=A0=88=EC=9D=B4=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EC=97=90=20=EC=BD=98=ED=85=90=EC=B8=A0=20ID=EB=A7=8C?= =?UTF-8?q?=20=EC=A0=80=EC=9E=A5=EB=90=A8=20-=20=EB=B3=80=EA=B2=BD:=20?= =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20ID=EC=99=80=20=EC=A0=95=EB=A0=AC?= =?UTF-8?q?=EC=88=9C=EC=84=9C=EB=8F=84=20=EA=B0=99=EC=9D=B4=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=EB=90=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/playlist/AudioContentPlaylist.kt | 2 +- .../content/playlist/AudioContentPlaylistService.kt | 10 +++++----- .../sodalive/content/playlist/CreatePlaylistRequest.kt | 2 +- .../content/playlist/PlaylistContentIdAndOrder.kt | 6 ++++++ 4 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/PlaylistContentIdAndOrder.kt diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylist.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylist.kt index 62badd8..d33247a 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylist.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/AudioContentPlaylist.kt @@ -15,7 +15,7 @@ data class AudioContentPlaylist( val memberId: Long, var title: String, var desc: String? = null, - var contentIdList: MutableList = mutableListOf(), + var contentIdAndOrderList: MutableList = mutableListOf(), // ISO 8601 형식의 String private val _createdAt: String = LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) 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 37802c8..65fce07 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 @@ -16,7 +16,7 @@ class AudioContentPlaylistService( private val redisRepository: AudioContentPlaylistRedisRepository ) { fun createPlaylist(request: CreatePlaylistRequest, member: Member) { - if (request.contentIdList.size >= 30) { + if (request.contentIdAndOrderList.size >= 30) { throw SodaException("플레이 리스트에는 최대 30개의 콘텐츠를 저장할 수 있습니다.") } @@ -27,7 +27,7 @@ class AudioContentPlaylistService( // 콘텐츠 유효성 검사 (소장으로 구매한 콘텐츠 인가?) checkOrderedContent( - contentIdList = request.contentIdList, + contentIdList = request.contentIdAndOrderList.map { it.contentId }, memberId = member.id!! ) @@ -37,7 +37,7 @@ class AudioContentPlaylistService( title = request.title, desc = request.desc ) - playlist.contentIdList.addAll(request.contentIdList) + playlist.contentIdAndOrderList.addAll(request.contentIdAndOrderList) redisRepository.save(playlist) } @@ -58,9 +58,9 @@ class AudioContentPlaylistService( return GetPlaylistsResponse( totalCount = playlists.size, items = playlists.map { - val contentCount = it.contentIdList.size + val contentCount = it.contentIdAndOrderList.size val coverImageUrl = if (contentCount > 0) { - audioContentRepository.getCoverImageById(id = it.contentIdList[0]) + audioContentRepository.getCoverImageById(id = it.contentIdAndOrderList[0].contentId) ?: "" } else { "" diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/CreatePlaylistRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/CreatePlaylistRequest.kt index 914cb90..1cdc09e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/CreatePlaylistRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/CreatePlaylistRequest.kt @@ -3,5 +3,5 @@ package kr.co.vividnext.sodalive.content.playlist data class CreatePlaylistRequest( val title: String, val desc: String? = null, - val contentIdList: List = emptyList() + val contentIdAndOrderList: List = emptyList() ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/PlaylistContentIdAndOrder.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/PlaylistContentIdAndOrder.kt new file mode 100644 index 0000000..2e0d558 --- /dev/null +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/playlist/PlaylistContentIdAndOrder.kt @@ -0,0 +1,6 @@ +package kr.co.vividnext.sodalive.content.playlist + +data class PlaylistContentIdAndOrder( + val contentId: Long, + val order: Int +)