From 0ca4ecc3fea8cd8f4d6ae20237458349e9010b68 Mon Sep 17 00:00:00 2001 From: anacnoda77 Date: Thu, 4 Sep 2025 23:43:28 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20Orch=20=EA=B3=84=EC=B8=B5=20=EC=9D=98?= =?UTF-8?q?=EC=A1=B4=EC=9D=84=20=EA=B3=A0=EB=A0=A4=ED=95=98=EC=97=AC=20@Tr?= =?UTF-8?q?anscational=20=EC=A0=81=EC=9A=A9=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newzet/api/article/business/service/ArticleService.java | 6 ++++-- .../api/article/orchestrator/ArticleOrchestrator.java | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/newzet/api/article/business/service/ArticleService.java b/src/main/java/com/newzet/api/article/business/service/ArticleService.java index 765670e0..d0358532 100644 --- a/src/main/java/com/newzet/api/article/business/service/ArticleService.java +++ b/src/main/java/com/newzet/api/article/business/service/ArticleService.java @@ -24,7 +24,6 @@ @Slf4j @Service -@Transactional(readOnly = true) @RequiredArgsConstructor public class ArticleService { @@ -39,6 +38,7 @@ public void saveArticleBatch(UUID userId, String fromName, String fromDomain, batchProducer.addToBatch(article); } + @Transactional(readOnly = true) public ArticleListResponse getMonthlyArticleList(UUID userId, int year, int month) { List articleListAtYearAndMonth = articleRepository.getMonthlyArticleWithImage( userId, year, month); @@ -54,7 +54,6 @@ public ArticleListResponse getMonthlyArticleList(UUID userId, int year, int mont return ArticleListResponse.from(getDailyArticleList(articleList)); } - @Transactional public Article getArticle(UUID articleId) { Article article = articleRepository.getById(articleId).toDomain(); if (article.checkIsUnRead()) { // isRead가 false이면 읽기 처리 수행 @@ -64,6 +63,7 @@ public Article getArticle(UUID articleId) { return article; } + @Transactional(readOnly = true) public ArticleLikeListResponse getArticleLikeList(UUID userId) { List articleList = articleRepository.findLikeArticleWithImage(userId) .stream() @@ -106,12 +106,14 @@ public Article addArticle(UUID userId, String name, String domain, String title, return articleRepository.save(article); } + @Transactional public Article shareArticle(UUID articleId) { Article article = articleRepository.getById(articleId).toDomain(); Article sharedArticle = article.share(); return articleRepository.save(sharedArticle); } + @Transactional(readOnly = true) public String getSharedUrl(UUID articleId) { return String.format("%s/%s", ARTICLE_SHARE_PREFIX, articleId); } diff --git a/src/main/java/com/newzet/api/article/orchestrator/ArticleOrchestrator.java b/src/main/java/com/newzet/api/article/orchestrator/ArticleOrchestrator.java index 25fb22eb..14891260 100644 --- a/src/main/java/com/newzet/api/article/orchestrator/ArticleOrchestrator.java +++ b/src/main/java/com/newzet/api/article/orchestrator/ArticleOrchestrator.java @@ -27,6 +27,7 @@ public ArticleContentResponse getSharedArticle(UUID articleId) { sharedArticle.isLike()); } + @Transactional public ArticleContentResponse getArticle(UUID articleId) { Article article = articleService.getArticle(articleId); String content = s3Service.getContentAsString(article.getContentUrl());