Skip to content

Commit

Permalink
Merge pull request #81 from kea-dpang/48-api-리팩토링
Browse files Browse the repository at this point in the history
Fix: getReviewList
  • Loading branch information
oo-ni authored Feb 6, 2024
2 parents 2427aef + 6c8efa2 commit 393db2c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 23 deletions.
17 changes: 7 additions & 10 deletions src/main/java/kea/dpang/item/dto/review/ReviewDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,13 @@ public class ReviewDto {
private String content;
private Double rating;

public static ReviewDto of(Review review, String reviewerName) {
return new ReviewDto(
review.getReviewId(),
review.getReviewerId(),
reviewerName,
review.getCreatedTime(),
review.getItem().getId(),
review.getContent(),
review.getRating()
);
public ReviewDto(Review review) {
this.reviewId = review.getReviewId();
this.reviewerId = review.getReviewerId();
this.createdTime = review.getCreatedTime();
this.itemId = review.getItem().getId();
this.content = review.getContent();
this.rating = review.getRating();
}
}

30 changes: 17 additions & 13 deletions src/main/java/kea/dpang/item/service/ReviewServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,25 @@ public void createReview(CreateReviewRequestDto dto) {
@Transactional
public List<ReviewDto> getReviewList(Long itemId, Pageable pageable) {

// 사용자 서버로부터 사용자 정보 조회
ResponseEntity<SuccessResponse<UserDetailDto>> responseEntity = userServiceFeignClient.getReviewer(itemId);
// 사용자 이름 가져오기

String name = Optional.ofNullable(responseEntity.getBody())
.map(SuccessResponse::getData)
.map(UserDetailDto::getName)
.orElseThrow(() -> new RuntimeException("사용자 정보 조회에 실패하였습니다."));

Page<Review> reviews = reviewRepository.findByItemId(itemId, pageable);

// 리뷰 리스트를 PersonalReviewDto로 변환
return reviews.getContent().stream()
.map(review -> ReviewDto.of(review, name))
.toList();
return reviews.stream().map(review -> {
// 작성자 이름 가져오기
ResponseEntity<SuccessResponse<UserDetailDto>> response = userServiceFeignClient.getReviewer(review.getReviewerId());
UserDetailDto userDetailDto = response.getBody().getData();
String reviewerName = userDetailDto.getName();

// ReviewDto 생성
return new ReviewDto(
review.getReviewId(),
review.getReviewerId(),
reviewerName, // 작성자 이름 설정
review.getCreatedTime(),
review.getItem().getId(),
review.getContent(),
review.getRating()
);
}).toList();
}

// 사용자별 리뷰 리스트 조회
Expand Down

0 comments on commit 393db2c

Please sign in to comment.