From 93b05653686abbdc20f5a7534d815d1ca6e73fd8 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 18 Feb 2025 16:19:59 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=ED=83=9C?= =?UTF-8?q?=EA=B7=B8=20=ED=81=90=EB=A0=88=EC=9D=B4=EC=85=98=20=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=20-=20=EB=8F=99=EC=9D=BC=ED=95=9C=20=ED=83=9C?= =?UTF-8?q?=EA=B7=B8=EA=B0=80=20=EB=93=B1=EB=A1=9D=EB=90=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8F=84=EB=A1=9D=20validation=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../curation/tag/AdminHashTagCurationRepository.kt | 9 +++++++++ .../content/curation/tag/AdminHashTagCurationService.kt | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationRepository.kt index d58329c..e6d300e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationRepository.kt @@ -18,6 +18,7 @@ interface AdminHashTagCurationRepository : interface AdminHashTagCurationQueryRepository { fun getContentHashTagCurationList(): List fun searchHashTagCurationContentItem(curationId: Long, searchWord: String): List + fun isExistsTag(tag: String): Boolean } @Repository @@ -69,4 +70,12 @@ class AdminHashTagCurationQueryRepositoryImpl( ) .fetch() } + + override fun isExistsTag(tag: String): Boolean { + return queryFactory + .select(contentHashTagCuration.id) + .from(contentHashTagCuration) + .where(contentHashTagCuration.tag.eq(tag)) + .fetch().isNotEmpty() + } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationService.kt index 741d07d..93915a3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/curation/tag/AdminHashTagCurationService.kt @@ -20,6 +20,12 @@ class AdminHashTagCurationService( ) { @Transactional fun createContentHashTagCuration(request: CreateContentHashTagCurationRequest) { + val isExists = repository.isExistsTag(tag = request.tag.trim()) + + if (isExists) { + throw SodaException("이미 등록된 태그 입니다.") + } + repository.save( ContentHashTagCuration( tag = request.tag,