From 28427a873a2517ce4fa67d6e75b9daf6052ca8cf Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 2 Jun 2025 21:20:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=BD=98=ED=85=90?= =?UTF-8?q?=EC=B8=A0=20=EC=88=98=EC=A0=95=20-=20=ED=83=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20-=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=20=EC=9E=88=EB=8A=94=20=ED=83=9C=EA=B7=B8=EB=8A=94=20?= =?UTF-8?q?=EB=8B=A4=EC=8B=9C=20=EC=B6=94=EA=B0=80=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8F=84=EB=A1=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/CreatorAdminContentRepository.kt | 15 +++++++++++++++ .../admin/content/CreatorAdminContentService.kt | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) 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