diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterComment.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterComment.kt index 62f1cb9..f2d9f87 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterComment.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterComment.kt @@ -16,6 +16,7 @@ import javax.persistence.Table data class CharacterComment( @Column(columnDefinition = "TEXT", nullable = false) var comment: String, + var languageCode: String?, var isActive: Boolean = true ) : BaseEntity() { @ManyToOne(fetch = FetchType.LAZY) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentController.kt index 8036169..e9fcc64 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentController.kt @@ -47,7 +47,7 @@ class CharacterCommentController( if (member.auth == null) throw SodaException("본인인증을 하셔야 합니다.") if (request.comment.isBlank()) throw SodaException("댓글 내용을 입력해주세요.") - val id = service.addReply(characterId, commentId, member, request.comment) + val id = service.addReply(characterId, commentId, member, request.comment, request.languageCode) ApiResponse.ok(id) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentDto.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentDto.kt index d35f2cb..2c898e6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentDto.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentDto.kt @@ -2,7 +2,8 @@ package kr.co.vividnext.sodalive.chat.character.comment // Request DTOs data class CreateCharacterCommentRequest( - val comment: String + val comment: String, + val languageCode: String? = null ) // Response DTOs diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentService.kt index 25d186a..012aa7a 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/comment/CharacterCommentService.kt @@ -57,12 +57,12 @@ class CharacterCommentService( } @Transactional - fun addComment(characterId: Long, member: Member, text: String): Long { + fun addComment(characterId: Long, member: Member, text: String, languageCode: String? = null): Long { val character = chatCharacterRepository.findById(characterId).orElseThrow { SodaException("캐릭터를 찾을 수 없습니다.") } if (!character.isActive) throw SodaException("비활성화된 캐릭터입니다.") if (text.isBlank()) throw SodaException("댓글 내용을 입력해주세요.") - val entity = CharacterComment(comment = text) + val entity = CharacterComment(comment = text, languageCode = languageCode) entity.chatCharacter = character entity.member = member commentRepository.save(entity) @@ -70,7 +70,13 @@ class CharacterCommentService( } @Transactional - fun addReply(characterId: Long, parentCommentId: Long, member: Member, text: String): Long { + fun addReply( + characterId: Long, + parentCommentId: Long, + member: Member, + text: String, + languageCode: String? = null + ): Long { val character = chatCharacterRepository.findById(characterId).orElseThrow { SodaException("캐릭터를 찾을 수 없습니다.") } if (!character.isActive) throw SodaException("비활성화된 캐릭터입니다.") val parent = commentRepository.findById(parentCommentId).orElseThrow { SodaException("댓글을 찾을 수 없습니다.") } @@ -78,7 +84,7 @@ class CharacterCommentService( if (!parent.isActive) throw SodaException("비활성화된 댓글입니다.") if (text.isBlank()) throw SodaException("댓글 내용을 입력해주세요.") - val entity = CharacterComment(comment = text) + val entity = CharacterComment(comment = text, languageCode = languageCode) entity.chatCharacter = character entity.member = member entity.parent = parent