Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] feat: 받은 리뷰 요약 조회 API 구현 #796

Merged
merged 7 commits into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
@RequiredArgsConstructor
public class ReviewController {

private static final String GROUP_ACCESS_CODE_HEADER = "GroupAccessCode";

private final ReviewRegisterService reviewRegisterService;
private final ReviewListLookupService reviewListLookupService;
private final ReviewDetailLookupService reviewDetailLookupService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,6 @@ AND CAST(r.created_at AS DATE) <= :createdDate
default boolean existsOlderReviewInGroup(long reviewGroupId, long reviewId, LocalDate createdDate) {
return existsOlderReviewInGroupInLong(reviewGroupId, reviewId, createdDate) > 0;
}

int countByReviewGroupId(long reviewGroupId);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

인덱스 걸려있으면 빠를까요? 아래 JPQL과 쿼리 차이나 성능 차이가 있을까요?

@Query("SELECT COUNT(r.id) FROM Review r WHERE r.reviewGroupId = :reviewGroupId)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewGroupId에 인덱스 걸려있어서 현재 쿼리로 인덱스 걸리지 않나요?

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,30 @@
package reviewme.review.service;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import reviewme.review.repository.ReviewRepository;
import reviewme.review.service.dto.response.list.ReceivedReviewsSummaryResponse;
import reviewme.review.service.exception.ReviewGroupNotFoundByReviewRequestCodeException;
import reviewme.reviewgroup.domain.ReviewGroup;
import reviewme.reviewgroup.repository.ReviewGroupRepository;

@Service
@RequiredArgsConstructor
public class ReviewSummaryService {

private final ReviewGroupRepository reviewGroupRepository;
private final ReviewRepository reviewRepository;

public ReceivedReviewsSummaryResponse getReviewSummary(String reviewRequestCode) {
return null;
ReviewGroup reviewGroup = reviewGroupRepository.findByReviewRequestCode(reviewRequestCode)
.orElseThrow(() -> new ReviewGroupNotFoundByReviewRequestCodeException(reviewRequestCode));

int totalReviewCount = reviewRepository.countByReviewGroupId(reviewGroup.getId());

return new ReceivedReviewsSummaryResponse(
reviewGroup.getProjectName(),
reviewGroup.getReviewee(),
totalReviewCount
);
Comment on lines +26 to +30
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[이건 그냥 소감]
요런 컨벤션은 없었던 것 같긴 한데 시원시원한 개행이라 좋네요 ㅎㅎ

}
}