diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt index d92110c..adf25ac 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentRepository.kt @@ -30,6 +30,8 @@ interface CreatorAdminAudioContentQueryRepository { fun getAudioContent(memberId: Long, audioContentId: Long): AudioContent? fun findContentHashTagByContentIdAndIsActive(contentId: Long, isActive: Boolean): List + + fun findContentIdAndHashTagId(contentId: Long, hashTagId: Int): AudioContentHashTag? } class CreatorAdminAudioContentQueryRepositoryImpl( @@ -145,6 +147,19 @@ class CreatorAdminAudioContentQueryRepositoryImpl( .fetch() } + override fun findContentIdAndHashTagId(contentId: Long, hashTagId: Int): AudioContentHashTag? { + return queryFactory + .selectFrom(audioContentHashTag) + .innerJoin(audioContentHashTag.audioContent, audioContent) + .innerJoin(audioContentHashTag.hashTag, hashTag) + .where( + audioContent.id.eq(contentId), + hashTag.id.eq(hashTagId) + ) + .orderBy(audioContentHashTag.id.asc()) + .fetchFirst() + } + private fun formattedDateExpression( dateTime: DateTimePath, format: String = "%Y-%m-%d" diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt index 5654b13..55becbb 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/CreatorAdminContentService.kt @@ -184,7 +184,8 @@ class CreatorAdminContentService( val hashTag = hashTagRepository.findByTag(tag) ?: hashTagRepository.save(HashTag(tag)) - val audioContentHashTag = AudioContentHashTag() + val audioContentHashTag = repository.findContentIdAndHashTagId(request.id, hashTag.id!!) + ?: AudioContentHashTag() audioContentHashTag.audioContent = audioContent audioContentHashTag.hashTag = hashTag