Skip to content

Commit e593226

Browse files
committed
fix: 순환참조 문제 해결
1 parent 61fa166 commit e593226

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

bookduck/src/main/java/com/mmc/bookduck/domain/book/service/BookInfoService.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import com.mmc.bookduck.domain.archive.dto.response.UserArchiveResponseDto.ArchiveWithoutTitleAuthor;
99
import com.mmc.bookduck.domain.archive.entity.Excerpt;
1010
import com.mmc.bookduck.domain.archive.entity.Review;
11+
import com.mmc.bookduck.domain.archive.repository.ArchiveRepository;
1112
import com.mmc.bookduck.domain.archive.repository.ExcerptRepository;
1213
import com.mmc.bookduck.domain.archive.repository.ReviewRepository;
13-
import com.mmc.bookduck.domain.archive.service.ArchiveService;
1414
import com.mmc.bookduck.domain.badge.service.BadgeUnlockService;
1515
import com.mmc.bookduck.domain.book.dto.common.BookCoverImageUnitDto;
1616
import com.mmc.bookduck.domain.book.dto.common.BookUnitParseDto;
@@ -75,7 +75,7 @@ public class BookInfoService {
7575
private final UserBookRepository userBookRepository;
7676
private final ReviewRepository reviewRepository;
7777
private final ExcerptRepository excerptRepository;
78-
private final ArchiveService archiveService;
78+
private final ArchiveRepository archiveRepository;
7979
private final GenreService genreService;
8080
private final GoogleBooksApiService googleBooksApiService;
8181
private final UserService userService;
@@ -500,11 +500,15 @@ public UserArchiveResponseDto getAllUserBookArchive(Long bookInfoId, Long userId
500500
List<Excerpt> excerpts = excerptRepository.findExcerptsByUserBookWithPublic(userBook);
501501
List<Review> reviews = reviewRepository.findReviewsByUserBookWithPublic(userBook);
502502
for(Excerpt excerpt : excerpts){
503-
Long archiveId = archiveService.findArchiveByType(excerpt.getExcerptId(), EXCERPT).getArchiveId();
503+
Long archiveId = archiveRepository.findByExcerpt_ExcerptId(excerpt.getExcerptId())
504+
.orElseThrow(() -> new CustomException(ErrorCode.EXCERPT_NOT_FOUND))
505+
.getArchiveId();
504506
archiveList.add(new UserArchiveResponseDto.ArchiveWithoutTitleAuthor(EXCERPT, ExcerptResponseDto.from(excerpt), archiveId));
505507
}
506508
for(Review review : reviews){
507-
Long archiveId = archiveService.findArchiveByType(review.getReviewId(), REVIEW).getArchiveId();
509+
Long archiveId = archiveRepository.findByReview_ReviewId(review.getReviewId())
510+
.orElseThrow(() -> new CustomException(ErrorCode.REVIEW_NOT_FOUND))
511+
.getArchiveId();
508512
archiveList.add(new UserArchiveResponseDto.ArchiveWithoutTitleAuthor(REVIEW, ReviewResponseDto.from(review), archiveId));
509513
}
510514

@@ -529,11 +533,15 @@ public UserArchiveResponseDto getAllMyBookArchive(Long bookInfoId, Pageable page
529533
List<Excerpt> excerpts = excerptRepository.findExcerptByUserBookOrderByCreatedTimeDesc(userBook);
530534
List<Review> reviews = reviewRepository.findReviewByUserBookOrderByCreatedTimeDesc(userBook);
531535
for(Excerpt excerpt : excerpts){
532-
Long archiveId = archiveService.findArchiveByType(excerpt.getExcerptId(), EXCERPT).getArchiveId();
536+
Long archiveId = archiveRepository.findByExcerpt_ExcerptId(excerpt.getExcerptId())
537+
.orElseThrow(() -> new CustomException(ErrorCode.EXCERPT_NOT_FOUND))
538+
.getArchiveId();
533539
archiveList.add(new UserArchiveResponseDto.ArchiveWithoutTitleAuthor(EXCERPT, ExcerptResponseDto.from(excerpt), archiveId));
534540
}
535541
for(Review review : reviews){
536-
Long archiveId = archiveService.findArchiveByType(review.getReviewId(), REVIEW).getArchiveId();
542+
Long archiveId = archiveRepository.findByReview_ReviewId(review.getReviewId())
543+
.orElseThrow(() -> new CustomException(ErrorCode.REVIEW_NOT_FOUND))
544+
.getArchiveId();
537545
archiveList.add(new UserArchiveResponseDto.ArchiveWithoutTitleAuthor(REVIEW, ReviewResponseDto.from(review), archiveId));
538546
}
539547

0 commit comments

Comments
 (0)