Review 수정하기
@PutMapping
public ResponseEntity<?> update(@RequestHeader("Authorization") String accessToken, @RequestBody ReviewRequestDTO reviewRequestDTO) {
TokenRecord tokenRecord = this.multiService.checkToken(accessToken);
if (tokenRecord.isOK()) {
String username = tokenRecord.username();
List<ReviewResponseDTO> reviewResponseDTOList = multiService.reviewUpdate(username, reviewRequestDTO);
return tokenRecord.getResponseEntity(reviewResponseDTOList);
}
return tokenRecord.getResponseEntity();
}
public List<ReviewResponseDTO> reviewUpdate(String username, ReviewRequestDTO reviewRequestDTO) {
SiteUser siteUser = userService.get(username);
Review review_ = reviewService.getReview(reviewRequestDTO.getReviewId());
if(siteUser.getUsername().equals(review_.getAuthor().getUsername())){
Review review = this.reviewService.reviewUpdate(review_,reviewRequestDTO);
}
List<ReviewResponseDTO> reviewResponseDTOList = new ArrayList<>();
List<Review> reviewList = reviewService.getList(review_.getProduct());
for (Review review : reviewList) {
reviewResponseDTOList.add(ReviewResponseDTO.builder()
.review(review)
.createDate(this.dateTimeTransfer(review.getCreateDate()))
.modifyDate(this.dateTimeTransfer(review.getModifyDate()))
.build());
}
return reviewResponseDTOList;
public Review reviewUpdate(Review review, ReviewRequestDTO reviewRequestDTO) {
review.setGrade(reviewRequestDTO.getGrade());
review.setTitle(reviewRequestDTO.getTitle());
review.setContent(reviewRequestDTO.getContent());
review.setModifyDate(LocalDateTime.now());
return reviewRepository.save(review);
}