Skip to content

Commit

Permalink
Merge pull request #82 from KUSITMS-29th-TEAM-D/feature/#74/final-ref…
Browse files Browse the repository at this point in the history
…actoring

[refactor] : 카테고리별로 마무리 멘트 달라지도록 변경
  • Loading branch information
bbbang105 authored May 23, 2024
2 parents 5cc2b48 + 3a60c97 commit de36707
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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());

Expand All @@ -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);
Expand Down
44 changes: 30 additions & 14 deletions src/main/java/kusitms/jangkku/domain/persona/constant/Question.java
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/kusitms/jangkku/global/util/NumberUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
@RequiredArgsConstructor
public class NumberUtil {

// 목록에 없는 숫자 하나를 랜덤하게 뽑는 메서드
/* 목록에 없는 숫자 하나를 랜덤하게 뽑는 메서드
public int getRandomNumberNotInList(List<Integer> questionNumbers) {
// 랜덤한 숫자 생성
Random random = new Random();
Expand All @@ -22,5 +22,5 @@ public int getRandomNumberNotInList(List<Integer> questionNumbers) {
}
return randomNumber;
}
} */
}

0 comments on commit de36707

Please sign in to comment.