From ff9053d54d2126d1c940ee4c6854c730752bb459 Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 12 Jun 2026 10:57:16 +0900 Subject: [PATCH] =?UTF-8?q?feat(aicharacter):=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90=20=EC=BA=90=EB=A6=AD=ED=84=B0=20=EC=83=9D=EC=84=B1=20?= =?UTF-8?q?=EB=8F=99=EA=B8=B0=ED=99=94=EB=A5=BC=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/chat/character/AdminChatCharacterController.kt | 3 +++ .../admin/chat/character/AdminChatCharacterControllerTest.kt | 2 ++ 2 files changed, 5 insertions(+) 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 dca09a61..ce76d4bf 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 @@ -10,6 +10,7 @@ import kr.co.vividnext.sodalive.admin.chat.character.service.AdminChatCharacterS import kr.co.vividnext.sodalive.admin.chat.original.service.AdminOriginalWorkService import kr.co.vividnext.sodalive.aws.s3.S3Uploader import kr.co.vividnext.sodalive.chat.character.CharacterType +import kr.co.vividnext.sodalive.chat.character.service.ChatCharacterCreatorMemberService import kr.co.vividnext.sodalive.chat.character.service.ChatCharacterService import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.common.SodaException @@ -45,6 +46,7 @@ class AdminChatCharacterController( private val adminService: AdminChatCharacterService, private val s3Uploader: S3Uploader, private val originalWorkService: AdminOriginalWorkService, + private val creatorMemberService: ChatCharacterCreatorMemberService, private val applicationEventPublisher: ApplicationEventPublisher, @Value("\${weraser.api-key}") @@ -166,6 +168,7 @@ class AdminChatCharacterController( ) chatCharacter.imagePath = imagePath service.saveChatCharacter(chatCharacter) + creatorMemberService.syncAiCharacterCreatorMemberDisplayFields(chatCharacter) // 4. 원작 연결: originalWorkId가 있으면 서비스 계층을 통해 배정 if (request.originalWorkId != null) { diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt index 551790d3..cd4932e3 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/admin/chat/character/AdminChatCharacterControllerTest.kt @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.admin.chat.character import kr.co.vividnext.sodalive.admin.chat.character.service.AdminChatCharacterService import kr.co.vividnext.sodalive.admin.chat.original.service.AdminOriginalWorkService import kr.co.vividnext.sodalive.aws.s3.S3Uploader +import kr.co.vividnext.sodalive.chat.character.service.ChatCharacterCreatorMemberService import kr.co.vividnext.sodalive.chat.character.service.ChatCharacterService import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -15,6 +16,7 @@ class AdminChatCharacterControllerTest { adminService = Mockito.mock(AdminChatCharacterService::class.java), s3Uploader = Mockito.mock(S3Uploader::class.java), originalWorkService = Mockito.mock(AdminOriginalWorkService::class.java), + creatorMemberService = Mockito.mock(ChatCharacterCreatorMemberService::class.java), applicationEventPublisher = Mockito.mock(ApplicationEventPublisher::class.java), apiKey = "test-api-key", apiUrl = "https://example.com",