From 659c0f9cd5f6ae78f33ecb33dba68f4bf9219c9c Mon Sep 17 00:00:00 2001 From: dl-00-e8 Date: Mon, 24 Nov 2025 16:16:48 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=9C=A0=ED=8A=9C=EB=B8=8C,=20=EB=84=A4?= =?UTF-8?q?=EC=9D=B4=EB=B2=84=EC=87=BC=ED=95=91=20=EC=A0=9C=ED=92=88=20?= =?UTF-8?q?=EC=B6=94=EC=B2=9C=ED=95=98=EB=8A=94=20API=20=EA=B0=9C=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/analysis/AnalysisService.java | 8 ++++++++ .../presentation/analysis/AnalysisController.java | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java b/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java index 002bc4b..9249466 100644 --- a/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java +++ b/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java @@ -232,4 +232,12 @@ public AnalysisRes getLogDetail(Long analysisId) { analysis.getProductData() ); } + + public List getYoutubeVideos() { + return youtubeClient.searchVideos("피부관리", 3); + } + + public List getNaverProducts() { + return naverClient.searchProducts("피부관리", 3); + } } diff --git a/api-module/src/main/java/hongik/triple/apimodule/presentation/analysis/AnalysisController.java b/api-module/src/main/java/hongik/triple/apimodule/presentation/analysis/AnalysisController.java index 4d729ff..d639962 100644 --- a/api-module/src/main/java/hongik/triple/apimodule/presentation/analysis/AnalysisController.java +++ b/api-module/src/main/java/hongik/triple/apimodule/presentation/analysis/AnalysisController.java @@ -97,4 +97,16 @@ public ApplicationResponse delete(@RequestParam String key) { s3Client.deleteImage(key); return ApplicationResponse.ok("이미지가 삭제되었습니다."); } + + @GetMapping("/main/youtube") + @Operation(summary = "[홈화면] 유튜브 영상 추천 조회", description = "홈화면의 유튜브 영상 추천을 조회합니다.") + public ApplicationResponse getYoutubeRecommendationsForMainPage() { + return ApplicationResponse.ok(analysisService.getYoutubeVideos()); + } + + @GetMapping("/main/product") + @Operation(summary = "[홈화면] 상품 추천 조회", description = "홈화면의 상품 추천을 조회합니다.") + public ApplicationResponse getProductRecommendationsForMainPage() { + return ApplicationResponse.ok(analysisService.getNaverProducts()); + } } From e00da4cd7bc1e8863e6c71644455515c3ba13ec0 Mon Sep 17 00:00:00 2001 From: dl-00-e8 Date: Mon, 24 Nov 2025 16:17:37 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=EB=A9=94=EC=9D=B8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=9C=A0=ED=8A=9C=EB=B8=8C,=20=EB=84=A4?= =?UTF-8?q?=EC=9D=B4=EB=B2=84=EC=87=BC=ED=95=91=20=EC=A0=9C=ED=92=88=20?= =?UTF-8?q?=EC=B6=94=EC=B2=9C=ED=95=98=EB=8A=94=20API=20=EA=B0=9C=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apimodule/application/analysis/AnalysisService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java b/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java index 68c0445..8931a80 100644 --- a/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java +++ b/api-module/src/main/java/hongik/triple/apimodule/application/analysis/AnalysisService.java @@ -280,4 +280,12 @@ private String formattedWithTime(LocalDateTime time) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); return time.format(formatter); } + + public List getYoutubeVideos() { + return youtubeClient.searchVideos("피부관리", 3); + } + + public List getNaverProducts() { + return naverClient.searchProducts("피부관리", 3); + } }