From a83bc485cdbf05e48b0a85a44ddc53a770237657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=ED=95=9C=EC=9D=8C?= Date: Tue, 20 Aug 2024 21:56:20 +0900 Subject: [PATCH] =?UTF-8?q?[SAMBAD-261]-feat:=20=EB=8B=A4=EC=9D=8C=20?= =?UTF-8?q?=EC=A7=88=EB=AC=B8=EC=9D=B8=20=EC=A0=95=EB=B3=B4=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20(#113)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../response/SelectedAnswerResponse.java | 4 +-- .../MeetingCommentListResponseDetail.java | 6 ++--- .../MeetingQuestionCommentReplyResponse.java | 6 ++--- .../application/MeetingMemberService.java | 6 ++--- .../presentation/MeetingMemberController.java | 8 +++--- .../response/MeetingMemberListResponse.java | 6 ++--- ...java => MeetingMemberSummaryResponse.java} | 6 ++--- .../MeetingQuestionRepository.java | 2 ++ .../application/MeetingQuestionService.java | 26 ++++++++++++++----- .../MeetingQuestionJpaRepository.java | 2 ++ .../MeetingQuestionRepositoryImpl.java | 6 +++++ .../CurrentMeetingQuestionResponse.java | 15 +++++++---- ...tiveMeetingQuestionListResponseDetail.java | 6 ++--- 13 files changed, 63 insertions(+), 36 deletions(-) rename src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/{MeetingMemberListResponseDetail.java => MeetingMemberSummaryResponse.java} (85%) diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/answer/presentation/response/SelectedAnswerResponse.java b/src/main/java/org/depromeet/sambad/moring/meeting/answer/presentation/response/SelectedAnswerResponse.java index 22c7c891..549d8113 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/answer/presentation/response/SelectedAnswerResponse.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/answer/presentation/response/SelectedAnswerResponse.java @@ -7,7 +7,7 @@ import org.depromeet.sambad.moring.meeting.answer.domain.MeetingAnswer; import org.depromeet.sambad.moring.meeting.member.domain.MeetingMember; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponse; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import io.swagger.v3.oas.annotations.media.Schema; @@ -19,7 +19,7 @@ public record SelectedAnswerResponse( int count, @Schema(description = "선택한 모임원 목록", requiredMode = REQUIRED) - List selectedMembers + List selectedMembers ) { public static SelectedAnswerResponse from(List members, List meetingAnswers) { return new SelectedAnswerResponse( diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/comment/response/MeetingCommentListResponseDetail.java b/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/comment/response/MeetingCommentListResponseDetail.java index fc6afd24..f7e21cda 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/comment/response/MeetingCommentListResponseDetail.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/comment/response/MeetingCommentListResponseDetail.java @@ -6,7 +6,7 @@ import org.depromeet.sambad.moring.meeting.comment.domain.comment.MeetingQuestionComment; import org.depromeet.sambad.moring.meeting.member.domain.MeetingMember; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; @@ -20,7 +20,7 @@ public record MeetingCommentListResponseDetail( String content, @Schema(description = "코멘트 작성자", requiredMode = REQUIRED) - MeetingMemberListResponseDetail writer + MeetingMemberSummaryResponse writer ) { public static MeetingCommentListResponseDetail from(MeetingQuestionComment meetingQuestionComment) { MeetingMember writer = meetingQuestionComment.getMeetingMember(); @@ -28,7 +28,7 @@ public static MeetingCommentListResponseDetail from(MeetingQuestionComment meeti return MeetingCommentListResponseDetail.builder() .meetingQuestionCommentId(meetingQuestionComment.getId()) .content(meetingQuestionComment.getContent()) - .writer(MeetingMemberListResponseDetail.from(writer)) + .writer(MeetingMemberSummaryResponse.from(writer)) .build(); } diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/reply/response/MeetingQuestionCommentReplyResponse.java b/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/reply/response/MeetingQuestionCommentReplyResponse.java index 79d33e2b..806b0a91 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/reply/response/MeetingQuestionCommentReplyResponse.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/comment/presentation/reply/response/MeetingQuestionCommentReplyResponse.java @@ -4,7 +4,7 @@ import org.depromeet.sambad.moring.meeting.comment.domain.reply.MeetingQuestionCommentReply; import org.depromeet.sambad.moring.meeting.member.domain.MeetingMember; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Builder; @@ -18,14 +18,14 @@ public record MeetingQuestionCommentReplyResponse( String content, @Schema(description = "릴레이질문 코멘트 답글 작성자", example = "{\"meetingMemberId\":1,\"name\":\"이한음\",\"profileImageFileUrl\":\"https://example.com\",\"role\":\"OWNER\"}", requiredMode = REQUIRED) - MeetingMemberListResponseDetail writer + MeetingMemberSummaryResponse writer ) { public static MeetingQuestionCommentReplyResponse from(MeetingQuestionCommentReply commentReply) { MeetingMember writer = commentReply.getMeetingMember(); MeetingQuestionCommentReplyResponseBuilder builder = MeetingQuestionCommentReplyResponse.builder() .meetingQuestionCommentReplyId(commentReply.getId()) .content(commentReply.getContent()) - .writer(MeetingMemberListResponseDetail.from(writer)); + .writer(MeetingMemberSummaryResponse.from(writer)); return builder.build(); } } diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/member/application/MeetingMemberService.java b/src/main/java/org/depromeet/sambad/moring/meeting/member/application/MeetingMemberService.java index 8c7f9c1f..a1c576e3 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/member/application/MeetingMemberService.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/member/application/MeetingMemberService.java @@ -17,9 +17,9 @@ import org.depromeet.sambad.moring.meeting.member.presentation.exception.NoMeetingMemberInConditionException; import org.depromeet.sambad.moring.meeting.member.presentation.request.MeetingMemberPersistRequest; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponse; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberPersistResponse; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberResponse; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import org.depromeet.sambad.moring.meeting.question.application.MeetingQuestionRepository; import org.depromeet.sambad.moring.meeting.question.domain.MeetingQuestion; import org.depromeet.sambad.moring.user.domain.User; @@ -91,7 +91,7 @@ public MeetingMemberResponse getMyMeetingMember(Long userId, Long meetingId) { return MeetingMemberResponse.from(getByUserIdAndMeetingId(userId, meetingId)); } - public MeetingMemberListResponseDetail getRandomMeetingMember(Long userId, Long meetingId, + public MeetingMemberSummaryResponse getRandomMeetingMember(Long userId, Long meetingId, List excludeMemberIds) { meetingMemberValidator.validateUserIsMemberOfMeeting(userId, meetingId); @@ -103,7 +103,7 @@ public MeetingMemberListResponseDetail getRandomMeetingMember(Long userId, Long } MeetingMember randomMember = meetingMemberRandomGenerator.generate(nextTargetMembers); - return MeetingMemberListResponseDetail.from(randomMember); + return MeetingMemberSummaryResponse.from(randomMember); } public boolean isNotEnterAnyMeeting(Long userId) { diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/MeetingMemberController.java b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/MeetingMemberController.java index 1d672381..a7d0e5b8 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/MeetingMemberController.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/MeetingMemberController.java @@ -1,15 +1,15 @@ package org.depromeet.sambad.moring.meeting.member.presentation; -import static org.springframework.http.HttpStatus.*; +import static org.springframework.http.HttpStatus.CREATED; import java.util.List; import org.depromeet.sambad.moring.meeting.member.application.MeetingMemberService; import org.depromeet.sambad.moring.meeting.member.presentation.request.MeetingMemberPersistRequest; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponse; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberPersistResponse; import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberResponse; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import org.depromeet.sambad.moring.user.presentation.resolver.UserId; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -105,12 +105,12 @@ public ResponseEntity createMeetingMember( @ApiResponse(responseCode = "404", description = "NO_MEETING_MEMBER_IN_CONDITION") }) @GetMapping("/{meetingId}/members/questions/target") - public ResponseEntity getRandomQuestionMember( + public ResponseEntity getRandomQuestionMember( @UserId Long userId, @Parameter(description = "모임 ID", example = "1", required = true) @PathVariable("meetingId") Long meetingId, @Parameter(description = "랜덤 대상자 제외할 모임원 ID 리스트", example = "2") @RequestParam(value = "excludeMemberIds", required = false) List excludeMemberIds ) { - MeetingMemberListResponseDetail response = meetingMemberService.getRandomMeetingMember(userId, meetingId, + MeetingMemberSummaryResponse response = meetingMemberService.getRandomMeetingMember(userId, meetingId, excludeMemberIds); return ResponseEntity.ok(response); } diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponse.java b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponse.java index 671080ac..e5725244 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponse.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponse.java @@ -14,13 +14,13 @@ public record MeetingMemberListResponse( example = "[{\"meetingMemberId\":1,\"name\":\"이한음\",\"profileImageFileUrl\":\"https://example.com\",\"role\":\"OWNER\"}]", requiredMode = REQUIRED ) - List contents + List contents ) { public static MeetingMemberListResponse from(List members) { - List memberResponses = members.stream() + List memberResponses = members.stream() .sorted() - .map(MeetingMemberListResponseDetail::from) + .map(MeetingMemberSummaryResponse::from) .toList(); return new MeetingMemberListResponse(memberResponses); diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponseDetail.java b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberSummaryResponse.java similarity index 85% rename from src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponseDetail.java rename to src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberSummaryResponse.java index 579f4a50..aa54756b 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberListResponseDetail.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/member/presentation/response/MeetingMemberSummaryResponse.java @@ -8,7 +8,7 @@ import io.swagger.v3.oas.annotations.media.Schema; -public record MeetingMemberListResponseDetail( +public record MeetingMemberSummaryResponse( @Schema(description = "모임원 ID", example = "1", requiredMode = REQUIRED) Long meetingMemberId, @@ -22,8 +22,8 @@ public record MeetingMemberListResponseDetail( @Schema(description = "모임원 역할", example = "OWNER", requiredMode = REQUIRED) MeetingMemberRole role ) { - public static MeetingMemberListResponseDetail from(MeetingMember member) { - return new MeetingMemberListResponseDetail( + public static MeetingMemberSummaryResponse from(MeetingMember member) { + return new MeetingMemberSummaryResponse( member.getId(), member.getName(), member.getProfileImageUrl(), diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionRepository.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionRepository.java index acd87596..1655490b 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionRepository.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionRepository.java @@ -32,6 +32,8 @@ public interface MeetingQuestionRepository { Optional findByMeetingIdAndMeetingQuestionId(Long meetingId, Long meetingQuestionId); + Optional findFirstByStatusAndStartTimeAfterOrderByStartTime(MeetingQuestionStatus status, LocalDateTime now); + List findStatistics(Long meetingQuestionId); List findMeetingMembersByMeetingQuestionId(Long meetingQuestionId); diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionService.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionService.java index 239acb12..20c616d9 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionService.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/application/MeetingQuestionService.java @@ -77,7 +77,7 @@ public CurrentMeetingQuestionResponse save(Long userId, Long meetingId, MeetingQ meeting, nextTargetMember, currentMeetingQuestion.getNextStartTime(), meeting.getTotalMemberCount()); meetingQuestionRepository.save(nextMeetingQuestion); - return CurrentMeetingQuestionResponse.questionRegisteredOf(currentMeetingQuestion, false); + return CurrentMeetingQuestionResponse.questionRegisteredOf(currentMeetingQuestion, nextTargetMember, false); } @Transactional @@ -103,13 +103,8 @@ public Optional findCurrentOne(Long userId, Long if (activeMeetingQuestionOpt.isPresent()) { MeetingQuestion activeMeetingQuestion = activeMeetingQuestionOpt.get(); - - return activeMeetingQuestion.getQuestion() == null - ? Optional.of(CurrentMeetingQuestionResponse.questionNotRegisteredOf(activeMeetingQuestion)) - : Optional.of(CurrentMeetingQuestionResponse.questionRegisteredOf(activeMeetingQuestion, - meetingQuestionRepository.isAnswered(activeMeetingQuestion.getId(), meetingMember.getId()))); + return Optional.of(getCurrentMeetingQuestionResponse(activeMeetingQuestion, meetingMember)); } - return Optional.empty(); } @@ -158,6 +153,23 @@ public MeetingMemberListResponse getMeetingMembersByMeetingQuestionId( return MeetingMemberListResponse.from(members); } + private CurrentMeetingQuestionResponse getCurrentMeetingQuestionResponse( + MeetingQuestion activeMeetingQuestion, MeetingMember meetingMember) { + if (activeMeetingQuestion.getQuestion() == null) { + return CurrentMeetingQuestionResponse.questionNotRegisteredOf(activeMeetingQuestion); + } else { + MeetingMember nextTargetMember = meetingQuestionRepository.findFirstByStatusAndStartTimeAfterOrderByStartTime( + NOT_STARTED, + LocalDateTime.now()) + .map(MeetingQuestion::getTargetMember) + .orElse(null); + + return CurrentMeetingQuestionResponse.questionRegisteredOf(activeMeetingQuestion, + nextTargetMember, + meetingQuestionRepository.isAnswered(activeMeetingQuestion.getId(), meetingMember.getId())); + } + } + private void validateNonDuplicateQuestion(Long meetingId, Long questionId) { boolean isDuplicateQuestion = meetingQuestionRepository.existsByQuestion(meetingId, questionId); if (isDuplicateQuestion) { diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionJpaRepository.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionJpaRepository.java index 74a189d8..63db1bd1 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionJpaRepository.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionJpaRepository.java @@ -19,6 +19,8 @@ public interface MeetingQuestionJpaRepository extends JpaRepository findFirstByMeetingIdAndStatusOrderByStartTime(Long meetingId, MeetingQuestionStatus status); + Optional findFirstByStatusAndStartTimeAfterOrderByStartTime(MeetingQuestionStatus status, LocalDateTime now); + Optional findFirstByMeetingIdAndStatusAndQuestionIsNotNullOrderByStartTime(Long meetingId, MeetingQuestionStatus status); } diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionRepositoryImpl.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionRepositoryImpl.java index f085a7c5..47d4b105 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionRepositoryImpl.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/infrastructure/MeetingQuestionRepositoryImpl.java @@ -66,6 +66,12 @@ public Optional findByMeetingIdAndMeetingQuestionId(Long meetin return meetingQuestionJpaRepository.findByMeetingIdAndId(meetingId, meetingQuestionId); } + @Override + public Optional findFirstByStatusAndStartTimeAfterOrderByStartTime(MeetingQuestionStatus status, + LocalDateTime now) { + return meetingQuestionJpaRepository.findFirstByStatusAndStartTimeAfterOrderByStartTime(status, now); + } + @Override public List findStatistics(Long meetingQuestionId) { return meetingQuestionQueryRepository.findStatistics(meetingQuestionId); diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/CurrentMeetingQuestionResponse.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/CurrentMeetingQuestionResponse.java index 07c2a09f..f64ca8af 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/CurrentMeetingQuestionResponse.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/CurrentMeetingQuestionResponse.java @@ -4,7 +4,8 @@ import org.depromeet.sambad.moring.file.presentation.annotation.FullFileUrl; import org.depromeet.sambad.moring.meeting.meeting.domain.Meeting; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; +import org.depromeet.sambad.moring.meeting.member.domain.MeetingMember; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import org.depromeet.sambad.moring.meeting.question.domain.MeetingQuestion; import io.swagger.v3.oas.annotations.media.Schema; @@ -45,7 +46,10 @@ public record CurrentMeetingQuestionResponse( Boolean isQuestionRegistered, @Schema(description = "질문인에 대한 정보", requiredMode = REQUIRED) - MeetingMemberListResponseDetail targetMember + MeetingMemberSummaryResponse targetMember, + + @Schema(description = "다음 질문인에 대한 정보", requiredMode = NOT_REQUIRED) + MeetingMemberSummaryResponse nextTargetMember ) { public static CurrentMeetingQuestionResponse questionNotRegisteredOf(MeetingQuestion meetingQuestion) { @@ -60,12 +64,12 @@ public static CurrentMeetingQuestionResponse questionNotRegisteredOf(MeetingQues .startTime(meetingQuestion.getEpochMilliStartTime()) .isAnswered(false) .isQuestionRegistered(false) - .targetMember(MeetingMemberListResponseDetail.from(meetingQuestion.getTargetMember())) + .targetMember(MeetingMemberSummaryResponse.from(meetingQuestion.getTargetMember())) .build(); } public static CurrentMeetingQuestionResponse questionRegisteredOf(MeetingQuestion meetingQuestion, - Boolean isAnswered) { + MeetingMember nextTargetMember, Boolean isAnswered) { Meeting meeting = meetingQuestion.getMeeting(); return CurrentMeetingQuestionResponse.builder() @@ -79,7 +83,8 @@ public static CurrentMeetingQuestionResponse questionRegisteredOf(MeetingQuestio .startTime(meetingQuestion.getEpochMilliStartTime()) .isAnswered(isAnswered) .isQuestionRegistered(true) - .targetMember(MeetingMemberListResponseDetail.from(meetingQuestion.getTargetMember())) + .targetMember(MeetingMemberSummaryResponse.from(meetingQuestion.getTargetMember())) + .nextTargetMember(MeetingMemberSummaryResponse.from(nextTargetMember)) .build(); } } \ No newline at end of file diff --git a/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/FullInactiveMeetingQuestionListResponseDetail.java b/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/FullInactiveMeetingQuestionListResponseDetail.java index dd4b5beb..cb964e0d 100644 --- a/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/FullInactiveMeetingQuestionListResponseDetail.java +++ b/src/main/java/org/depromeet/sambad/moring/meeting/question/presentation/response/FullInactiveMeetingQuestionListResponseDetail.java @@ -6,7 +6,7 @@ import org.depromeet.sambad.moring.file.presentation.annotation.FullFileUrl; import org.depromeet.sambad.moring.meeting.meeting.domain.Meeting; -import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberListResponseDetail; +import org.depromeet.sambad.moring.meeting.member.presentation.response.MeetingMemberSummaryResponse; import org.depromeet.sambad.moring.meeting.question.domain.MeetingQuestion; import io.swagger.v3.oas.annotations.media.Schema; @@ -32,7 +32,7 @@ public record FullInactiveMeetingQuestionListResponseDetail( Long startTime, @Schema(description = "질문 대상자에 대한 정보", requiredMode = REQUIRED) - MeetingMemberListResponseDetail targetMember + MeetingMemberSummaryResponse targetMember ) { public static FullInactiveMeetingQuestionListResponseDetail from(MeetingQuestion meetingQuestion) { @@ -45,7 +45,7 @@ public static FullInactiveMeetingQuestionListResponseDetail from(MeetingQuestion .title(meetingQuestion.getTitle()) .questionNumber(questionNumber) .startTime(meetingQuestion.getEpochMilliStartTime()) - .targetMember(MeetingMemberListResponseDetail.from(meetingQuestion.getTargetMember())) + .targetMember(MeetingMemberSummaryResponse.from(meetingQuestion.getTargetMember())) .build(); }