From bbee6565b896270d325395de4fbca53cdb730182 Mon Sep 17 00:00:00 2001 From: lsh9672 Date: Wed, 18 Jun 2025 13:59:18 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20=EB=B6=84=EC=84=9D=20api=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hi/analytics/infra/gateway/AIServiceAdapter.java | 12 +++++++++--- .../infra/gateway/AnalyticsRepositoryAdapter.java | 2 +- .../infra/gateway/ExternalReviewAdapter.java | 5 ++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AIServiceAdapter.java b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AIServiceAdapter.java index f0ee1d8..5c167b0 100644 --- a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AIServiceAdapter.java +++ b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AIServiceAdapter.java @@ -88,7 +88,7 @@ public class AIServiceAdapter implements AIServicePort { } // OpenAI API 호출하여 전체 리뷰 분석 - String analysisResult = callOpenAIForAnalysis(reviewData); + String analysisResult = callOpenAIForAnalysis(reviewData).replace("`", ""); // 결과 파싱 및 AiFeedback 객체 생성 return parseAnalysisResult(analysisResult, reviewData.size()); @@ -191,8 +191,9 @@ public class AIServiceAdapter implements AIServicePort { 2. 부정적 요소는 고객들이 자주 언급하는 안좋은 점들 2. 개선점은 부정적 피드백이나 불만사항 3. 추천사항은 매장 운영에 도움이 될 구체적인 제안 - 4. 신뢰도 점수는 0.0-1.0 사이의 값 - 5. summary에는 전체적인 리뷰 분석에 대한 요약이 잘 담기게 작성. + 4. 신뢰도 점수는 0.0-1.0 사이의 값으로 리뷰정보를 보고 적절히 판단. + 5. summary에는 전체적인 리뷰 분석에 대한 요약이 잘 담기게 작성하고 **같은 강조하는 문자 없이 텍스트로만 나타내주세요 + 6. 분석한 내용에 `(백틱) 이 들어가지 않도록 해주세요. """, reviewsText ); @@ -274,6 +275,11 @@ public class AIServiceAdapter implements AIServicePort { */ private AiFeedback parseAnalysisResult(String analysisResult, int totalReviews) { try { + + if(analysisResult.contains("`")){ + log.info("tesafadsf1241241"); + } + // JSON 형태로 응답이 왔다고 가정하고 파싱 Map result = objectMapper.readValue(analysisResult, Map.class); diff --git a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AnalyticsRepositoryAdapter.java b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AnalyticsRepositoryAdapter.java index cdcac1c..2eb52c5 100644 --- a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AnalyticsRepositoryAdapter.java +++ b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/AnalyticsRepositoryAdapter.java @@ -123,7 +123,7 @@ public class AnalyticsRepositoryAdapter implements AnalyticsPort { return AiFeedbackEntity.builder() .id(domain.getId()) .storeId(domain.getStoreId()) - .summary(domain.getSummary()) + .summary(domain.getSummary().replace("*","")) .positivePointsJson(parseListToJson(domain.getPositivePoints())) .negativePointsJson(parseListToJson(domain.getNegativePoints())) .improvementPointsJson(parseListToJson(domain.getImprovementPoints())) diff --git a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/ExternalReviewAdapter.java b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/ExternalReviewAdapter.java index 74f61a6..57fa58c 100644 --- a/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/ExternalReviewAdapter.java +++ b/analytics/src/main/java/com/ktds/hi/analytics/infra/gateway/ExternalReviewAdapter.java @@ -72,7 +72,10 @@ public class ExternalReviewAdapter implements ExternalReviewPort { try { // String url = reviewServiceUrl + "/api/reviews/stores/" + storeId + "/recent?days=" + days; - String url = reviewServiceUrl + "/api/reviews/stores/" + storeId + "?size=100"; + // String url = reviewServiceUrl + "/api/reviews/stores/" + storeId + "?size=100"; + //최근 데이터를 가져오도록 변경 + String url = reviewServiceUrl + "/api/reviews/stores/recent/" + storeId + "?size=100&days=" + days; + // ReviewListResponse 배열로 직접 받기 ReviewListResponse[] reviewArray = restTemplate.getForObject(url, ReviewListResponse[].class);