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 +)