fix(chat-character): 관계 스키마 변경에 따라 엔티티/CRUD/응답 DTO 수정

- ChatCharacterRelationship 엔티티를 personName, relationshipName, description(TEXT), importance, relationshipType, currentStatus로 변경

- ChatCharacter.addRelationship 및 Service 메서드 시그니처를 새 스키마에 맞게 수정

- 등록/수정 플로우에서 relationships 매핑 로직 업데이트

- Admin 상세 응답 DTO(RelationshipResponse) 및 매핑 업데이트

- 전체 빌드 성공
This commit is contained in:
2025-08-13 19:49:46 +09:00
parent 3ac4ebded3
commit e6d63592ec
6 changed files with 91 additions and 17 deletions

View File

@@ -133,7 +133,7 @@ class AdminChatCharacterController(
memories = request.memories.map { Triple(it.title, it.content, it.emotion) },
personalities = request.personalities.map { Pair(it.trait, it.description) },
backgrounds = request.backgrounds.map { Pair(it.topic, it.description) },
relationships = request.relationships.map { it.name to it.relationShip }
relationships = request.relationships
)
// 3. 이미지 저장 및 ChatCharacter에 이미지 path 설정

View File

@@ -53,7 +53,16 @@ data class ChatCharacterDetailResponse(
hobbies = chatCharacter.hobbyMappings.map { it.hobby.hobby },
values = chatCharacter.valueMappings.map { it.value.value },
goals = chatCharacter.goalMappings.map { it.goal.goal },
relationships = chatCharacter.relationships.map { RelationshipResponse(it.name, it.relationShip) },
relationships = chatCharacter.relationships.map {
RelationshipResponse(
personName = it.personName,
relationshipName = it.relationshipName,
description = it.description,
importance = it.importance,
relationshipType = it.relationshipType,
currentStatus = it.currentStatus
)
},
personalities = chatCharacter.personalities.map {
PersonalityResponse(it.trait, it.description)
},
@@ -85,6 +94,10 @@ data class MemoryResponse(
)
data class RelationshipResponse(
val name: String,
val relationShip: String
val personName: String,
val relationshipName: String,
val description: String,
val importance: Int,
val relationshipType: String,
val currentStatus: String
)

View File

@@ -20,8 +20,12 @@ data class ChatCharacterMemoryRequest(
)
data class ChatCharacterRelationshipRequest(
@JsonProperty("name") val name: String,
@JsonProperty("relationShip") val relationShip: String
@JsonProperty("personName") val personName: String,
@JsonProperty("relationshipName") val relationshipName: String,
@JsonProperty("description") val description: String,
@JsonProperty("importance") val importance: Int,
@JsonProperty("relationshipType") val relationshipType: String,
@JsonProperty("currentStatus") val currentStatus: String
)
data class ChatCharacterRegisterRequest(