diff --git a/src/main/java/com/example/sharemind/comment/application/CommentServiceImpl.java b/src/main/java/com/example/sharemind/comment/application/CommentServiceImpl.java index 107c457a..202d911d 100644 --- a/src/main/java/com/example/sharemind/comment/application/CommentServiceImpl.java +++ b/src/main/java/com/example/sharemind/comment/application/CommentServiceImpl.java @@ -11,6 +11,7 @@ import com.example.sharemind.counselor.domain.Counselor; import com.example.sharemind.customer.application.CustomerService; import com.example.sharemind.customer.domain.Customer; +import com.example.sharemind.customer.domain.Level; import com.example.sharemind.post.application.PostService; import com.example.sharemind.post.content.PostStatus; import com.example.sharemind.post.domain.Post; @@ -89,6 +90,11 @@ public void createComment(CommentCreateRequest commentCreateRequest, Long custom commentRepository.save(commentCreateRequest.toEntity(post, counselor)); post.increaseTotalComment(); counselor.increaseTotalConsult(); + + if (post.getIsPublic()) { + Level counselorlevel = counselor.getLevel(); + counselorlevel.increasePostAnswer(); + } } @Override @@ -110,6 +116,16 @@ public void updateCustomerChosenComment(Long postId, Long commentId, Long custom comment.checkCommentIsForPost(post); comment.updateIsChosen(); + if (post.getIsPublic()) { + Level customerLevel = customer.getLevel(); + customerLevel.increasePostChoose(); + + Level counselorLevel = comment.getCounselor().getLevel(); + counselorLevel.increasePostChosen(); + if (post.getIsPopular()) { + counselorLevel.increasePostPopularityChosen(); + } + } post.updatePostStatus(PostStatus.COMPLETED); } diff --git a/src/main/java/com/example/sharemind/consult/dto/response/ConsultCreateResponse.java b/src/main/java/com/example/sharemind/consult/dto/response/ConsultCreateResponse.java index 8ada4310..59c88a0b 100644 --- a/src/main/java/com/example/sharemind/consult/dto/response/ConsultCreateResponse.java +++ b/src/main/java/com/example/sharemind/consult/dto/response/ConsultCreateResponse.java @@ -48,7 +48,7 @@ public static ConsultCreateResponse of(Consult consult, Counselor counselor) { .collect(Collectors.toSet()); return new ConsultCreateResponse(consult.getConsultId(), - counselor.getNickname(), counselor.getLevel(), counselor.getRatingAverage(), + counselor.getNickname(), counselor.getLevel().getGrade(), counselor.getRatingAverage(), counselor.getTotalReview(), consultCategories, counselor.getConsultStyle().getDisplayName(), consult.getConsultType().getDisplayName(), consult.getCost()); } diff --git a/src/main/java/com/example/sharemind/counselor/domain/Counselor.java b/src/main/java/com/example/sharemind/counselor/domain/Counselor.java index 03ad2056..98e5a94a 100644 --- a/src/main/java/com/example/sharemind/counselor/domain/Counselor.java +++ b/src/main/java/com/example/sharemind/counselor/domain/Counselor.java @@ -3,6 +3,7 @@ import com.example.sharemind.counselor.content.ProfileStatus; import com.example.sharemind.counselor.exception.CounselorErrorCode; import com.example.sharemind.counselor.exception.CounselorException; +import com.example.sharemind.customer.domain.Level; import com.example.sharemind.global.common.BaseEntity; import com.example.sharemind.global.content.ConsultCategory; import com.example.sharemind.counselor.content.ConsultStyle; @@ -24,7 +25,6 @@ public class Counselor extends BaseEntity { private static final Integer RETRY_EDUCATION_OFFSET = 1; - private static final Integer COUNSELOR_BASIC_LEVEL = 1; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -90,10 +90,6 @@ public class Counselor extends BaseEntity { @Column(columnDefinition = "TEXT") private String introduction; - @PositiveOrZero(message = "상담사 레벨은 0 이상입니다.") - @Column(nullable = false) - private Integer level; - private String account; private String bank; @@ -119,11 +115,14 @@ public class Counselor extends BaseEntity { @JoinColumn(name = "settlement_id", unique = true) private Settlement settlement; + @OneToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "level_id", unique = true) + private Level level; + @Builder public Counselor(String nickname, String email) { this.nickname = nickname; this.email = email; - this.level = 0; this.totalReview = 0L; this.ratingAverage = 0.0; this.profileStatus = ProfileStatus.NO_PROFILE; @@ -132,6 +131,10 @@ public Counselor(String nickname, String email) { this.settlement = Settlement.builder().build(); } + public void setLevel(Level level) { + this.level = level; + } + public Long getConsultCost(ConsultType consultType) { return this.consultCosts.stream() .filter(consultCost -> consultCost.getConsultType().equals(consultType)) @@ -172,8 +175,6 @@ public void updateIsEducated(Boolean isEducated) { if (isEducated.equals(false)) { this.retryEducation = LocalDateTime.now().plusDays(RETRY_EDUCATION_OFFSET); - } else { - this.level = COUNSELOR_BASIC_LEVEL; } } diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetBannerResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetBannerResponse.java index 57213fe3..c790a699 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetBannerResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetBannerResponse.java @@ -40,6 +40,6 @@ public static CounselorGetBannerResponse of(Counselor counselor) { return new CounselorGetBannerResponse(counselor.getCounselorId(), counselor.getNickname(), CounselorUtil.convertConsultCategories(counselor), counselor.getConsultStyle().getDisplayName(), counselor.getIntroduction(), - counselor.getLevel(), counselor.getTotalReview(), counselor.getRatingAverage()); + counselor.getLevel().getGrade(), counselor.getTotalReview(), counselor.getRatingAverage()); } } diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetForConsultResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetForConsultResponse.java index c88e6762..1f02b439 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetForConsultResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetForConsultResponse.java @@ -49,8 +49,9 @@ public static CounselorGetForConsultResponse of(Counselor counselor, ConsultType .map(ConsultCategory::getDisplayName) .toList(); - return new CounselorGetForConsultResponse(counselor.getCounselorId(), counselor.getNickname(), - counselor.getLevel(), counselor.getRatingAverage(), counselor.getTotalReview(), consultCategories, + return new CounselorGetForConsultResponse(counselor.getCounselorId(), + counselor.getNickname(), counselor.getLevel().getGrade(), + counselor.getRatingAverage(), counselor.getTotalReview(), consultCategories, counselor.getConsultStyle().getDisplayName(), consultType.getDisplayName(), counselor.getConsultCost(consultType), counselor.getTotalConsult()); } diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetInfoResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetInfoResponse.java index d0d0c1f7..28a27324 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetInfoResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetInfoResponse.java @@ -36,8 +36,9 @@ public static CounselorGetInfoResponse of(Counselor counselor) { if (counselor.getConsultStyle() != null) { consultStyle = counselor.getConsultStyle().getDisplayName(); } - - return new CounselorGetInfoResponse(counselor.getNickname(), counselor.getLevel(), consultStyle, counselor.getIsEducated(), + + return new CounselorGetInfoResponse(counselor.getNickname(), + counselor.getLevel().getGrade(), consultStyle, counselor.getIsEducated(), counselor.getProfileStatus().name()); } } diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetListResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetListResponse.java index 84982deb..381564af 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetListResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetListResponse.java @@ -32,7 +32,7 @@ public class CounselorGetListResponse extends CounselorGetBaseResponse { protected CounselorGetListResponse(Counselor counselor, Boolean isWishList, Boolean isRealtime) { super(counselor); this.counselorId = counselor.getCounselorId(); - this.level = counselor.getLevel(); + this.level = counselor.getLevel().getGrade(); this.totalReview = counselor.getTotalReview(); this.ratingAverage = counselor.getRatingAverage(); this.isWishList = isWishList; diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetMinderProfileResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetMinderProfileResponse.java index 7ac12bbf..bdf9935f 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetMinderProfileResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetMinderProfileResponse.java @@ -80,7 +80,7 @@ public static CounselorGetMinderProfileResponse of(Counselor counselor, Boolean return CounselorGetMinderProfileResponse.builder() .counselorId(counselor.getCounselorId()) .nickname(counselor.getNickname()) - .level(counselor.getLevel()) + .level(counselor.getLevel().getGrade()) .totalReview(counselor.getTotalReview()) .ratingAverage(counselor.getRatingAverage()) .consultCategories(CounselorUtil.convertConsultCategories(counselor)) diff --git a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetWishListResponse.java b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetWishListResponse.java index 5d480ce9..b95d19c8 100644 --- a/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetWishListResponse.java +++ b/src/main/java/com/example/sharemind/counselor/dto/response/CounselorGetWishListResponse.java @@ -42,7 +42,7 @@ private CounselorGetWishListResponse(Counselor counselor, WishList wishList, Boo super(counselor); this.wishlistId = wishList.getWishlistId(); this.counselorId = counselor.getCounselorId(); - this.level = counselor.getLevel(); + this.level = counselor.getLevel().getGrade(); this.totalReview = counselor.getTotalReview(); this.ratingAverage = counselor.getRatingAverage(); this.updatedAt = wishList.getUpdatedAt(); diff --git a/src/main/java/com/example/sharemind/counselor/repository/CounselorRepository.java b/src/main/java/com/example/sharemind/counselor/repository/CounselorRepository.java index e00f6f80..e3b550b1 100644 --- a/src/main/java/com/example/sharemind/counselor/repository/CounselorRepository.java +++ b/src/main/java/com/example/sharemind/counselor/repository/CounselorRepository.java @@ -35,13 +35,13 @@ public interface CounselorRepository extends JpaRepository { + "AND c.isActivated = true") List findAllByNicknameOrEmail(String keyword); - @Query("SELECT c FROM Counselor c WHERE (c.nickname LIKE %:word% OR c.experience LIKE %:word% OR c.introduction LIKE %:word%) AND c.level >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") + @Query("SELECT c FROM Counselor c WHERE (c.nickname LIKE %:word% OR c.experience LIKE %:word% OR c.introduction LIKE %:word%) AND c.level.grade >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") Page findByWordAndLevelAndStatus(String word, Pageable pageable); - @Query("SELECT c FROM Counselor c WHERE :category MEMBER OF c.consultCategories AND c.level >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") + @Query("SELECT c FROM Counselor c WHERE :category MEMBER OF c.consultCategories AND c.level.grade >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") Page findByConsultCategoryAndLevelAndStatus(ConsultCategory category, Pageable pageable); - @Query("SELECT c FROM Counselor c WHERE c.level >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") + @Query("SELECT c FROM Counselor c WHERE c.level.grade >= 1 AND c.isActivated = true AND c.profileStatus = 'EVALUATION_COMPLETE'") Page findByLevelAndStatus(Pageable pageable); } diff --git a/src/main/java/com/example/sharemind/customer/domain/Customer.java b/src/main/java/com/example/sharemind/customer/domain/Customer.java index efdf1106..86f63959 100644 --- a/src/main/java/com/example/sharemind/customer/domain/Customer.java +++ b/src/main/java/com/example/sharemind/customer/domain/Customer.java @@ -45,12 +45,17 @@ public class Customer extends BaseEntity { @JoinColumn(name = "quit_id", unique = true) private Quit quit; + @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST) + @JoinColumn(name = "level_id", unique = true) + private Level level; + @Builder public Customer(String email, String password) { this.nickname = "셰어" + new Random().nextInt(999999); this.email = email; this.password = password; this.isBanned = false; + this.level = Level.builder().build(); this.roles = new ArrayList<>() {{ add(Role.ROLE_CUSTOMER); @@ -67,6 +72,7 @@ public void updateIsBanned(Boolean isBanned) { public void setCounselor(Counselor counselor) { this.counselor = counselor; + this.counselor.setLevel(this.level); } public void setQuit(Quit quit) { diff --git a/src/main/java/com/example/sharemind/customer/domain/Level.java b/src/main/java/com/example/sharemind/customer/domain/Level.java new file mode 100644 index 00000000..e7c6e082 --- /dev/null +++ b/src/main/java/com/example/sharemind/customer/domain/Level.java @@ -0,0 +1,132 @@ +package com.example.sharemind.customer.domain; + +import com.example.sharemind.global.common.BaseEntity; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.Builder; +import lombok.Getter; + +@Getter +@Entity +public class Level extends BaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "level_id") + private Long levelId; + + @Column(name = "post_create", nullable = false) + private Long postCreate; + + @Column(name = "post_answer", nullable = false) + private Long postAnswer; + + @Column(name = "post_choose", nullable = false) + private Long postChoose; + + @Column(name = "post_chosen", nullable = false) + private Long postChosen; + + @Column(name = "post_popularity_create", nullable = false) + private Long postPopularityCreate; + + @Column(name = "post_popularity_answer", nullable = false) + private Long postPopularityAnswer; + + @Column(name = "post_popularity_chosen", nullable = false) + private Long postPopularityChosen; + + @Column(name = "grade", nullable = false) + private Integer grade; + + @Column(name = "extra_discount", nullable = false) + private Double extraDiscount; + + @Builder + public Level() { + this.postCreate = 0L; + this.postAnswer = 0L; + this.postChoose = 0L; + this.postChosen = 0L; + this.postPopularityCreate = 0L; + this.postPopularityAnswer = 0L; + this.postPopularityChosen = 0L; + this.grade = 1; + this.extraDiscount = 0.0; + } + + public void increasePostCreate() { + this.postCreate++; + updateGradeAndExtraDiscount(); + } + + public void increasePostAnswer() { + this.postAnswer++; + updateGradeAndExtraDiscount(); + } + + public void increasePostChoose() { + this.postChoose++; + updateGradeAndExtraDiscount(); + } + + public void increasePostChosen() { + this.postChosen += 3; + updateGradeAndExtraDiscount(); + } + + public void increasePostPopularityCreate() { + this.postPopularityCreate += 3; + updateGradeAndExtraDiscount(); + } + + public void increasePostPopularityAnswer() { + this.postPopularityAnswer += 2; + updateGradeAndExtraDiscount(); + } + + public void increasePostPopularityChosen() { + this.postPopularityChosen += 3; + updateGradeAndExtraDiscount(); + } + + private void updateGradeAndExtraDiscount() { + long total = this.postCreate + this.postAnswer + this.postChoose + this.postChosen + + this.postPopularityCreate + this.postPopularityAnswer + this.postPopularityChosen; + + if (total == 0) { + this.grade = 1; + this.extraDiscount = 0.0; + } else if (total <= 7) { + this.grade = 2; + this.extraDiscount = 0.01; + } else if (total <= 15) { + this.grade = 3; + this.extraDiscount = 0.02; + } else if (total <= 25) { + this.grade = 4; + this.extraDiscount = 0.03; + } else if (total <= 100) { + this.grade = 5; + this.extraDiscount = 0.05; + } else if (total <= 500) { + this.grade = 6; + this.extraDiscount = 0.06; + } else if (total <= 1500) { + this.grade = 7; + this.extraDiscount = 0.07; + } else if (total <= 4000) { + this.grade = 8; + this.extraDiscount = 0.08; + } else if (total <= 10000) { + this.grade = 9; + this.extraDiscount = 0.09; + } else { + this.grade = 10; + this.extraDiscount = 0.1; + } + } +} diff --git a/src/main/java/com/example/sharemind/global/constants/Constants.java b/src/main/java/com/example/sharemind/global/constants/Constants.java index a45a672f..8d8e5f7a 100644 --- a/src/main/java/com/example/sharemind/global/constants/Constants.java +++ b/src/main/java/com/example/sharemind/global/constants/Constants.java @@ -19,7 +19,7 @@ public class Constants { public static final Boolean IS_CHAT = true; public static final Boolean IS_LETTER = false; - public static final Double FEE = 0.2; + public static final Double BASE_FEE = 0.25; public static final Long MAX_COMMENTS = 5L; } diff --git a/src/main/java/com/example/sharemind/payment/domain/Payment.java b/src/main/java/com/example/sharemind/payment/domain/Payment.java index 5e40e467..8197abe7 100644 --- a/src/main/java/com/example/sharemind/payment/domain/Payment.java +++ b/src/main/java/com/example/sharemind/payment/domain/Payment.java @@ -17,7 +17,7 @@ import java.time.LocalDateTime; -import static com.example.sharemind.global.constants.Constants.FEE; +import static com.example.sharemind.global.constants.Constants.BASE_FEE; @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @@ -66,7 +66,8 @@ public class Payment extends BaseEntity { public Payment(String customerPhoneNumber, Consult consult) { this.customerPhoneNumber = customerPhoneNumber; this.consult = consult; - this.fee = Math.round(consult.getCost() * FEE); + this.fee = Math.round(consult.getCost() * (BASE_FEE - consult.getCounselor().getLevel() + .getExtraDiscount())); this.isPaid = false; updateBothStatusNone(); } diff --git a/src/main/java/com/example/sharemind/post/application/PostServiceImpl.java b/src/main/java/com/example/sharemind/post/application/PostServiceImpl.java index 8de8042b..88d914f0 100644 --- a/src/main/java/com/example/sharemind/post/application/PostServiceImpl.java +++ b/src/main/java/com/example/sharemind/post/application/PostServiceImpl.java @@ -6,6 +6,7 @@ import com.example.sharemind.counselor.domain.Counselor; import com.example.sharemind.customer.application.CustomerService; import com.example.sharemind.customer.domain.Customer; +import com.example.sharemind.customer.domain.Level; import com.example.sharemind.global.common.BaseEntity; import com.example.sharemind.global.content.ConsultCategory; import com.example.sharemind.post.content.PostListSortType; @@ -253,12 +254,29 @@ public Boolean getIsPostOwner(Long postId, Long customerId) { @Scheduled(cron = "0 0 0/1 * * *", zone = "Asia/Seoul") @Transactional - public void checkPostStatus() { + public void checkPostStatusAndPopularity() { postRepository.findAllWaitingPublicPostsAfter24Hours() .forEach(BaseEntity::updateIsActivatedFalse); postRepository.findAllCommentedProceedingPublicPostsAfter72Hours() .forEach(post -> post.updatePostStatus(PostStatus.TIME_OUT)); + + postRepository.findNewPopularityPosts() + .forEach(post -> { + post.updateIsPopular(); + + Level customerLevel = post.getCustomer().getLevel(); + customerLevel.increasePostPopularityCreate(); + + commentRepository.findByPostAndIsActivatedIsTrue(post).forEach(comment -> { + Level counselorLevel = comment.getCounselor().getLevel(); + counselorLevel.increasePostPopularityAnswer(); + + if (comment.getIsChosen()) { + counselorLevel.increasePostPopularityChosen(); + } + }); + }); } private Boolean checkCounselorReadAuthority(Long postId, Long customerId) { diff --git a/src/main/java/com/example/sharemind/post/domain/Post.java b/src/main/java/com/example/sharemind/post/domain/Post.java index 06d8aea2..043e1032 100644 --- a/src/main/java/com/example/sharemind/post/domain/Post.java +++ b/src/main/java/com/example/sharemind/post/domain/Post.java @@ -88,6 +88,9 @@ public class Post extends BaseEntity { @Column(name = "is_completed") private Boolean isCompleted; + @Column(name = "is_Popular") + private Boolean isPopular; + @Column(name = "published_at") private LocalDateTime publishedAt; @@ -104,9 +107,14 @@ public Post(Customer customer, Long cost, Boolean isPublic, String customerPhone this.totalComment = 0L; this.totalScrap = 0L; this.customerPhoneNumber = customerPhoneNumber; + this.isPopular = false; setIsPaid(isPublic); } + public void updateIsPopular() { + this.isPopular = true; + } + public void updatePayAppId(String payAppId) { this.payAppId = payAppId; } @@ -126,6 +134,10 @@ public void updatePostStatus(PostStatus postStatus) { if (this.postStatus == PostStatus.PROCEEDING) { this.publishedAt = LocalDateTime.now(); + + if (this.isPublic) { + this.customer.getLevel().increasePostCreate(); + } } else if (this.postStatus == PostStatus.COMPLETED || this.postStatus == PostStatus.TIME_OUT) { this.finishedAt = LocalDateTime.now().withNano(0); } diff --git a/src/main/java/com/example/sharemind/post/repository/PostCustomRepository.java b/src/main/java/com/example/sharemind/post/repository/PostCustomRepository.java index 55831c1d..3c9311b7 100644 --- a/src/main/java/com/example/sharemind/post/repository/PostCustomRepository.java +++ b/src/main/java/com/example/sharemind/post/repository/PostCustomRepository.java @@ -14,6 +14,8 @@ List findAllByCustomerAndIsActivatedIsTrue(Customer customer, Boolean filt List findAllByIsPublicAndIsActivatedIsTrue(Long postId, LocalDateTime finishedAt, int size); + List findNewPopularityPosts(); + List findPopularityPosts(Long postId, LocalDateTime finishedAt, int size); List getPostByWordWithSortType(SearchWordPostFindRequest searchWordPostFindRequest, diff --git a/src/main/java/com/example/sharemind/post/repository/PostCustomRepositoryImpl.java b/src/main/java/com/example/sharemind/post/repository/PostCustomRepositoryImpl.java index 13709e5b..f4c04b99 100644 --- a/src/main/java/com/example/sharemind/post/repository/PostCustomRepositoryImpl.java +++ b/src/main/java/com/example/sharemind/post/repository/PostCustomRepositoryImpl.java @@ -47,6 +47,19 @@ public List findAllByIsPublicAndIsActivatedIsTrue(Long postId, LocalDateTi ).orderBy(post.finishedAt.desc(), post.postId.desc()).limit(size).fetch(); } + @Override + public List findNewPopularityPosts() { + return jpaQueryFactory + .selectFrom(post) + .where( + post.isPublic.isTrue(), + post.isPopular.isFalse(), + post.postStatus.in(PostStatus.TIME_OUT, PostStatus.COMPLETED), + post.totalLike.goe(10), + post.isActivated.isTrue() + ).fetch(); + } + @Override public List findPopularityPosts(Long postId, LocalDateTime finishedAt, int size) { return jpaQueryFactory diff --git a/src/main/java/com/example/sharemind/review/dto/response/ReviewGetResponse.java b/src/main/java/com/example/sharemind/review/dto/response/ReviewGetResponse.java index f3e469a0..630309de 100644 --- a/src/main/java/com/example/sharemind/review/dto/response/ReviewGetResponse.java +++ b/src/main/java/com/example/sharemind/review/dto/response/ReviewGetResponse.java @@ -55,8 +55,9 @@ public static ReviewGetResponse of(Review review, Boolean isCustomer) { if (isCustomer) { Counselor counselor = consult.getCounselor(); return new ReviewGetResponse(review.getReviewId(), counselor.getNickname(), - counselor.getConsultStyle().getDisplayName(), counselor.getLevel(), counselor.getRatingAverage(), - counselor.getTotalReview(), consult.getConsultType().getDisplayName(), consult.getConsultedAt(), + counselor.getConsultStyle().getDisplayName(), counselor.getLevel().getGrade(), + counselor.getRatingAverage(), counselor.getTotalReview(), + consult.getConsultType().getDisplayName(), consult.getConsultedAt(), consult.getCost(), review.getRating(), review.getComment()); } else { return new ReviewGetResponse(review.getReviewId(), consult.getCustomer().getNickname(), null,