Kaynağa Gözat

kmt练习册修改时练习册状态改变

yanghuan 5 yıl önce
ebeveyn
işleme
3a7ead9663

+ 10 - 8
ssj-kmt-exercise-service-impl/src/main/java/com/ssj/service/kmt/kmt/service/impl/KmtExerciseSubmitServiceImpl.java

@@ -135,14 +135,7 @@ public class KmtExerciseSubmitServiceImpl implements KmtExerciseSubmitService {
                 }
             }
         }
-        String exerciseBookId = questions.get(0).getExerciseBookId();
-        if (isAnswerCorrectSubmit) {
-            // 如果已经没有需要修改答案的题目,则修改练习册的校对状态为已修改
-            int count = kmtExerciseMapper.countAnswerWrongQuestion(exerciseBookId, new HashSet<>(questionIds));
-            if (count < 1) {
-                kmtExerciseMapper.updateKmtExerciseBookProofreadStatus(exerciseBookId, ProofreadStatusEnum.ManagerModified.getCode());
-            }
-        }
+
     }
 
     @Override
@@ -377,6 +370,15 @@ public class KmtExerciseSubmitServiceImpl implements KmtExerciseSubmitService {
         //解析加工或解析审核
         if (isAnswerCorrectSubmit) {
             this.updateProofreadStatusSubmit(questions, questionUpdateRequests);
+            String exerciseBookId = questions.get(0).getExerciseBookId();
+              // 如果已经没有需要修改答案的题目,则修改练习册的校对状态为已修改
+            List<String> questionIds = questionUpdateRequests.stream().map(QuestionUpdateRequest::getQuestionId).collect(Collectors.toList());
+
+            int count = kmtExerciseMapper.countAnswerWrongQuestion(exerciseBookId, new HashSet<>(questionIds));
+                if (count < 1) {
+                    kmtExerciseMapper.updateKmtExerciseBookProofreadStatus(exerciseBookId, ProofreadStatusEnum.ManagerModified.getCode());
+                }
+
         } else if (type == 0) {
             this.updateHandlerQuestions(questions, questionUpdateRequests);
         } else if (type == 1) {