@@ -613,15 +613,20 @@ private ChatResponseDto handleStepRecommendation(ChatRequestDto requestDto) {
613613 case 4 :
614614 // Step 4에서 로딩 메시지 처리
615615 if (!"PROCESS_STEP_RECOMMENDATION" .equals (requestDto .getMessage ())) {
616- // 사용자 입력 저장 (Step 3의 답변)
616+ // 사용자 입력 저장 (Step 3의 답변) 및 userStyleInput에 저장
617617 if (requestDto .getMessage () != null && !requestDto .getMessage ().trim ().isEmpty ()) {
618+ // DB에 저장
618619 ChatConversation userInput = ChatConversation .builder ()
619620 .userId (requestDto .getUserId ())
620621 .message (requestDto .getMessage ())
621622 .sender (MessageSender .USER )
622623 .createdAt (LocalDateTime .now ())
623624 .build ();
624625 chatConversationRepository .save (userInput );
626+
627+ // userStyleInput에 저장 (다음 요청에서 사용)
628+ requestDto .setUserStyleInput (requestDto .getMessage ());
629+ log .info ("Step 3 사용자 입력 저장: {}" , requestDto .getMessage ());
625630 }
626631
627632 // 고정 로딩 메시지
@@ -660,11 +665,11 @@ private ChatResponseDto handleStepRecommendation(ChatRequestDto requestDto) {
660665 .build ();
661666 }
662667
663- // 실제 추천 처리
668+ // 실제 추천 처리 - userStyleInput 사용 (PROCESS_STEP_RECOMMENDATION 키워드 아님)
664669 stepData = getFinalRecommendationsWithMessage (
665670 parseAlcoholStrength (requestDto .getSelectedAlcoholStrength ()),
666671 parseAlcoholBaseType (requestDto .getSelectedAlcoholBaseType ()),
667- requestDto .getMessage ()
672+ requestDto .getUserStyleInput () // message 대신 userStyleInput 사용
668673 );
669674 message = stepData .getStepTitle ();
670675 type = MessageType .CARD_LIST ;
0 commit comments