refactor(lang-detect): LanguageDetectEvent ID 필드를 단일 id로 통합

- LanguageDetectEvent의 contentId/commentId를 제거하고 공통 id(Long) 필드로 단순화
- LanguageDetectListener에서 targetType에 따라 id를 AudioContent/AudioContentComment/CharacterComment 조회에 사용하도록 수정
- AudioContentService, AudioContentCommentService, AudioContentDonationService, CharacterCommentService 등 이벤트 발행부를 새 시그니처(id + targetType)로 정리
This commit is contained in:
2025-11-25 16:32:29 +09:00
parent 619ceeea24
commit 8f4544ad71
5 changed files with 10 additions and 23 deletions

View File

@@ -75,7 +75,7 @@ class CharacterCommentService(
if (languageCode.isNullOrBlank()) { if (languageCode.isNullOrBlank()) {
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
LanguageDetectEvent( LanguageDetectEvent(
commentId = entity.id!!, id = entity.id!!,
query = text, query = text,
targetType = LanguageDetectTargetType.CHARACTER_COMMENT targetType = LanguageDetectTargetType.CHARACTER_COMMENT
) )
@@ -110,7 +110,7 @@ class CharacterCommentService(
if (languageCode.isNullOrBlank()) { if (languageCode.isNullOrBlank()) {
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
LanguageDetectEvent( LanguageDetectEvent(
commentId = entity.id!!, id = entity.id!!,
query = text, query = text,
targetType = LanguageDetectTargetType.CHARACTER_COMMENT targetType = LanguageDetectTargetType.CHARACTER_COMMENT
) )

View File

@@ -344,7 +344,7 @@ class AudioContentService(
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
LanguageDetectEvent( LanguageDetectEvent(
contentId = audioContent.id!!, id = audioContent.id!!,
query = papagoQuery query = papagoQuery
) )
) )

View File

@@ -26,10 +26,9 @@ enum class LanguageDetectTargetType {
} }
class LanguageDetectEvent( class LanguageDetectEvent(
val contentId: Long? = null, val id: Long,
val query: String, val query: String,
val targetType: LanguageDetectTargetType = LanguageDetectTargetType.CONTENT, val targetType: LanguageDetectTargetType = LanguageDetectTargetType.CONTENT
val commentId: Long? = null
) )
data class PapagoLanguageDetectResponse( data class PapagoLanguageDetectResponse(
@@ -72,11 +71,7 @@ class LanguageDetectListener(
} }
private fun handleContentLanguageDetect(event: LanguageDetectEvent) { private fun handleContentLanguageDetect(event: LanguageDetectEvent) {
val contentId = event.contentId val contentId = event.id
if (contentId == null) {
log.warn("[PapagoLanguageDetect] contentId is null for CONTENT target. event={}", event)
return
}
val audioContent = audioContentRepository.findById(contentId).orElse(null) val audioContent = audioContentRepository.findById(contentId).orElse(null)
if (audioContent == null) { if (audioContent == null) {
@@ -109,11 +104,7 @@ class LanguageDetectListener(
} }
private fun handleCommentLanguageDetect(event: LanguageDetectEvent) { private fun handleCommentLanguageDetect(event: LanguageDetectEvent) {
val commentId = event.commentId val commentId = event.id
if (commentId == null) {
log.warn("[PapagoLanguageDetect] commentId is null for COMMENT target. event={}", event)
return
}
val comment = audioContentCommentRepository.findById(commentId).orElse(null) val comment = audioContentCommentRepository.findById(commentId).orElse(null)
if (comment == null) { if (comment == null) {
@@ -144,11 +135,7 @@ class LanguageDetectListener(
} }
private fun handleCharacterCommentLanguageDetect(event: LanguageDetectEvent) { private fun handleCharacterCommentLanguageDetect(event: LanguageDetectEvent) {
val commentId = event.commentId val commentId = event.id
if (commentId == null) {
log.warn("[PapagoLanguageDetect] commentId is null for CHARACTER_COMMENT target. event={}", event)
return
}
val comment = characterCommentRepository.findById(commentId).orElse(null) val comment = characterCommentRepository.findById(commentId).orElse(null)
if (comment == null) { if (comment == null) {

View File

@@ -92,7 +92,7 @@ class AudioContentCommentService(
if (languageCode.isNullOrBlank()) { if (languageCode.isNullOrBlank()) {
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
LanguageDetectEvent( LanguageDetectEvent(
commentId = savedContentComment.id!!, id = savedContentComment.id!!,
query = comment, query = comment,
targetType = LanguageDetectTargetType.COMMENT targetType = LanguageDetectTargetType.COMMENT
) )

View File

@@ -50,7 +50,7 @@ class AudioContentDonationService(
if (request.languageCode.isNullOrBlank()) { if (request.languageCode.isNullOrBlank()) {
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
LanguageDetectEvent( LanguageDetectEvent(
commentId = savedComment.id!!, id = savedComment.id!!,
query = request.comment, query = request.comment,
targetType = LanguageDetectTargetType.COMMENT targetType = LanguageDetectTargetType.COMMENT
) )