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,