Skip to content

[feat] 이어서 풀기 관련 로직 수정(DOING handling 추가) #227

@sterdsterd

Description

@sterdsterd

작업 설명

1. Progress 상태 로직 변경

메인 문제 정답 → 메인 문제 포인팅만 확인하여 DOING/DONE 결정
메인 문제 오답 → 새끼 문제 풀이 + 전체 포인팅 확인하여 DOING/DONE 결정

  • 기존: isDone 개수 기반 → 변경: 정오답 + 포인팅 답변 여부 기반

2. 응답에 추가된 필드

PublishProblemGroupResp에 다음 필드가 추가됩니다:

{
  "no": 1,
  "problemId": 123,
  "progress": "DOING",
  "attemptCount": 1,  // 메인 문제 제출 횟수 (최대 2회)
  "lastProgressInfo": {
    "lastAnsweredPointingId": 456,
    "lastAnsweredPointingNo": 2,      // 마지막 답변한 포인팅 번호
    "lastSolvedProblemId": 123,
    "lastSolvedChildProblemNo": null, // 새끼문제 풀이 없으면 null
    "isMainProblemSolved": true,
    "solvedChildProblemCount": 0,
    "totalChildProblemCount": 3,
    "answeredPointingCount": 2,
    "totalPointingCount": 5
  }
}

3. 이어서 풀기 구현 시 활용 방법

다음 포인팅 = lastAnsweredPointingNo + 1

  • 다음 새끼 문제 = lastSolvedChildProblemNo + 1
  • attemptCount로 제출 횟수 제한 체크 가능 (최대 2회)

4. 포인팅 피드백 API 변경

POST /api/student/study/submit/pointing 요청 시 publishId 필드 추가 필요합니다:

{
  "pointingId": 123,
  "publishId": 456,  // 새로 추가 (optional, 이어서풀기 지원용)
  "isUnderstood": true
}

5. SubmissionResp에도 attemptCount 추가

개별 문제 응답에서도 제출 횟수 확인 가능합니다.

접근 방법

API 수정사항 반영 및 이어서 풀기 핸들링 추가

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions