diff --git a/build.gradle b/build.gradle index a0330b2..e73c2df 100644 --- a/build.gradle +++ b/build.gradle @@ -89,6 +89,7 @@ dependencies { testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' + implementation 'javax.annotation:javax.annotation-api:1.3.2' } tasks.named('test') { diff --git a/src/main/java/kopis/k_backend/feign/kopis/performance/KopisPerfService.java b/src/main/java/kopis/k_backend/feign/kopis/performance/KopisPerfService.java index eff96c6..c6b9f25 100644 --- a/src/main/java/kopis/k_backend/feign/kopis/performance/KopisPerfService.java +++ b/src/main/java/kopis/k_backend/feign/kopis/performance/KopisPerfService.java @@ -100,7 +100,7 @@ else if(startDate.isBefore(ChronoLocalDate.from(today)) && !Objects.equals(perfo jobRepository.save(jobEntity); // 완료 } - @Scheduled(cron = "0 0 13 * * *", zone = "Asia/Seoul") // 오후 1시 테스트 + @Scheduled(cron = "0 0 18 * * *", zone = "Asia/Seoul") // 오후 1시 테스트 private void putPerfListEveryDayDev(){ putPerfList(); } diff --git a/src/main/java/kopis/k_backend/global/api_payload/SuccessCode.java b/src/main/java/kopis/k_backend/global/api_payload/SuccessCode.java index 853aa23..80e1a8a 100644 --- a/src/main/java/kopis/k_backend/global/api_payload/SuccessCode.java +++ b/src/main/java/kopis/k_backend/global/api_payload/SuccessCode.java @@ -28,6 +28,8 @@ public enum SuccessCode implements BaseCode { REVIEW_LIST_VIEW_SUCCESS(HttpStatus.OK, " REVIEW_2002", "리뷰 리스트 조회가 완료되었습니다."), REVIEW_LIKE_SUCCESS(HttpStatus.OK, " REVIEW_2003", "리뷰 좋아요 생성이 완료되었습니다."), REVIEW_UNLIKE_SUCCESS(HttpStatus.OK, " REVIEW_2004", "리뷰 좋아요 삭제가 완료되었습니다."), + REVIEW_MONTH_SUCCESS(HttpStatus.OK, "REVIEW_2005", "회원이 해당 월에 작성한 리뷰 목록 반환이 완료되었습니다."), + REVIEW_MY_SUCCESS(HttpStatus.OK, "REVIEW_2006", "리뷰 조회가 완료되었습니다."), // Pair PERFORMANCE_MATCH_PAIRS(HttpStatus.OK, "PAIR_2001", "공연에 맞는 페어들을 반환 완료했습니다."), diff --git a/src/main/java/kopis/k_backend/performance/controller/PerformanceController.java b/src/main/java/kopis/k_backend/performance/controller/PerformanceController.java index e1c347e..16c6e87 100644 --- a/src/main/java/kopis/k_backend/performance/controller/PerformanceController.java +++ b/src/main/java/kopis/k_backend/performance/controller/PerformanceController.java @@ -1,5 +1,7 @@ package kopis.k_backend.performance.controller; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import kopis.k_backend.performance.service.PerformanceService; import lombok.RequiredArgsConstructor; @@ -13,8 +15,5 @@ @RequiredArgsConstructor @RequestMapping("/performance") public class PerformanceController { - private final PerformanceService performanceService; - - } diff --git a/src/main/java/kopis/k_backend/performance/service/PerformanceService.java b/src/main/java/kopis/k_backend/performance/service/PerformanceService.java index 829df59..a31e0fa 100644 --- a/src/main/java/kopis/k_backend/performance/service/PerformanceService.java +++ b/src/main/java/kopis/k_backend/performance/service/PerformanceService.java @@ -74,182 +74,4 @@ public void updateTopHashtags() { } System.out.println("updatePerfTopHashtags finished"); } - - - /*@PostConstruct // 실행시킬 때마다 DB에 예시 데이터 들어감. 본격적으로 DB에 데이터 넣기 전까지 사용할 예정. - public void data() { - System.out.println("Starting data initialization"); - try { - // hall 객체 생성 - Hall hall = Hall.builder() - .sidonm("서울") - .gugunnm("서울") - .streetAddress("서울시 중구 퇴계로 387") - .hallName("충무아트센터 대극장") - .build(); - hallRepository.save(hall); - - // performance 객체 생성 - Performance p1 = Performance.builder() - .title("데스노트") - .performanceType(PerformanceType.PLAY) - .hall(hall) - .startDate("20230731") - .endDate("20230731") - .duration("160") - .lowestPrice("10000") - .highestPrice("150000") - .poster("포스터.img") - .ratingAverage(0.0) - .reviewCount(0L) - .ticketingLink("http://example.com/tickets") - .price("100000") - .build(); - performanceRepository.save(p1); - - // pair 객체 생성 - Pair pair1 = Pair.builder() - .performance(p1) - .actor1Name("이동훈") - .actor2Name("박상신") - .ratingAverage(0.0) - .reviewCount(0L) - .build(); - pairRepository.save(pair1); - - Pair pair2 = Pair.builder() - .performance(p1) - .actor1Name("이동훈") - .actor2Name("이은석") - .ratingAverage(0.0) - .reviewCount(0L) - .build(); - pairRepository.save(pair2); - - // actor 객체 생성 - Actor a1 = Actor.builder() - .actorName("이동훈") - .actorProfile("이동훈.img") - .build(); - actorRepository.save(a1); - - Actor a2 = Actor.builder() - .actorName("박상신") - .actorProfile("박상신.img") - .build(); - actorRepository.save(a2); - - Actor a22 = Actor.builder() - .actorName("이은석") - .actorProfile("이은석.img") - .build(); - actorRepository.save(a22); - - // perf_actor 객체 생성 - PerformanceActor pa1 = PerformanceActor.builder() - .performance(p1) - .actor(a1) - .characterName("엘") - .build(); - performanceActorRepository.save(pa1); - - PerformanceActor pa2 = PerformanceActor.builder() - .performance(p1) - .actor(a2) - .characterName("라이토") - .build(); - performanceActorRepository.save(pa2); - - PerformanceActor pa22 = PerformanceActor.builder() - .performance(p1) - .actor(a22) - .characterName("라이토") - .build(); - performanceActorRepository.save(pa22); - - // ------------------------------------------------------------------ - // performance 객체 생성 - Performance p2 = Performance.builder() - .title("시카고") - .performanceType(PerformanceType.PLAY) - .hall(hall) - .startDate("20230731") - .endDate("20230731") - .duration("160") - .lowestPrice("100000") - .highestPrice("150000") - .poster("포스터.img") - .ratingAverage(0.0) - .reviewCount(0L) - .ticketingLink("http://example.com/tickets") - .price("100000") - .build(); - performanceRepository.save(p2); - - // pair 객체 생성 - Pair pair13 = Pair.builder() - .performance(p2) - .actor1Name("이동훈1") - .actor2Name("박상신1") - .ratingAverage(0.0) - .reviewCount(0L) - .build(); - pairRepository.save(pair13); - - Pair pair23 = Pair.builder() - .performance(p2) - .actor1Name("이동훈1") - .actor2Name("이은석1") - .ratingAverage(0.0) - .reviewCount(0L) - .build(); - pairRepository.save(pair23); - - // actor 객체 생성 - Actor a13 = Actor.builder() - .actorName("이동훈1") - .actorProfile("이동훈1.img") - .build(); - actorRepository.save(a13); - - Actor a23 = Actor.builder() - .actorName("박상신1") - .actorProfile("박상신1.img") - .build(); - actorRepository.save(a23); - - Actor a223 = Actor.builder() - .actorName("이은석1") - .actorProfile("이은석1.img") - .build(); - actorRepository.save(a223); - - // perf_actor 객체 생성 - PerformanceActor pa13 = PerformanceActor.builder() - .performance(p2) - .actor(a13) - .characterName("배역1") - .build(); - performanceActorRepository.save(pa13); - - PerformanceActor pa23 = PerformanceActor.builder() - .performance(p2) - .actor(a23) - .characterName("배역2") - .build(); - performanceActorRepository.save(pa23); - - PerformanceActor pa223 = PerformanceActor.builder() - .performance(p2) - .actor(a223) - .characterName("배역2") - .build(); - performanceActorRepository.save(pa223); - - } catch (Exception e) { - System.out.println("Error initializing data: " + e.getMessage()); - e.printStackTrace(); - } - }*/ - } diff --git a/src/main/java/kopis/k_backend/review/controller/ReviewController.java b/src/main/java/kopis/k_backend/review/controller/ReviewController.java index 52580a2..9150706 100644 --- a/src/main/java/kopis/k_backend/review/controller/ReviewController.java +++ b/src/main/java/kopis/k_backend/review/controller/ReviewController.java @@ -15,18 +15,21 @@ import kopis.k_backend.review.domain.Review; import kopis.k_backend.review.dto.ReviewRequestDto.ReviewReqDto; import kopis.k_backend.global.api_payload.*; +import kopis.k_backend.review.dto.ReviewResponseDto.MyReviewResDto; import kopis.k_backend.review.service.ReviewService; import kopis.k_backend.user.jwt.CustomUserDetails; import kopis.k_backend.user.service.RankService; import kopis.k_backend.user.service.UserService; import kopis.k_backend.pair.Service.PairService; import kopis.k_backend.review.dto.ReviewResponseDto.ReviewListResDto; +import kopis.k_backend.review.dto.ReviewResponseDto.MonthReviewListResDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import kopis.k_backend.user.domain.User; import java.io.IOException; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @@ -43,7 +46,7 @@ public class ReviewController { private final PairService pairService; private final RankService rankService; - @Operation(summary = "공연에 따른 페어 반환", description = "공연에 따른 페어들을 반환하는 메서드입니다. .") + @Operation(summary = "공연에 따른 페어 반환", description = "공연에 따른 페어들을 반환하는 메서드입니다.") @ApiResponses(value = { @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "PAIR_2001", description = "공연에 맞는 페어들을 반환 완료했습니다.") }) @@ -168,4 +171,64 @@ public ApiResponse getPairReviews( return ApiResponse.onSuccess(SuccessCode.REVIEW_LIST_VIEW_SUCCESS, ReviewConverter.reviewListResDto(reviews, reviewCount, rating, ratingType, hashtags, user)); } -} + @Operation(summary = "마이페이지 월 리뷰 목록 조회", description = "사용자가 해당 월에 작성한 리뷰 목록을 반환하는 메서드입니다.") + @ApiResponses(value = { + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "REVIEW_2005", description = "월 리뷰 목록 반환이 완료되었습니다.") + }) + @Parameters({ + @Parameter(name = "month", description = "조회하고 싶은 월의 첫째날 ex) 2024-08-01") + }) + @GetMapping(value = "/myPage/reviews") + public ApiResponse getMonthReviews( + @AuthenticationPrincipal CustomUserDetails customUserDetails, + @RequestParam(name = "month") LocalDate month + ){ + User user = userService.findByUserName(customUserDetails.getUsername()); + List monthReviewList = reviewService.getMonthReviewList(user, month); + Long reviewCount = (long) monthReviewList.size(); + return ApiResponse.onSuccess(SuccessCode.REVIEW_MONTH_SUCCESS, ReviewConverter.monthReviewListResDto(monthReviewList, reviewCount)); + } + + @Operation(summary = "마이페이지 리뷰 조회", description = "리뷰 id에 따른 리뷰 정보를 반환하는 메서드입니다.") + @ApiResponses(value = { + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "REVIEW_2006", description = "리뷰 반환이 완료되었습니다.") + }) + @GetMapping(value = "/myPage/review/{review-id}") + public ApiResponse getMyReview( + @PathVariable(name = "review-id") Long reviewId + ){ + Review review = reviewService.findById(reviewId); + + return ApiResponse.onSuccess(SuccessCode.REVIEW_MY_SUCCESS, ReviewConverter.myReviewResDto(review)); + + } + + @Operation(summary = "함께 본 사람 수정", description = "리뷰에 함께 본 사람을 적는 메서드입니다.") + @ApiResponses(value = { + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "REVIEW_2007", description = "함꼐 본 사람 수정이 완료되었습니다.") + }) + @PatchMapping(value = "/myPage/viewingPartner/update/{review-id}") + @Parameters({ + @Parameter(name = "partnerNumber", description = "0: 미입력, 1: 가족, 2: 친구, 3: 연인, 4: 혼자") + }) + public void updateViewingPartner( + @PathVariable(name = "review-id") Long reviewId, + @RequestParam(name = "partnerNumber") Integer partnerNumber + ){ + Review review = reviewService.findById(reviewId); + reviewService.updateViewingPartner(review, partnerNumber); + } + + @Operation(summary = "리뷰 메모 추가", description = "리뷰에 메모를 적는 메서드입니다.") + @ApiResponses(value = { + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "REVIEW_2008", description = "메모 추가가 완료되었습니다.") + }) + @PatchMapping(value = "/myPage/memo/update/{review-id}") + public void updateMemo( + @PathVariable(name = "review-id") Long reviewId, + @RequestBody String memo + ){ + Review review = reviewService.findById(reviewId); + reviewService.updateMemo(review, memo); + } +} \ No newline at end of file diff --git a/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java b/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java index b85a4a9..98cb38b 100644 --- a/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java +++ b/src/main/java/kopis/k_backend/review/converter/ReviewConverter.java @@ -3,7 +3,11 @@ import kopis.k_backend.pair.domain.Pair; import kopis.k_backend.performance.domain.Performance; import kopis.k_backend.review.domain.Review; +import kopis.k_backend.review.domain.ViewingPartner; import kopis.k_backend.review.dto.ReviewRequestDto.ReviewReqDto; +import kopis.k_backend.review.dto.ReviewResponseDto.MyReviewResDto; +import kopis.k_backend.review.dto.ReviewResponseDto.MonthReviewResDto; +import kopis.k_backend.review.dto.ReviewResponseDto.MonthReviewListResDto; import kopis.k_backend.review.dto.ReviewResponseDto.ReviewResDto; import kopis.k_backend.review.dto.ReviewResponseDto.ReviewListResDto; import kopis.k_backend.user.domain.User; @@ -27,6 +31,8 @@ public static Review saveReview(ReviewReqDto review, User user, Performance perf .performanceRatings(review.getPerformanceRating()) .hashtag(review.getHashTag()) .performanceDate(review.getPerformanceDate()) + .viewingPartner(ViewingPartner.NULL) + .memo("아직 작성된 메모가 없습니다.") .build(); } @@ -66,4 +72,39 @@ public static ReviewListResDto reviewListResDto(List reviews, Long revie .reviewList(reviewResDtos) .build(); } + + public static MonthReviewResDto monthReviewResDto(Review review) { + + return MonthReviewResDto.builder() + .id(review.getId()) + .poster(review.getPerformance().getPoster()) + .performanceDate(review.getPerformanceDate()) + .build(); + } + + public static MonthReviewListResDto monthReviewListResDto(List reviews, Long reviewCount) { + List monthReviewResDtoList = reviews.stream() + .map(ReviewConverter::monthReviewResDto) + .toList(); + + return MonthReviewListResDto.builder() + .reviewCount(reviewCount) + .reviewList(monthReviewResDtoList) + .build(); + } + + public static MyReviewResDto myReviewResDto(Review review) { + return MyReviewResDto.builder() + .id(review.getId()) + .performanceName(review.getPerformance().getTitle()) + .poster(review.getPerformance().getPoster()) + .performanceType(review.getPerformance().getPerformanceType()) + .performanceDate(review.getPerformanceDate()) + .performanceRatings(review.getPerformanceRatings()) + .pairRatings(review.getPairRatings()) + .hashtag(review.getHashtag()) + .viewingPartner(review.getViewingPartner()) + .memo(review.getMemo()) + .build(); + } } diff --git a/src/main/java/kopis/k_backend/review/domain/Review.java b/src/main/java/kopis/k_backend/review/domain/Review.java index 6a53c5a..b936625 100644 --- a/src/main/java/kopis/k_backend/review/domain/Review.java +++ b/src/main/java/kopis/k_backend/review/domain/Review.java @@ -55,6 +55,12 @@ public class Review extends BaseEntity { @Column private LocalDate performanceDate; + @Column + private ViewingPartner viewingPartner = ViewingPartner.NULL; + + @Column(length = 1000) + private String memo; + @OneToMany(mappedBy = "review") private List reviewLikes = new ArrayList<>(); @@ -68,4 +74,28 @@ public Long decreaseLikeCount(){ return this.likeCount; } + public void updateViewingPartner(Integer partnerNumber) { + if (partnerNumber == 0) { + viewingPartner = ViewingPartner.NULL; + } + else if (partnerNumber == 1) { + viewingPartner = ViewingPartner.FAMILY; + } + else if (partnerNumber == 2) { + viewingPartner = ViewingPartner.FRIEND; + } + else if (partnerNumber == 3) { + viewingPartner = ViewingPartner.COUPLE; + } + else if(partnerNumber == 4) { + viewingPartner = ViewingPartner.ALONE; + } + else { + throw new IllegalArgumentException("Invalid partner number: " + partnerNumber); + } + } + + public void updateMemo(String memo) { + this.memo = memo; + } } \ No newline at end of file diff --git a/src/main/java/kopis/k_backend/review/domain/ViewingPartner.java b/src/main/java/kopis/k_backend/review/domain/ViewingPartner.java new file mode 100644 index 0000000..cf8ac42 --- /dev/null +++ b/src/main/java/kopis/k_backend/review/domain/ViewingPartner.java @@ -0,0 +1,9 @@ +package kopis.k_backend.review.domain; + +public enum ViewingPartner { + NULL, + FAMILY, + FRIEND, + COUPLE, + ALONE +} diff --git a/src/main/java/kopis/k_backend/review/dto/ReviewRequestDto.java b/src/main/java/kopis/k_backend/review/dto/ReviewRequestDto.java index ac1173f..ce6d56f 100644 --- a/src/main/java/kopis/k_backend/review/dto/ReviewRequestDto.java +++ b/src/main/java/kopis/k_backend/review/dto/ReviewRequestDto.java @@ -17,7 +17,6 @@ public class ReviewRequestDto { @AllArgsConstructor @NoArgsConstructor public static class ReviewReqDto { - @Schema(description = "공연 id") private Long performanceId; @@ -38,7 +37,5 @@ public static class ReviewReqDto { @Schema(description = "공연 관람일") private LocalDate performanceDate; - } - } \ No newline at end of file diff --git a/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java b/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java index 0fa5e61..be32f2c 100644 --- a/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java +++ b/src/main/java/kopis/k_backend/review/dto/ReviewResponseDto.java @@ -1,11 +1,16 @@ package kopis.k_backend.review.dto; import io.swagger.v3.oas.annotations.media.Schema; +import kopis.k_backend.performance.domain.PerformanceType; +import kopis.k_backend.review.domain.ViewingPartner; import kopis.k_backend.user.domain.UserRank; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; + +import javax.swing.text.View; +import java.time.LocalDate; import java.util.List; // 서버 -> 클라이언트 @@ -69,4 +74,72 @@ public static class ReviewListResDto { private List reviewList; } + + @Schema(description = "MonthReviewResDto") + @Getter + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class MonthReviewResDto { + @Schema(description = "리뷰 id") + private Long id; + + @Schema(description = "공연 포스터") + private String poster; + + @Schema(description = "공연 관람 날짜") + private LocalDate performanceDate; + } + + @Schema(description = "MonthReviewListResDto") + @Getter + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class MonthReviewListResDto { + @Schema(description = "리뷰 수") + private Long reviewCount; + + @Schema(description = "리뷰 리스트") + private List reviewList; + + } + + @Schema(description = "MyReviewResDto") + @Getter + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class MyReviewResDto { + @Schema(description = "리뷰 id") + private Long id; + + @Schema(description = "공연 이름") + private String performanceName; + + @Schema(description = "공연 포스터") + private String poster; + + @Schema(description = "공연 종류") + private PerformanceType performanceType; + + @Schema(description = "공연 관람 날짜") + private LocalDate performanceDate; + + @Schema(description = "공연 만족도") + private Integer performanceRatings; + + @Schema(description = "페어 만족도") + private Integer pairRatings; + + @Schema(description = "해시 태그") + private String hashtag; + + @Schema(description = "함께 본 사람") + private ViewingPartner viewingPartner; + + @Schema(description = "메모") + private String memo; + } + } \ No newline at end of file diff --git a/src/main/java/kopis/k_backend/review/repository/ReviewRepository.java b/src/main/java/kopis/k_backend/review/repository/ReviewRepository.java index 6fae911..e62fba0 100644 --- a/src/main/java/kopis/k_backend/review/repository/ReviewRepository.java +++ b/src/main/java/kopis/k_backend/review/repository/ReviewRepository.java @@ -2,6 +2,7 @@ import kopis.k_backend.pair.domain.Pair; import kopis.k_backend.performance.domain.Performance; +import kopis.k_backend.user.domain.User; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; import org.springframework.data.jpa.repository.JpaRepository; @@ -9,6 +10,8 @@ import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import kopis.k_backend.review.domain.Review; + +import java.time.LocalDateTime; import java.util.List; @@ -59,4 +62,6 @@ public interface ReviewRepository extends JpaRepository { @Query("SELECT SUM(r.performanceRatings) FROM Review r WHERE r.performance = :performance") Long sumPerformanceRatingsByPerformance(@Param("performance") Performance performance); + // 특정 사용자와 날짜 범위에 해당하는 리뷰 조회 + List findAllByWriterAndCreatedAtBetween(User writer, LocalDateTime start, LocalDateTime end); } diff --git a/src/main/java/kopis/k_backend/review/service/ReviewService.java b/src/main/java/kopis/k_backend/review/service/ReviewService.java index f5966c9..2b7fd25 100644 --- a/src/main/java/kopis/k_backend/review/service/ReviewService.java +++ b/src/main/java/kopis/k_backend/review/service/ReviewService.java @@ -21,6 +21,9 @@ import org.springframework.stereotype.Service; import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; import java.util.List; import java.util.Objects; @@ -112,6 +115,17 @@ public List getPairReviewList(Long pairId, String way, Integer scrollPos return reviewSlice.getContent(); } + public List getMonthReviewList(User user, LocalDate month) { + // 해당 월의 시작 일 + LocalDateTime startOfMonth = month.withDayOfMonth(1).atStartOfDay(); + + // 해당 월의 마지막 일 + LocalDateTime endOfMonth = month.withDayOfMonth(month.lengthOfMonth()).atTime(23, 59, 59); + + // 해당 월에 작성된 리뷰 조회 + return reviewRepository.findAllByWriterAndCreatedAtBetween(user, startOfMonth, endOfMonth); + } + public Long getSumOfPairRatings(Pair pair) { return reviewRepository.sumPairRatingsByPair(pair); } @@ -120,5 +134,16 @@ public Long getSumOfPerformanceRatings(Performance performance) { return reviewRepository.sumPerformanceRatingsByPerformance(performance); } + @Transactional + public void updateViewingPartner(Review review, Integer partnerNumber) { + review.updateViewingPartner(partnerNumber); + reviewRepository.save(review); + } + + @Transactional + public void updateMemo(Review review, String memo) { + review.updateMemo(memo); + reviewRepository.save(review); + } } diff --git a/src/main/java/kopis/k_backend/user/controller/UserController.java b/src/main/java/kopis/k_backend/user/controller/UserController.java index b5cef2d..d57af7e 100644 --- a/src/main/java/kopis/k_backend/user/controller/UserController.java +++ b/src/main/java/kopis/k_backend/user/controller/UserController.java @@ -8,6 +8,7 @@ import kopis.k_backend.global.api_payload.ErrorCode; import kopis.k_backend.global.api_payload.SuccessCode; import kopis.k_backend.global.exception.GeneralException; +import kopis.k_backend.review.service.ReviewService; import kopis.k_backend.user.converter.UserConverter; import kopis.k_backend.user.domain.User; import kopis.k_backend.user.dto.JwtDto; @@ -23,13 +24,13 @@ import java.io.IOException; - @Tag(name = "회원", description = "회원 관련 api 입니다.") @RestController @RequiredArgsConstructor @RequestMapping("/users") public class UserController { private final UserService userService; + private final ReviewService reviewService; @Operation(summary = "로그아웃", description = "로그아웃하는 메서드입니다.") @ApiResponses({ diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 844b6ee..d546157 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -121,5 +121,5 @@ spring: # show_sql: true # use_sql_comments: true hbm2ddl: - auto: update + auto: create default_batch_fetch_size: 1000 \ No newline at end of file