diff --git a/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedDlqListener.java b/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedDlqListener.java index 5f19b436..1672b71e 100644 --- a/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedDlqListener.java +++ b/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedDlqListener.java @@ -50,7 +50,7 @@ public void handleFinalFailedMessage(AiImageResponseMessageDto messageDto, Messa AiChatMessageEntity requestChatMessage = chatMessageOpt.get(); - // 2. 메시지 상태를 RESPONSE_FAILED로 변경 + // 2. 메시지 상태를 RESPONSE_FAILED로 변경 -> 요청 메세지의 상태를 RESPONSE_FAILED로 변경 requestChatMessage.updateStatus(AiImageStatus.RESPONSE_FAILED); aiChatMessageRepository.save(requestChatMessage); log.info("[상태 업데이트] requestId={} 메시지 상태를 RESPONSE_FAILED로 변경", messageDto.requestId()); diff --git a/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java b/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java index 237a1ddc..a89e93d5 100644 --- a/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java +++ b/src/main/java/hanium/modic/backend/domain/ai/aiServer/listener/AiImageCreatedListener.java @@ -117,6 +117,7 @@ private void handleSuccessImageGeneration( // 4.요청 메시지 완료상태로 업데이트 requestChatMessage.updateStatus(AiImageStatus.REQUEST); + aiChatMessageRepository.save(requestChatMessage); // 5.이미지 URL 생성 String imageUrl = aiChatImageService.createImageGetUrl(aiChatImage.getId()); @@ -152,6 +153,7 @@ private void handleFailedImageGeneration( // 3.요청 메시지 완료상태로 업데이트 requestChatMessage.updateStatus(AiImageStatus.REQUEST); + aiChatMessageRepository.save(requestChatMessage); // 4.클라이언트는 이미지 생성 요청 후 SSE 연결을 맺어, SSE 연결 객체가 아래 Service에 존재한다. 이를 사용해 채팅을 응답한다. aiResponseSseService.sendToClient( diff --git a/src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java b/src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java index 5dc1ee6d..4b69b0a0 100644 --- a/src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java +++ b/src/main/java/hanium/modic/backend/domain/ai/aiServer/service/AiServerService.java @@ -157,10 +157,14 @@ private void requestChatCreation( .build(); aiChatMessageRepository.save(message); - // 3.채팅룸 요약 업데이트 + // 3. 요청 메세지 상태 변경 + chatMessage.updateStatus(AiImageStatus.REQUEST); + aiChatMessageRepository.save(chatMessage); + + // 4.채팅룸 요약 업데이트 aiChatRoomService.updateChatSummary(userId, postId, response.newSummary()); - // 3. 사용자가 보낸 image 조회 + // 5. 사용자가 보낸 image 조회 String imageUrl; if (aiChatImages.isEmpty()) { imageUrl = null; @@ -168,7 +172,7 @@ private void requestChatCreation( imageUrl = aiChatImageService.createImageGetUrl(aiChatImages.get(0).getId()); } - // 4. SSE로 실시간 응답 + // 6. SSE로 실시간 응답 aiResponseSseService.sendToClient( chatMessage.getRequestId(), ChatMessageResponse.of(message, imageUrl)