From 91d86aba3fb08778084520903d2b507b0e4b4395 Mon Sep 17 00:00:00 2001 From: bo-ram-bo-ram Date: Wed, 18 Sep 2024 23:10:06 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20=EB=8C=93=EA=B8=80=20=EC=A0=84?= =?UTF-8?q?=EC=B2=B4=20=EC=A1=B0=ED=9A=8C=20api=20=EB=B2=A0=ED=85=8C?= =?UTF-8?q?=EB=9E=91=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/dto/response/CommentGetResponse.java | 5 ++++- .../api/comment/service/CommentQueryService.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/pickple/server/api/comment/dto/response/CommentGetResponse.java b/src/main/java/com/pickple/server/api/comment/dto/response/CommentGetResponse.java index 5ce0bc7..5d1f9b7 100644 --- a/src/main/java/com/pickple/server/api/comment/dto/response/CommentGetResponse.java +++ b/src/main/java/com/pickple/server/api/comment/dto/response/CommentGetResponse.java @@ -15,6 +15,9 @@ public record CommentGetResponse( String commentContent, - String commentDate + String commentDate, + + boolean isVeteran + ) { } diff --git a/src/main/java/com/pickple/server/api/comment/service/CommentQueryService.java b/src/main/java/com/pickple/server/api/comment/service/CommentQueryService.java index 049bc86..9f31fdc 100644 --- a/src/main/java/com/pickple/server/api/comment/service/CommentQueryService.java +++ b/src/main/java/com/pickple/server/api/comment/service/CommentQueryService.java @@ -8,6 +8,8 @@ import com.pickple.server.api.guest.repository.GuestRepository; import com.pickple.server.api.host.domain.Host; import com.pickple.server.api.host.repository.HostRepository; +import com.pickple.server.api.moim.domain.enums.MoimState; +import com.pickple.server.api.moim.repository.MoimRepository; import com.pickple.server.api.notice.domain.Notice; import com.pickple.server.api.notice.repository.NoticeRepository; import java.time.format.DateTimeFormatter; @@ -21,10 +23,12 @@ @RequiredArgsConstructor @Transactional(readOnly = true) public class CommentQueryService { + private final NoticeRepository noticeRepository; private final CommentRepository commentRepository; private final HostRepository hostRepository; private final GuestRepository guestRepository; + private final MoimRepository moimRepository; public List getCommentListByNotice(Long noticeId) { Notice notice = noticeRepository.findNoticeByIdOrThrow(noticeId); @@ -44,6 +48,8 @@ public List getCommentListByNotice(Long noticeId) { .commenterNickname(commenterInfo.getProfileNickname()) .commentContent(comment.getCommentContent()) .commentDate(comment.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss"))) + .isVeteran(checkVeteran(isOwner, + hostRepository.findHostByUserId(comment.getCommenter().getId()).getId())) .build(); }).collect(Collectors.toList()); } @@ -62,4 +68,12 @@ public boolean checkOwner(Long userId, Long noticeId) { Notice notice = noticeRepository.findNoticeByIdOrThrow(noticeId); return notice.getMoim().getHost().getUser().getId().equals(userId); } + + private boolean checkVeteran(boolean isOwner, Long hostId) { + if (isOwner) { + int count = moimRepository.countByHostIdAndMoimState(hostId, MoimState.COMPLETED.getMoimState()); + return count >= 2; + } + return false; + } }