From 6ad46cbe2d8c16fd2a9f261326614e86b901d81c Mon Sep 17 00:00:00 2001 From: bbbang105 <2018111366@dgu.ac.kr> Date: Thu, 23 May 2024 20:54:41 +0900 Subject: [PATCH 1/3] =?UTF-8?q?#74=20[feat]=20:=20=EA=B1=B4=EA=B0=95=20&?= =?UTF-8?q?=20=EC=82=AC=EB=9E=91=20=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20?= =?UTF-8?q?=EC=A7=88=EB=AC=B8=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20=EB=A7=88?= =?UTF-8?q?=EB=AC=B4=EB=A6=AC=20=EB=A9=98=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/persona/constant/Question.java | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/src/main/java/kusitms/jangkku/domain/persona/constant/Question.java b/src/main/java/kusitms/jangkku/domain/persona/constant/Question.java index f8fdb56..6c9203f 100644 --- a/src/main/java/kusitms/jangkku/domain/persona/constant/Question.java +++ b/src/main/java/kusitms/jangkku/domain/persona/constant/Question.java @@ -1,26 +1,42 @@ package kusitms.jangkku.domain.persona.constant; public enum Question { - HEALTH_Q1(1, "건강", "안녕하세요! 오늘은 몸 상태가 어떤가요?"), - HEALTH_Q2(2, "건강", "오늘은 운동을 하셨나요?"), - HEALTH_Q3(3, "건강", "하루에 몇 시간 정도 자고 계신가요?"), - HEALTH_Q4(4, "건강", "영양을 챙겨 식사하고 계신가요?"), - HEALTH_Q5(5, "건강", "스트레스 관리는 잘 하고 계신가요?"), + HEALTH_Q1(1, "건강", """ + 안녕 나는 마음의 건강이라는 주제로 너와 대화하며, 너의 건강한 내면을 발견하고 너의 기둥을 찾을 수 있도록 도와주는 셀퍼야. + 앞으로 내가 3가지 질문을 할건데, 잘 대답해봐. + 그러면 첫번째 질문을 해볼게. 첫번째 질문은 가볍게 신체적 건강과 관한 내용이야. + 좋아하는 운동이 있어? 그 운동이 왜 좋아?"""), + HEALTH_Q2(2, "건강", """ + 그럼 이제 조금 어려울 수도 있는데, 마음의 건강과 관한 질문을 해볼게. + 심호흡 한 번 하고 대답해봐. 너는 평소에 더 행복하게, 건강하게 살기 위해서 남는 시간에 노력하는게 있어?"""), + HEALTH_Q3(3, "건강", """ + 그러면 마지막 질문! + 마음이 건강하다는 건 어떤 뜻인거 같아? 너가 중요하다고 생각하는 가치(정직, 책임, 인간관계, 명예 등)를 떠올리면서 답변하면 더 좋을 거 같아."""), CAREER_Q1(1, "커리어", "최근에 업무나 공부에서 어떤 어려움을 겪고 계신가요?"), CAREER_Q2(2, "커리어", "직무나 학업에 대한 목표가 있나요?"), CAREER_Q3(3, "커리어", "자신의 업무 또는 공부에 대해 만족하고 계신가요?"), - CAREER_Q4(4, "커리어", "좋은 성과를 얻기 위해 노력하고 계신가요?"), - CAREER_Q5(5, "커리어", "자신의 직업이나 전공에 어떤 자부심을 가지고 계신가요?"), - LOVE_Q1(1, "사랑", "사랑하는 사람과 함께 시간을 보낼 때 가장 행복한 순간은 언제인가요?"), - LOVE_Q2(2, "사랑", "애인과의 관계에서 중요하게 생각하는 가치나 원칙이 있나요?"), - LOVE_Q3(3, "사랑", "사랑하는 사람과 함께하는 시간을 더욱 특별하게 만들기 위해 노력하고 있나요?"), - LOVE_Q4(4, "사랑", "사랑하는 사람에 대해 생각할 때 특별하게 느끼는 감정이 있나요?"), - LOVE_Q5(5, "사랑", "사랑하는 사람과의 관계를 발전시키기 위해 어떤 노력을 하고 싶으신가요?"), + LOVE_Q1(1, "사랑", """ + 안녕 나는 사랑이라는 주제로 너와 대화하며 , 사랑을 통해 너를 발견하고 너의 가치를 만들어가도록 도와주는 셀퍼야. + 앞으로 내가 3가지 질문을 할건데, 잘 대답해줘. + 너가 지금까지 살면서 가장 사랑했던 사람을 (그게 너일수도 있구) 떠올리면서 답하면 더 쉬울거야. + 그럼 첫번째 질문이야. + 너는 사랑에 이유가 있다고 생각해? 있다면 왜 있는지, 없다면 왜 없다고 생각하는지 말해줘!"""), + LOVE_Q2(2, "사랑", """ + 그러면 이어서 두번째 질문! + 네 인생에서 사랑은 몇순위야? 다른 일이나 인간관계와 사랑을 비교했을때 뭐가 더 먼저라고 생각해?"""), + LOVE_Q3(3, "사랑", """ + 그럼 마지막 질문! + 너는 사랑을 주는 걸 좋아해 아님 받는걸 좋아해?"""), LEISURE_Q1(1, "여가", "여가 시간에 어떤 취미나 활동을 즐기시나요?"), LEISURE_Q2(2, "여가", "스트레스를 풀기 위해 어떤 여가 활동을 하시나요?"), LEISURE_Q3(3, "여가", "자유 시간을 보내는 것에 대해 어떻게 생각하시나요?"), - LEISURE_Q4(4, "여가", "최근에 본 영화나 듣고 있는 음악은 무엇인가요?"), - LEISURE_Q5(5, "여가", "오늘의 취미생활이나 여가 활동에 대해 이야기해주세요!"); + LOVE_FINAL_COMMENT(0, "사랑", """ + \n답변 잘 해줘서 고마워. + 나는 라이프 디자인에 기반한 챗봇이라 완벽히 맞을 수는 없지만 나랑 대화하면서 너에 대해서 조금은 잘 알아갈 수 있는 기회가 되었길 바랄게 :)"""), + HEALTH_FINAL_COMMENT(0, "건강", """ + \n답변 잘 해줘서 고마워. + 나랑 한 이 대화가 너의 내면을 들여다보는데 도움이 되었으면 좋겠다! + 내가 답을 제시해줄 순 없겠지만 내가 던진 질문을 토대로 너에 대해 생각하면서 너의 가치를 정의해가길 바랄게."""); private int number; private String category; From bb41246c937e5dde62f836d216073257872b2239 Mon Sep 17 00:00:00 2001 From: bbbang105 <2018111366@dgu.ac.kr> Date: Thu, 23 May 2024 20:54:56 +0900 Subject: [PATCH 2/3] =?UTF-8?q?#74=20[style]=20:=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=ED=95=98=EC=A7=80=20=EC=95=8A=EA=B2=8C=20=EB=90=9C=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=EB=93=9C=20=EC=A3=BC=EC=84=9D=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/kusitms/jangkku/global/util/NumberUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/kusitms/jangkku/global/util/NumberUtil.java b/src/main/java/kusitms/jangkku/global/util/NumberUtil.java index 7191fed..c561f91 100644 --- a/src/main/java/kusitms/jangkku/global/util/NumberUtil.java +++ b/src/main/java/kusitms/jangkku/global/util/NumberUtil.java @@ -10,7 +10,7 @@ @RequiredArgsConstructor public class NumberUtil { - // 목록에 없는 숫자 하나를 랜덤하게 뽑는 메서드 + /* 목록에 없는 숫자 하나를 랜덤하게 뽑는 메서드 public int getRandomNumberNotInList(List questionNumbers) { // 랜덤한 숫자 생성 Random random = new Random(); @@ -22,5 +22,5 @@ public int getRandomNumberNotInList(List questionNumbers) { } return randomNumber; - } + } */ } \ No newline at end of file From 3a60c97eafcfffc6b9f220b99ee19a8842b7546f Mon Sep 17 00:00:00 2001 From: bbbang105 <2018111366@dgu.ac.kr> Date: Thu, 23 May 2024 20:55:41 +0900 Subject: [PATCH 3/3] =?UTF-8?q?#74=20[refactor]=20:=20=EC=B9=B4=ED=85=8C?= =?UTF-8?q?=EA=B3=A0=EB=A6=AC=EB=B3=84=EB=A1=9C=20=EB=A7=88=EB=AC=B4?= =?UTF-8?q?=EB=A6=AC=20=EB=A9=98=ED=8A=B8=20=EB=8B=AC=EB=9D=BC=EC=A7=80?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/DiscoverPersonaServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/kusitms/jangkku/domain/persona/application/DiscoverPersonaServiceImpl.java b/src/main/java/kusitms/jangkku/domain/persona/application/DiscoverPersonaServiceImpl.java index bc8e3c9..661cce8 100644 --- a/src/main/java/kusitms/jangkku/domain/persona/application/DiscoverPersonaServiceImpl.java +++ b/src/main/java/kusitms/jangkku/domain/persona/application/DiscoverPersonaServiceImpl.java @@ -79,10 +79,14 @@ public DiscoverPersonaDto.AnswerResponse getReactionAndSummary(String authorizat DiscoverPersonaChatting discoverPersonaChatting = discoverPersonaChattingRepository.findById(answerRequest.getChattingId()) .orElseThrow(() -> new PersonaException(PersonaErrorResult.NOT_FOUND_CHATTING)); + DiscoverPersona discoverPersona = discoverPersonaChatting.getDiscoverPersona(); + String reaction = clovaService.createDiscoverPersonaReaction(answerRequest.getAnswer()); // 마지막 대화인 경우 마무리 멘트 추가 - if (discoverPersonaChatting.getDiscoverPersona().getIsComplete()) { - reaction += Question.FINAL_COMMENT.getContent(); + if (discoverPersona.getIsComplete()) { + String category = discoverPersona.getCategory(); + String finalComment = getQuestionContent(category, 0); + reaction += finalComment; } String summary = clovaService.createDiscoverPersonaSummary(answerRequest.getAnswer()); @@ -91,8 +95,6 @@ public DiscoverPersonaDto.AnswerResponse getReactionAndSummary(String authorizat discoverPersonaChatting.updateSummary(summary); discoverPersonaChattingRepository.save(discoverPersonaChatting); - DiscoverPersona discoverPersona = discoverPersonaChatting.getDiscoverPersona(); - // 대화가 완료된 경우 키워드 생성 if (discoverPersona.getIsComplete()) { createPersonaKeywords(discoverPersona);