@@ -129,9 +129,11 @@ else if (currentStep >= 1 && currentStep <= 4) {
129129 String response = generateAIResponse (requestDto );
130130
131131 return ChatResponseDto .builder ()
132+ .userId (requestDto .getUserId ())
132133 .message (response )
134+ .sender (MessageSender .CHATBOT )
133135 .type (MessageType .TEXT )
134- .timestamp (LocalDateTime .now ())
136+ .createdAt (LocalDateTime .now ())
135137 .build ();
136138
137139 } catch (Exception e ) {
@@ -254,6 +256,7 @@ public ChatResponseDto createGreetingMessage(Long userId) {
254256 // 중복 확인: 동일한 인사말이 이미 존재하는지 확인
255257 boolean greetingExists = chatConversationRepository .existsByUserIdAndMessage (userId , greetingMessage );
256258
259+ ChatConversation savedGreeting = null ;
257260 // 중복되지 않을 경우에만 DB에 저장
258261 if (!greetingExists ) {
259262 ChatConversation greeting = ChatConversation .builder ()
@@ -262,18 +265,21 @@ public ChatResponseDto createGreetingMessage(Long userId) {
262265 .sender (MessageSender .CHATBOT )
263266 .createdAt (LocalDateTime .now ())
264267 .build ();
265- chatConversationRepository .save (greeting );
268+ savedGreeting = chatConversationRepository .save (greeting );
266269 log .info ("인사말 저장 완료 - userId: {}" , userId );
267270 } else {
268271 log .info ("이미 인사말이 존재하여 저장 생략 - userId: {}" , userId );
269272 }
270273
271- // ChatResponseDto 반환
274+ // ChatResponseDto 반환 (요청된 형식에 맞춰 id, userId, sender, type, createdAt 포함)
272275 return ChatResponseDto .builder ()
276+ .id (savedGreeting != null ? savedGreeting .getId () : null )
277+ .userId (userId )
273278 .message (greetingMessage )
279+ .sender (MessageSender .CHATBOT )
274280 .type (MessageType .RADIO_OPTIONS )
275281 .stepData (stepData )
276- .timestamp (LocalDateTime .now ())
282+ .createdAt (LocalDateTime .now ())
277283 .build ();
278284 }
279285
@@ -390,8 +396,9 @@ private String generateAIResponse(ChatRequestDto requestDto) {
390396 public ChatResponseDto createLoadingMessage () {
391397 return ChatResponseDto .builder ()
392398 .message ("응답을 생성하는 중..." )
399+ .sender (MessageSender .CHATBOT )
393400 .type (MessageType .LOADING )
394- .timestamp (LocalDateTime .now ())
401+ .createdAt (LocalDateTime .now ())
395402 .metaData (ChatResponseDto .MetaData .builder ()
396403 .isTyping (true )
397404 .build ())
@@ -438,9 +445,11 @@ private ChatResponseDto generateAIResponseWithContext(ChatRequestDto requestDto,
438445 String response = generateAIResponse (requestDto );
439446
440447 return ChatResponseDto .builder ()
448+ .userId (requestDto .getUserId ())
441449 .message (response )
450+ .sender (MessageSender .CHATBOT )
442451 .type (MessageType .TEXT )
443- .timestamp (LocalDateTime .now ())
452+ .createdAt (LocalDateTime .now ())
444453 .metaData (ChatResponseDto .MetaData .builder ()
445454 .actionType (mode )
446455 .currentStep (0 )
@@ -455,8 +464,9 @@ private ChatResponseDto generateAIResponseWithContext(ChatRequestDto requestDto,
455464 private ChatResponseDto createErrorResponse (String errorMessage ) {
456465 return ChatResponseDto .builder ()
457466 .message (errorMessage )
467+ .sender (MessageSender .CHATBOT )
458468 .type (MessageType .ERROR )
459- .timestamp (LocalDateTime .now ())
469+ .createdAt (LocalDateTime .now ())
460470 .build ();
461471 }
462472
@@ -517,11 +527,13 @@ private ChatResponseDto handleStepRecommendation(ChatRequestDto requestDto) {
517527 .build ();
518528
519529 return ChatResponseDto .builder ()
530+ .userId (requestDto .getUserId ())
520531 .message (message )
532+ .sender (MessageSender .CHATBOT )
521533 .type (type )
522534 .stepData (stepData )
523535 .metaData (metaData )
524- .timestamp (LocalDateTime .now ())
536+ .createdAt (LocalDateTime .now ())
525537 .build ();
526538 }
527539
0 commit comments