Skip to content

Commit a548365

Browse files
authored
refactor: 재추천 시 피드백 반영 로직 추가
refactor: 재추천 시 피드백 반영 로직 추가
2 parents 28a9d87 + 03fced5 commit a548365

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/main/java/swm/betterlife/antifragile/domain/content/service/ContentService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public ContentListResponse saveRecommendContents(String memberId, LocalDate date
5151

5252
String prompt = "이 일기와 조금이라도 관련있는 메타데이터를 10개 추천해줘";
5353
prompt = recommendService.createPrompt(
54-
analysis.getEmotions(), analysis.getEvent(), member, prompt
54+
analysis.getEmotions(), analysis.getEvent(), member, prompt, null
5555
);
5656
List<Content> recommendedContents
5757
= getRecommendContentsByAnalysis(analysis, member, prompt);
@@ -80,7 +80,7 @@ public ContentListResponse saveReRecommendContents(
8080

8181
String prompt = "지금 사용자의 상태에 따라 관련되거나 정신적으로 도움 되는 콘텐츠 10개를 추천해줘";
8282
prompt = recommendService.createPrompt(
83-
analysis.getEmotions(), analysis.getEvent(), member, prompt
83+
analysis.getEmotions(), analysis.getEvent(), member, prompt, feedback
8484
);
8585
List<Content> recommendedContents
8686
= getRecommendContentsByAnalysis(analysis, member, prompt);

src/main/java/swm/betterlife/antifragile/domain/recommend/service/RecommendService.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,27 @@ public class RecommendService {
4242
@Value("${youtube.api.key}")
4343
private String apiKey;
4444

45-
public String createPrompt(List<String> emotions, String event, Member member, String prompt) {
45+
public String createPrompt(
46+
List<String> emotions, String event,
47+
Member member, String prompt, String feedback
48+
) {
4649

4750
String emotionString = String.join(", ", emotions);
4851

49-
return String.format(
52+
String baseMessage = String.format(
5053
"%s 감정을 가진 나이가 %d인 %s이 쓴 일기 내용은 \"%s\"야. %s",
5154
emotionString,
5255
AgeConverter.convertDateToAge(member.getBirthDate()),
5356
member.getJob(),
5457
event,
5558
prompt
5659
);
60+
61+
if (feedback != null) {
62+
return String.format("%s. 이때 %s를 참고해줘", baseMessage, feedback);
63+
}
64+
65+
return baseMessage;
5766
}
5867

5968
public YouTubeResponse getYoutubeInfo(List<String> videoIds) throws IOException {

0 commit comments

Comments
 (0)