From 01bff379fac68e4d50843a6c8e1496672df5b4f0 Mon Sep 17 00:00:00 2001 From: yujin113 Date: Mon, 23 May 2022 15:00:35 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[feat]=20=EB=82=B4=EA=B0=80=20=EC=93=B4=20?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EC=9D=91=EB=8B=B5=20DTO=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20(#110)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/dto/review/MyReviewDto.java | 27 ------------------- .../server/dto/review/MyReviewResponse.java | 25 +++++++++++++++++ .../dto/review/MyReviewResponseDto.java | 22 +++++++++++++++ 3 files changed, 47 insertions(+), 27 deletions(-) delete mode 100644 src/main/java/hyangyu/server/dto/review/MyReviewDto.java create mode 100644 src/main/java/hyangyu/server/dto/review/MyReviewResponse.java create mode 100644 src/main/java/hyangyu/server/dto/review/MyReviewResponseDto.java diff --git a/src/main/java/hyangyu/server/dto/review/MyReviewDto.java b/src/main/java/hyangyu/server/dto/review/MyReviewDto.java deleted file mode 100644 index 5b79b50..0000000 --- a/src/main/java/hyangyu/server/dto/review/MyReviewDto.java +++ /dev/null @@ -1,27 +0,0 @@ -package hyangyu.server.dto.review; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.AllArgsConstructor; -import lombok.Data; - -import java.time.LocalDateTime; - -@Data -@AllArgsConstructor -public class MyReviewDto { - - Long reviewId; - - String eventTitle; - - String photo; - - String username; - - @JsonFormat(pattern = "yyyy/MM/dd HH:mm", timezone = "Asia/Seoul") - LocalDateTime createTime; - - String content; - - int score; -} diff --git a/src/main/java/hyangyu/server/dto/review/MyReviewResponse.java b/src/main/java/hyangyu/server/dto/review/MyReviewResponse.java new file mode 100644 index 0000000..2e4b8ef --- /dev/null +++ b/src/main/java/hyangyu/server/dto/review/MyReviewResponse.java @@ -0,0 +1,25 @@ +package hyangyu.server.dto.review; + +import hyangyu.server.constants.SuccessCode; +import hyangyu.server.dto.BaseResponse; +import lombok.Getter; +import org.springframework.http.ResponseEntity; + +@Getter +public class MyReviewResponse extends BaseResponse { + MyReviewResponseDto data; + + private MyReviewResponse(Boolean success, String msg, MyReviewResponseDto data) { + super(success, msg); + this.data = data; + } + + public static MyReviewResponse of(Boolean success, String message, MyReviewResponseDto data) { + return new MyReviewResponse(success, message, data); + } + + public static ResponseEntity newResponse(SuccessCode code, MyReviewResponseDto data) { + MyReviewResponse response = MyReviewResponse.of(true, code.getMessage(), data); + return new ResponseEntity(response, code.getStatus()); + } +} diff --git a/src/main/java/hyangyu/server/dto/review/MyReviewResponseDto.java b/src/main/java/hyangyu/server/dto/review/MyReviewResponseDto.java new file mode 100644 index 0000000..0ae9663 --- /dev/null +++ b/src/main/java/hyangyu/server/dto/review/MyReviewResponseDto.java @@ -0,0 +1,22 @@ +package hyangyu.server.dto.review; + +import lombok.Getter; + +import java.util.List; + +@Getter +public class MyReviewResponseDto { + List display; + List fair; + List festival; + + private MyReviewResponseDto(List display, List fair, List festival) { + this.display = display; + this.fair = fair; + this.festival = festival; + } + + public static MyReviewResponseDto of(List display, List fair, List festival) { + return new MyReviewResponseDto(display, fair, festival); + } +} From a718bfe75ea1812763e7391712510aa852e11f3b Mon Sep 17 00:00:00 2001 From: yujin113 Date: Mon, 23 May 2022 15:01:25 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[feat]=20=EB=A6=AC=EB=B7=B0Repository=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=B6=94=EA=B0=80=20(#110)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 유저가 쓴 리뷰 찾는 메서드 --- .../hyangyu/server/repository/DisplayReviewRepository.java | 3 +++ .../java/hyangyu/server/repository/FairReviewRepository.java | 3 +++ .../hyangyu/server/repository/FestivalReviewRepository.java | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/main/java/hyangyu/server/repository/DisplayReviewRepository.java b/src/main/java/hyangyu/server/repository/DisplayReviewRepository.java index eaf9641..b3b2b90 100644 --- a/src/main/java/hyangyu/server/repository/DisplayReviewRepository.java +++ b/src/main/java/hyangyu/server/repository/DisplayReviewRepository.java @@ -2,6 +2,7 @@ import hyangyu.server.domain.Display; import hyangyu.server.domain.DisplayReview; +import hyangyu.server.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; @@ -16,4 +17,6 @@ public interface DisplayReviewRepository extends JpaRepository findAllByDisplayOrderByCreateTimeDesc(Display display); + + List findAllByUserOrderByReviewIdDesc(User user); } diff --git a/src/main/java/hyangyu/server/repository/FairReviewRepository.java b/src/main/java/hyangyu/server/repository/FairReviewRepository.java index 00d51e9..42959b1 100644 --- a/src/main/java/hyangyu/server/repository/FairReviewRepository.java +++ b/src/main/java/hyangyu/server/repository/FairReviewRepository.java @@ -2,6 +2,7 @@ import hyangyu.server.domain.Fair; import hyangyu.server.domain.FairReview; +import hyangyu.server.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; @@ -16,4 +17,6 @@ public interface FairReviewRepository extends JpaRepository { FairReview getFairReview(Long fairId, Long userId); List findAllByFairOrderByCreateTimeDesc(Fair fair); + + List findAllByUserOrderByReviewIdDesc(User user); } diff --git a/src/main/java/hyangyu/server/repository/FestivalReviewRepository.java b/src/main/java/hyangyu/server/repository/FestivalReviewRepository.java index 8d8f8ba..54361eb 100644 --- a/src/main/java/hyangyu/server/repository/FestivalReviewRepository.java +++ b/src/main/java/hyangyu/server/repository/FestivalReviewRepository.java @@ -2,6 +2,7 @@ import hyangyu.server.domain.Festival; import hyangyu.server.domain.FestivalReview; +import hyangyu.server.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; @@ -16,4 +17,6 @@ public interface FestivalReviewRepository extends JpaRepository findAllByFestivalOrderByCreateTimeDesc(Festival festival); + + List findAllByUserOrderByReviewIdDesc(User user); } From f60800327418d7ab5b9e4de0b19a57506e8e2408 Mon Sep 17 00:00:00 2001 From: yujin113 Date: Mon, 23 May 2022 15:02:41 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[refact]=20=EB=82=B4=EA=B0=80=20=EC=93=B4?= =?UTF-8?q?=20=EB=A6=AC=EB=B7=B0=20=EC=A1=B0=ED=9A=8C=20service=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81=20(#1?= =?UTF-8?q?10)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/DisplayReviewService.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/main/java/hyangyu/server/service/DisplayReviewService.java b/src/main/java/hyangyu/server/service/DisplayReviewService.java index 3f9aa66..cbec50d 100644 --- a/src/main/java/hyangyu/server/service/DisplayReviewService.java +++ b/src/main/java/hyangyu/server/service/DisplayReviewService.java @@ -4,15 +4,13 @@ import hyangyu.server.domain.DisplayReview; import hyangyu.server.domain.DisplayWarn; import hyangyu.server.domain.User; +import hyangyu.server.dto.review.MyReviewResponseDto; import hyangyu.server.dto.review.RequestReviewDto; import hyangyu.server.dto.review.ReviewDto; import hyangyu.server.dto.review.ReviewListResponseDto; import hyangyu.server.exception.CustomException; import hyangyu.server.jwt.SecurityUtil; -import hyangyu.server.repository.DisplayRepository; -import hyangyu.server.repository.DisplayReviewRepository; -import hyangyu.server.repository.DisplayWarnRepository; -import hyangyu.server.repository.UserRepository; +import hyangyu.server.repository.*; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +28,8 @@ public class DisplayReviewService { private final DisplayReviewRepository displayReviewRepository; + private final FairReviewRepository fairReviewRepository; + private final FestivalReviewRepository festivalReviewRepository; private final DisplayWarnRepository displayWarnRepository; private final UserRepository userRepository; private final DisplayRepository displayRepository; @@ -123,6 +123,23 @@ public ReviewListResponseDto getDisplayReviews(Long displayId) { return ReviewListResponseDto.of(reviews); } + + public MyReviewResponseDto getMyReviews() { + User user = getUser(); + + List displayReviews = displayReviewRepository.findAllByUserOrderByReviewIdDesc(user).stream() + .map(review -> ReviewDto.of(review.getReviewId(), review.getUser().getImage(), review.getUser().getUsername(), review.getCreateTime(), review.getContent(), review.getScore())) + .collect(Collectors.toList()); + List fairReviews = fairReviewRepository.findAllByUserOrderByReviewIdDesc(user).stream() + .map(review -> ReviewDto.of(review.getReviewId(), review.getUser().getImage(), review.getUser().getUsername(), review.getCreateTime(), review.getContent(), review.getScore())) + .collect(Collectors.toList()); + List festivalReviews = festivalReviewRepository.findAllByUserOrderByReviewIdDesc(user).stream() + .map(review -> ReviewDto.of(review.getReviewId(), review.getUser().getImage(), review.getUser().getUsername(), review.getCreateTime(), review.getContent(), review.getScore())) + .collect(Collectors.toList()); + + return MyReviewResponseDto.of(displayReviews, fairReviews, festivalReviews); + } + private User getUser() { String userEmail = SecurityUtil.getCurrentEmail() .orElseThrow(() -> new CustomException(USER_NOT_FOUND)); From e6c1dac288dcb1da303d0ff9ce1aa296a6d52efa Mon Sep 17 00:00:00 2001 From: yujin113 Date: Mon, 23 May 2022 15:03:12 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[refact]=20=EB=82=B4=EA=B0=80=20=EC=93=B4?= =?UTF-8?q?=20=EB=A6=AC=EB=B7=B0=20=EC=A1=B0=ED=9A=8C=20API=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81=20(#110)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/hyangyu/server/api/ReviewApi.java | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/main/java/hyangyu/server/api/ReviewApi.java b/src/main/java/hyangyu/server/api/ReviewApi.java index e4df22f..2e28232 100644 --- a/src/main/java/hyangyu/server/api/ReviewApi.java +++ b/src/main/java/hyangyu/server/api/ReviewApi.java @@ -122,20 +122,10 @@ public ResponseEntity getFestivalReviews(@PathVariable Long return ReviewListResponse.newResponse(REVIEW_READ_SUCCESS, response); } -// @GetMapping("/myreview") -// public ResponseEntity getMyReviews() throws Exception { -// //사용자 검색 -// UserDto user = userService.getMyUserWithAuthorities(); -// if (user == null) { -// return new ResponseEntity(new ErrorDto(401, "유효하지 않은 사용자입니다."), HttpStatus.BAD_REQUEST); -// } -// -// List myDisplayReviews = displayReviewService.getMyDisplayReviews(user.getUserId()); -// List myFairReviews = fairReviewService.getMyFairReviews(user.getUserId()); -// List myFestivalReviews = festivalReviewService.getMyFestivalReviews(user.getUserId()); -// -// MyReviewsDto myReviewsDto = new MyReviewsDto(myDisplayReviews, myFairReviews, myFestivalReviews); -// MyReviewsResponseDto myReviewsResponseDto = new MyReviewsResponseDto(200, myReviewsDto); -// return new ResponseEntity(myReviewsResponseDto, HttpStatus.OK); -// } + @GetMapping("/myreview") + public ResponseEntity getMyReviews() { + MyReviewResponseDto response = displayReviewService.getMyReviews(); + + return MyReviewResponse.newResponse(REVIEW_READ_SUCCESS, response); + } }