Skip to content

Commit b30b561

Browse files
authored
Merge pull request #59 from BackEndSchoolPlus3th/dev
Dev
2 parents d433819 + 293aa27 commit b30b561

File tree

3 files changed

+38
-16
lines changed

3 files changed

+38
-16
lines changed

src/main/java/com/jupiter/wyl/domain/member/service/MemberService.java

+6
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,10 @@ public Long getUserIdByEmail(String email) {
9999
.map(Member::getId) // 유저 객체에서 ID만 가져옴
100100
.orElseThrow(() -> new IllegalArgumentException("해당 이메일의 유저를 찾을 수 없습니다."));
101101
}
102+
103+
public String getUserNameById(Long userId) {
104+
return memberRepository.findById(userId)
105+
.map(Member::getNickname)
106+
.orElse("Unknown User");
107+
}
102108
}

src/main/java/com/jupiter/wyl/domain/movie/movie/dto/response/MovieReviewDto.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ public class MovieReviewDto {
1515
int rating;
1616
long userId;
1717
Long movie;
18+
String userName;
1819

19-
public static MovieReviewDto fromEntity(MovieReview movieReview) {
20+
21+
public static MovieReviewDto fromEntity(MovieReview movieReview, String userName) {
2022
return new MovieReviewDto(
2123
movieReview.getId(),
2224
movieReview.getReviewContent(),
2325
movieReview.getRating(),
2426
movieReview.getUserId(),
25-
movieReview.getMovie().getId() // Movie 엔티티에서 ID 가져오기
27+
movieReview.getMovie().getId(), // Movie 엔티티에서 ID 가져오기
28+
userName
2629
);
2730
}
2831
}

src/main/java/com/jupiter/wyl/domain/movie/movie/service/MovieReviewService.java

+27-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jupiter.wyl.domain.movie.movie.service;
22

3+
import com.jupiter.wyl.domain.member.service.MemberService;
34
import com.jupiter.wyl.domain.movie.movie.dto.response.MovieDto;
45
import com.jupiter.wyl.domain.movie.movie.dto.response.MovieReviewDto;
56
import com.jupiter.wyl.domain.movie.movie.entity.Movie;
@@ -24,6 +25,7 @@ public class MovieReviewService {
2425
@Autowired
2526
private final MovieReviewRepository movieReviewRepository;
2627
private final MovieRepository movieRepository;
28+
private final MemberService memberService;
2729

2830
public void saveReview(Long userId, String reviewContent, int rating, Long movieId) {
2931
Movie movie = movieRepository.findById(movieId)
@@ -39,29 +41,40 @@ public void saveReview(Long userId, String reviewContent, int rating, Long movie
3941
movieReviewRepository.save(movieReview);
4042
}
4143

44+
// public List<MovieReviewDto> findAllByMovieId(Long movieId) {
45+
// List<MovieReview> movieReviews = movieReviewRepository.findAllByMovieId(movieId);
46+
//
47+
// if (movieReviews.isEmpty()) {
48+
// throw new RuntimeException("해당 영화에 대한 리뷰가 없습니다: " + movieId);
49+
// }
50+
//
51+
// return movieReviews.stream()
52+
// .map(review -> MovieReviewDto.builder()
53+
// .id(review.getId())
54+
// .reviewContent(review.getReviewContent())
55+
// .rating(review.getRating())
56+
// .movie(review.getMovie().getId())
57+
// .userId(review.getUserId())
58+
// .build())
59+
// .collect(Collectors.toList());
60+
// }
61+
4262
public List<MovieReviewDto> findAllByMovieId(Long movieId) {
4363
List<MovieReview> movieReviews = movieReviewRepository.findAllByMovieId(movieId);
4464

45-
if (movieReviews.isEmpty()) {
46-
throw new RuntimeException("해당 영화에 대한 리뷰가 없습니다: " + movieId);
47-
}
48-
49-
return movieReviews.stream()
50-
.map(review -> MovieReviewDto.builder()
51-
.id(review.getId())
52-
.reviewContent(review.getReviewContent())
53-
.rating(review.getRating())
54-
.movie(review.getMovie().getId())
55-
.userId(review.getUserId())
56-
.build())
57-
.collect(Collectors.toList());
65+
return movieReviews.stream().map(review -> {
66+
String userName = memberService.getUserNameById(review.getUserId()); // ✅ userId로 userName 조회
67+
return MovieReviewDto.fromEntity(review, userName); // ✅ DTO에 userName 추가
68+
}).collect(Collectors.toList());
5869
}
5970

6071
public MovieReviewDto getReviewByUserAndMovie(Long userId, Long movieId) {
6172
MovieReview movieReview = movieReviewRepository.findByUserIdAndMovieId(userId, movieId)
6273
.orElseThrow(() -> new EntityNotFoundException("해당 리뷰를 찾을 수 없습니다."));
6374

64-
return MovieReviewDto.fromEntity(movieReview); // ✅ DTO로 변환하여 반환
75+
String userName = memberService.getUserNameById(userId);
76+
77+
return MovieReviewDto.fromEntity(movieReview, userName); // ✅ DTO로 변환하여 반환
6578
}
6679

6780
public void updateReview(Long reviewId, String newContent, int newRating) {

0 commit comments

Comments
 (0)