6
6
import com .moplus .moplus_server .client .submit .domain .ProblemSubmit ;
7
7
import com .moplus .moplus_server .client .submit .domain .ProblemSubmitStatus ;
8
8
import com .moplus .moplus_server .client .submit .dto .request .ChildProblemSubmitCreateRequest ;
9
+ import com .moplus .moplus_server .client .submit .dto .request .ChildProblemSubmitUpdateRequest ;
9
10
import com .moplus .moplus_server .client .submit .dto .request .ProblemSubmitCreateRequest ;
10
11
import com .moplus .moplus_server .client .submit .dto .request .ProblemSubmitUpdateRequest ;
11
12
import com .moplus .moplus_server .client .submit .repository .ChildProblemSubmitRepository ;
12
13
import com .moplus .moplus_server .client .submit .repository .ProblemSubmitRepository ;
13
14
import com .moplus .moplus_server .domain .problem .domain .childProblem .ChildProblem ;
14
15
import com .moplus .moplus_server .domain .problem .domain .problem .Problem ;
16
+ import com .moplus .moplus_server .domain .problem .repository .ChildProblemRepository ;
15
17
import com .moplus .moplus_server .domain .problem .repository .ProblemRepository ;
16
18
import com .moplus .moplus_server .domain .publish .repository .PublishRepository ;
17
19
import java .util .List ;
@@ -28,6 +30,7 @@ public class ClientSubmitService {
28
30
private final ProblemRepository problemRepository ;
29
31
private final ChildProblemSubmitRepository childProblemSubmitRepository ;
30
32
private final PublishRepository publishRepository ;
33
+ private final ChildProblemRepository childProblemRepository ;
31
34
32
35
@ Transactional
33
36
public void createProblemSubmit (ProblemSubmitCreateRequest request ) {
@@ -110,4 +113,25 @@ public void createChildProblemSubmit(ChildProblemSubmitCreateRequest request) {
110
113
}
111
114
}
112
115
116
+ @ Transactional
117
+ public ChildProblemSubmitStatus updateChildProblemSubmit (ChildProblemSubmitUpdateRequest request ) {
118
+ Long memberId = 1L ;
119
+
120
+ // 존재하는 발행인지 검증
121
+ publishRepository .existsByIdElseThrow (request .publishId ());
122
+
123
+ // 새끼문항 조회
124
+ ChildProblem childProblem = childProblemRepository .findByIdElseThrow (request .childProblemId ());
125
+
126
+ //새끼문항 제출 데이터 조회
127
+ ChildProblemSubmit childProblemSubmit = childProblemSubmitRepository .findByMemberIdAndPublishIdAndChildProblemIdElseThrow (memberId ,
128
+ request .publishId (), request .childProblemId ());
129
+ // 제출한 답안에 대한 상태 결정
130
+ ChildProblemSubmitStatus status = ChildProblemSubmitStatus .determineStatus (childProblemSubmit .getStatus (), request .answer (),
131
+ childProblem .getAnswer ());
132
+
133
+ childProblemSubmit .updateStatus (status );
134
+ return status ;
135
+ }
136
+
113
137
}
0 commit comments