Skip to content

Commit 0224d5a

Browse files
committed
fix: ClubArchiveResponseDto 중복 필드를 제거
1 parent fcb691d commit 0224d5a

File tree

4 files changed

+9
-13
lines changed

4 files changed

+9
-13
lines changed

bookduck/src/main/java/com/mmc/bookduck/domain/archive/repository/ExcerptRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ Page<Excerpt> searchAllByExcerptContentOrBookInfoTitleOrAuthorByUserAndCreatedTi
6060
WHERE e.user.userId IN :userIds
6161
AND e.userBook.bookInfo.bookInfoId = :bookInfoId
6262
AND e.createdTime BETWEEN :start AND :end
63+
AND (e.visibility = 'PUBLIC' OR e.user.userId = :currentUserId)
6364
""")
6465
List<Excerpt> findClubExcerpts(Long bookInfoId, List<Long> userIds,
65-
LocalDateTime start, LocalDateTime end);
66+
LocalDateTime start, LocalDateTime end, Long currentUserId);
6667
}

bookduck/src/main/java/com/mmc/bookduck/domain/archive/repository/ReviewRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ public interface ReviewRepository extends JpaRepository<Review, Long> {
4848
WHERE r.user.userId IN :userIds
4949
AND r.userBook.bookInfo.bookInfoId = :bookInfoId
5050
AND r.createdTime BETWEEN :start AND :end
51+
AND (r.visibility = 'PUBLIC' OR r.user.userId = :currentUserId)
5152
""")
5253
List<Review> findClubReviews(Long bookInfoId, List<Long> userIds,
53-
LocalDateTime start, LocalDateTime end);
54+
LocalDateTime start, LocalDateTime end, Long currentUserId);
5455
}

bookduck/src/main/java/com/mmc/bookduck/domain/club/dto/response/ClubArchiveResponseDto.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,28 @@
77
import com.mmc.bookduck.domain.archive.entity.Review;
88
import io.swagger.v3.oas.annotations.media.Schema;
99

10-
import java.time.LocalDateTime;
11-
1210
public record ClubArchiveResponseDto(
13-
@Schema(description = "게시물 ID (excerptId 또는 reviewId)") Long id,
1411
@Schema(description = "게시물 타입: EXCERPT / REVIEW") ArchiveType type,
1512
@Schema(description = "작성자 ID") Long userId,
1613
@Schema(description = "작성자 닉네임") String nickname,
17-
@Schema(description = "작성 시각") LocalDateTime createdTime,
1814
@Schema(description = "읽지 않은 게시물 여부") boolean isUnread,
1915
@Schema(description = "게시물 상세 정보 (ExcerptResponseDto 또는 ReviewResponseDto)") Object data
2016
) {
2117
public static ClubArchiveResponseDto fromExcerpt(Excerpt e, boolean isUnread) {
2218
return new ClubArchiveResponseDto(
23-
e.getExcerptId(),
2419
ArchiveType.EXCERPT,
2520
e.getUser().getUserId(),
2621
e.getUser().getNickname(),
27-
e.getCreatedTime(),
2822
isUnread,
2923
ExcerptResponseDto.from(e)
3024
);
3125
}
3226

3327
public static ClubArchiveResponseDto fromReview(Review r, boolean isUnread) {
3428
return new ClubArchiveResponseDto(
35-
r.getReviewId(),
3629
ArchiveType.REVIEW,
3730
r.getUser().getUserId(),
3831
r.getUser().getNickname(),
39-
r.getCreatedTime(),
4032
isUnread,
4133
ReviewResponseDto.from(r)
4234
);

bookduck/src/main/java/com/mmc/bookduck/domain/club/service/ClubService.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,21 @@ public ClubArchiveListResponseDto getClubArchives(Long clubId, Long memberId, Pa
100100
.toList();
101101
}
102102

103-
// Excerpt / Review 조회
103+
// Excerpt / Review 조회 (PRIVATE는 본인 것만)
104104
List<Excerpt> excerpts = excerptRepository.findClubExcerpts(
105105
targetBook.getBookInfoId(),
106106
memberUserIds,
107107
club.getActiveStartAt(),
108-
club.getActiveEndAt()
108+
club.getActiveEndAt(),
109+
currentUser.getUserId()
109110
);
110111

111112
List<Review> reviews = reviewRepository.findClubReviews(
112113
targetBook.getBookInfoId(),
113114
memberUserIds,
114115
club.getActiveStartAt(),
115-
club.getActiveEndAt()
116+
club.getActiveEndAt(),
117+
currentUser.getUserId()
116118
);
117119

118120
// DTO 변환 + lastReadAt로 읽음 여부 플래그 계산

0 commit comments

Comments
 (0)