feat(aicharacter): 관리자 캐릭터 생성 동기화를 추가한다

This commit is contained in:
2026-06-12 10:57:16 +09:00
parent 74414937cf
commit ff9053d54d
2 changed files with 5 additions and 0 deletions

View File

@@ -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.admin.chat.original.service.AdminOriginalWorkService
import kr.co.vividnext.sodalive.aws.s3.S3Uploader import kr.co.vividnext.sodalive.aws.s3.S3Uploader
import kr.co.vividnext.sodalive.chat.character.CharacterType 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.chat.character.service.ChatCharacterService
import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.common.SodaException
@@ -45,6 +46,7 @@ class AdminChatCharacterController(
private val adminService: AdminChatCharacterService, private val adminService: AdminChatCharacterService,
private val s3Uploader: S3Uploader, private val s3Uploader: S3Uploader,
private val originalWorkService: AdminOriginalWorkService, private val originalWorkService: AdminOriginalWorkService,
private val creatorMemberService: ChatCharacterCreatorMemberService,
private val applicationEventPublisher: ApplicationEventPublisher, private val applicationEventPublisher: ApplicationEventPublisher,
@Value("\${weraser.api-key}") @Value("\${weraser.api-key}")
@@ -166,6 +168,7 @@ class AdminChatCharacterController(
) )
chatCharacter.imagePath = imagePath chatCharacter.imagePath = imagePath
service.saveChatCharacter(chatCharacter) service.saveChatCharacter(chatCharacter)
creatorMemberService.syncAiCharacterCreatorMemberDisplayFields(chatCharacter)
// 4. 원작 연결: originalWorkId가 있으면 서비스 계층을 통해 배정 // 4. 원작 연결: originalWorkId가 있으면 서비스 계층을 통해 배정
if (request.originalWorkId != null) { if (request.originalWorkId != null) {

View File

@@ -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.character.service.AdminChatCharacterService
import kr.co.vividnext.sodalive.admin.chat.original.service.AdminOriginalWorkService import kr.co.vividnext.sodalive.admin.chat.original.service.AdminOriginalWorkService
import kr.co.vividnext.sodalive.aws.s3.S3Uploader 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 kr.co.vividnext.sodalive.chat.character.service.ChatCharacterService
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
@@ -15,6 +16,7 @@ class AdminChatCharacterControllerTest {
adminService = Mockito.mock(AdminChatCharacterService::class.java), adminService = Mockito.mock(AdminChatCharacterService::class.java),
s3Uploader = Mockito.mock(S3Uploader::class.java), s3Uploader = Mockito.mock(S3Uploader::class.java),
originalWorkService = Mockito.mock(AdminOriginalWorkService::class.java), originalWorkService = Mockito.mock(AdminOriginalWorkService::class.java),
creatorMemberService = Mockito.mock(ChatCharacterCreatorMemberService::class.java),
applicationEventPublisher = Mockito.mock(ApplicationEventPublisher::class.java), applicationEventPublisher = Mockito.mock(ApplicationEventPublisher::class.java),
apiKey = "test-api-key", apiKey = "test-api-key",
apiUrl = "https://example.com", apiUrl = "https://example.com",