diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt index 5e5b79b2..f04c6e7f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterController.kt @@ -148,6 +148,7 @@ class AdminChatCharacterController( runCatching { CharacterType.valueOf(it) } .getOrDefault(CharacterType.Character) } ?: CharacterType.Character, + region = request.region, tags = request.tags, values = request.values, hobbies = request.hobbies, @@ -203,6 +204,7 @@ class AdminChatCharacterController( body["name"] = request.name body["systemPrompt"] = request.systemPrompt body["description"] = request.description + body["region"] = request.region request.age?.let { body["age"] = it } request.gender?.let { body["gender"] = it } request.mbti?.let { body["mbti"] = it } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDetailResponse.kt index 32338e66..934ff252 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDetailResponse.kt @@ -20,6 +20,7 @@ data class ChatCharacterDetailResponse( val speechPattern: String?, val speechStyle: String?, val appearance: String?, + val region: String, val isActive: Boolean, val tags: List, val hobbies: List, @@ -67,6 +68,7 @@ data class ChatCharacterDetailResponse( speechPattern = chatCharacter.speechPattern, speechStyle = chatCharacter.speechStyle, appearance = chatCharacter.appearance, + region = chatCharacter.region, isActive = chatCharacter.isActive, tags = chatCharacter.tagMappings.map { it.tag.tag }, hobbies = chatCharacter.hobbyMappings.map { it.hobby.hobby }, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDto.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDto.kt index ca203ebd..dc1a4ef9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDto.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterDto.kt @@ -38,6 +38,7 @@ data class ChatCharacterRegisterRequest( @JsonProperty("speechPattern") val speechPattern: String?, @JsonProperty("speechStyle") val speechStyle: String?, @JsonProperty("appearance") val appearance: String?, + @JsonProperty("region") val region: String = "KR", @JsonProperty("originalTitle") val originalTitle: String? = null, @JsonProperty("originalLink") val originalLink: String? = null, @JsonProperty("originalWorkId") val originalWorkId: Long? = null, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterListResponse.kt index bf0977c7..6bad1303 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/chat/character/dto/ChatCharacterListResponse.kt @@ -14,6 +14,7 @@ data class ChatCharacterListResponse( val mbti: String?, val speechStyle: String?, val speechPattern: String?, + val region: String, val tags: List, val createdAt: String?, val updatedAt: String? @@ -48,6 +49,7 @@ data class ChatCharacterListResponse( mbti = chatCharacter.mbti, speechStyle = chatCharacter.speechStyle, speechPattern = chatCharacter.speechPattern, + region = chatCharacter.region, tags = chatCharacter.tagMappings.map { it.tag.tag }, createdAt = createdAtStr, updatedAt = updatedAtStr diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/ChatCharacter.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/ChatCharacter.kt index 5a628513..87369943 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/ChatCharacter.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/ChatCharacter.kt @@ -67,6 +67,10 @@ class ChatCharacter( @Column(nullable = false) var characterType: CharacterType = CharacterType.Character, + // 리전 (기본값 KR, 수정 불가) + @Column(nullable = false) + val region: String = "KR", + var isActive: Boolean = true ) : BaseEntity() { var imagePath: String? = null diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/service/ChatCharacterService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/service/ChatCharacterService.kt index 60974827..47ac7565 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/service/ChatCharacterService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/chat/character/service/ChatCharacterService.kt @@ -582,6 +582,7 @@ class ChatCharacterService( originalTitle: String? = null, originalLink: String? = null, characterType: CharacterType = CharacterType.Character, + region: String = "KR", tags: List = emptyList(), values: List = emptyList(), hobbies: List = emptyList(), @@ -600,7 +601,8 @@ class ChatCharacterService( appearance = appearance, originalTitle = originalTitle, originalLink = originalLink, - characterType = characterType + characterType = characterType, + region = region ) // 관련 엔티티 연결 @@ -630,6 +632,7 @@ class ChatCharacterService( originalTitle: String? = null, originalLink: String? = null, characterType: CharacterType = CharacterType.Character, + region: String = "KR", tags: List = emptyList(), values: List = emptyList(), hobbies: List = emptyList(), @@ -653,6 +656,7 @@ class ChatCharacterService( originalTitle = originalTitle, originalLink = originalLink, characterType = characterType, + region = region, tags = tags, values = values, hobbies = hobbies,