채팅 캐릭터 등록 - 리전 등록 기능 추가

This commit is contained in:
2026-01-22 15:31:02 +09:00
parent 65fc47eff0
commit f53dcc32bd
6 changed files with 16 additions and 1 deletions

View File

@@ -148,6 +148,7 @@ class AdminChatCharacterController(
runCatching { CharacterType.valueOf(it) } runCatching { CharacterType.valueOf(it) }
.getOrDefault(CharacterType.Character) .getOrDefault(CharacterType.Character)
} ?: CharacterType.Character, } ?: CharacterType.Character,
region = request.region,
tags = request.tags, tags = request.tags,
values = request.values, values = request.values,
hobbies = request.hobbies, hobbies = request.hobbies,
@@ -203,6 +204,7 @@ class AdminChatCharacterController(
body["name"] = request.name body["name"] = request.name
body["systemPrompt"] = request.systemPrompt body["systemPrompt"] = request.systemPrompt
body["description"] = request.description body["description"] = request.description
body["region"] = request.region
request.age?.let { body["age"] = it } request.age?.let { body["age"] = it }
request.gender?.let { body["gender"] = it } request.gender?.let { body["gender"] = it }
request.mbti?.let { body["mbti"] = it } request.mbti?.let { body["mbti"] = it }

View File

@@ -20,6 +20,7 @@ data class ChatCharacterDetailResponse(
val speechPattern: String?, val speechPattern: String?,
val speechStyle: String?, val speechStyle: String?,
val appearance: String?, val appearance: String?,
val region: String,
val isActive: Boolean, val isActive: Boolean,
val tags: List<String>, val tags: List<String>,
val hobbies: List<String>, val hobbies: List<String>,
@@ -67,6 +68,7 @@ data class ChatCharacterDetailResponse(
speechPattern = chatCharacter.speechPattern, speechPattern = chatCharacter.speechPattern,
speechStyle = chatCharacter.speechStyle, speechStyle = chatCharacter.speechStyle,
appearance = chatCharacter.appearance, appearance = chatCharacter.appearance,
region = chatCharacter.region,
isActive = chatCharacter.isActive, isActive = chatCharacter.isActive,
tags = chatCharacter.tagMappings.map { it.tag.tag }, tags = chatCharacter.tagMappings.map { it.tag.tag },
hobbies = chatCharacter.hobbyMappings.map { it.hobby.hobby }, hobbies = chatCharacter.hobbyMappings.map { it.hobby.hobby },

View File

@@ -38,6 +38,7 @@ data class ChatCharacterRegisterRequest(
@JsonProperty("speechPattern") val speechPattern: String?, @JsonProperty("speechPattern") val speechPattern: String?,
@JsonProperty("speechStyle") val speechStyle: String?, @JsonProperty("speechStyle") val speechStyle: String?,
@JsonProperty("appearance") val appearance: String?, @JsonProperty("appearance") val appearance: String?,
@JsonProperty("region") val region: String = "KR",
@JsonProperty("originalTitle") val originalTitle: String? = null, @JsonProperty("originalTitle") val originalTitle: String? = null,
@JsonProperty("originalLink") val originalLink: String? = null, @JsonProperty("originalLink") val originalLink: String? = null,
@JsonProperty("originalWorkId") val originalWorkId: Long? = null, @JsonProperty("originalWorkId") val originalWorkId: Long? = null,

View File

@@ -14,6 +14,7 @@ data class ChatCharacterListResponse(
val mbti: String?, val mbti: String?,
val speechStyle: String?, val speechStyle: String?,
val speechPattern: String?, val speechPattern: String?,
val region: String,
val tags: List<String>, val tags: List<String>,
val createdAt: String?, val createdAt: String?,
val updatedAt: String? val updatedAt: String?
@@ -48,6 +49,7 @@ data class ChatCharacterListResponse(
mbti = chatCharacter.mbti, mbti = chatCharacter.mbti,
speechStyle = chatCharacter.speechStyle, speechStyle = chatCharacter.speechStyle,
speechPattern = chatCharacter.speechPattern, speechPattern = chatCharacter.speechPattern,
region = chatCharacter.region,
tags = chatCharacter.tagMappings.map { it.tag.tag }, tags = chatCharacter.tagMappings.map { it.tag.tag },
createdAt = createdAtStr, createdAt = createdAtStr,
updatedAt = updatedAtStr updatedAt = updatedAtStr

View File

@@ -67,6 +67,10 @@ class ChatCharacter(
@Column(nullable = false) @Column(nullable = false)
var characterType: CharacterType = CharacterType.Character, var characterType: CharacterType = CharacterType.Character,
// 리전 (기본값 KR, 수정 불가)
@Column(nullable = false)
val region: String = "KR",
var isActive: Boolean = true var isActive: Boolean = true
) : BaseEntity() { ) : BaseEntity() {
var imagePath: String? = null var imagePath: String? = null

View File

@@ -582,6 +582,7 @@ class ChatCharacterService(
originalTitle: String? = null, originalTitle: String? = null,
originalLink: String? = null, originalLink: String? = null,
characterType: CharacterType = CharacterType.Character, characterType: CharacterType = CharacterType.Character,
region: String = "KR",
tags: List<String> = emptyList(), tags: List<String> = emptyList(),
values: List<String> = emptyList(), values: List<String> = emptyList(),
hobbies: List<String> = emptyList(), hobbies: List<String> = emptyList(),
@@ -600,7 +601,8 @@ class ChatCharacterService(
appearance = appearance, appearance = appearance,
originalTitle = originalTitle, originalTitle = originalTitle,
originalLink = originalLink, originalLink = originalLink,
characterType = characterType characterType = characterType,
region = region
) )
// 관련 엔티티 연결 // 관련 엔티티 연결
@@ -630,6 +632,7 @@ class ChatCharacterService(
originalTitle: String? = null, originalTitle: String? = null,
originalLink: String? = null, originalLink: String? = null,
characterType: CharacterType = CharacterType.Character, characterType: CharacterType = CharacterType.Character,
region: String = "KR",
tags: List<String> = emptyList(), tags: List<String> = emptyList(),
values: List<String> = emptyList(), values: List<String> = emptyList(),
hobbies: List<String> = emptyList(), hobbies: List<String> = emptyList(),
@@ -653,6 +656,7 @@ class ChatCharacterService(
originalTitle = originalTitle, originalTitle = originalTitle,
originalLink = originalLink, originalLink = originalLink,
characterType = characterType, characterType = characterType,
region = region,
tags = tags, tags = tags,
values = values, values = values,
hobbies = hobbies, hobbies = hobbies,