diff --git a/layer-api/src/main/java/org/layer/domain/answer/controller/dto/response/AnswerListGetResponse.java b/layer-api/src/main/java/org/layer/domain/answer/controller/dto/response/AnswerListGetResponse.java index 0feba21f..edd5e990 100644 --- a/layer-api/src/main/java/org/layer/domain/answer/controller/dto/response/AnswerListGetResponse.java +++ b/layer-api/src/main/java/org/layer/domain/answer/controller/dto/response/AnswerListGetResponse.java @@ -9,6 +9,8 @@ public record AnswerListGetResponse( @Schema(description = "질문 기준 결과", example = "") List questions, @Schema(description = "개별 기준 결과", example = "") - List individuals + List individuals, + @Schema(description = "AI 분석 완료 여부", example = "true") + boolean hasAIAnalyzed ) { } diff --git a/layer-api/src/main/java/org/layer/domain/answer/service/AnswerService.java b/layer-api/src/main/java/org/layer/domain/answer/service/AnswerService.java index 1a60a4d9..57afaf9c 100644 --- a/layer-api/src/main/java/org/layer/domain/answer/service/AnswerService.java +++ b/layer-api/src/main/java/org/layer/domain/answer/service/AnswerService.java @@ -1,6 +1,9 @@ package org.layer.domain.answer.service; import lombok.RequiredArgsConstructor; + +import org.layer.domain.analyze.entity.Analyze; +import org.layer.domain.analyze.repository.AnalyzeRepository; import org.layer.domain.answer.controller.dto.request.AnswerCreateRequest; import org.layer.domain.answer.controller.dto.request.AnswerListCreateRequest; import org.layer.domain.answer.controller.dto.request.AnswerListUpdateRequest; @@ -42,6 +45,7 @@ public class AnswerService { private final RetrospectRepository retrospectRepository; private final QuestionRepository questionRepository; private final MemberRepository memberRepository; + private final AnalyzeRepository analyzeRepository; private final Time time; @@ -181,7 +185,10 @@ public AnswerListGetResponse getAnalyzeAnswer(Long spaceId, Long retrospectId, L List answerByPerson = getAnswerByPersonGetResponses( answers, members, questions); - return new AnswerListGetResponse(answerByQuestions, answerByPerson); + // AI 기반 분석 여부 확인 + Optional analyze = analyzeRepository.findByRetrospectId(retrospectId); + + return new AnswerListGetResponse(answerByQuestions, answerByPerson, analyze.isPresent()); } public List getWrittenAnswer(Long spaceId, Long retrospectId, Long memberId) { diff --git a/layer-api/src/main/java/org/layer/domain/form/service/FormService.java b/layer-api/src/main/java/org/layer/domain/form/service/FormService.java index b298ef5d..0287cc34 100644 --- a/layer-api/src/main/java/org/layer/domain/form/service/FormService.java +++ b/layer-api/src/main/java/org/layer/domain/form/service/FormService.java @@ -13,6 +13,7 @@ import org.layer.domain.form.exception.FormException; import org.layer.domain.form.repository.FormRepository; import org.layer.domain.question.entity.Question; +import org.layer.domain.question.enums.QuestionType; import org.layer.domain.question.repository.QuestionRepository; import org.layer.domain.space.entity.MemberSpaceRelation; import org.layer.domain.space.entity.Space; @@ -44,8 +45,13 @@ public class FormService { private final TemplateMetadataRepository metadataRepository; private static final int MIN = 10000; - private static final int MAX = 10002; + private static final int MAX = 10005; + /** + * 회고 폼 질문을 조회한다. + * + * @apiNote 필수질문(답변이 텍스트가 아닌 질문)은 모두 제외 + * */ public FormGetResponse getForm(Long formId, Long memberId) { Form form = formRepository.findByIdOrThrow(formId); @@ -58,6 +64,7 @@ public FormGetResponse getForm(Long formId, Long memberId) { List questions = questionRepository.findAllByFormId(formId); List questionResponses = questions.stream() + .filter(question -> question.getQuestionType().equals(QuestionType.PLAIN_TEXT)) .map(question -> QuestionGetResponse.of(question.getContent(), question.getQuestionType().getStyle())) .toList(); diff --git a/layer-api/src/main/java/org/layer/domain/retrospect/controller/dto/response/RetrospectGetResponse.java b/layer-api/src/main/java/org/layer/domain/retrospect/controller/dto/response/RetrospectGetResponse.java index e4d71cb5..1f08d9e1 100644 --- a/layer-api/src/main/java/org/layer/domain/retrospect/controller/dto/response/RetrospectGetResponse.java +++ b/layer-api/src/main/java/org/layer/domain/retrospect/controller/dto/response/RetrospectGetResponse.java @@ -21,10 +21,8 @@ public record RetrospectGetResponse( long writeCount, @Schema(description = "전체 인원", example = "10") long totalCount, - @Schema(description = "회고 생성 일자") LocalDateTime createdAt, - @Schema(description = "회고 종료 일자") LocalDateTime deadline ) {