Explorar o código

fix: 无法修改答案的问题

XuShengTao %!s(int64=6) %!d(string=hai) anos
pai
achega
74dc4943de

+ 10 - 5
src/main/java/nju/seec/helper/service/impl/QuizServiceImpl.java

@@ -164,14 +164,19 @@ public class QuizServiceImpl implements QuizService {
             String answer = studentAnswer.getStudentAnswer().toString();
             if(!questionIdSet.contains(id)){break;}
             if(qsaMap.get(id)!=null){
+                if(qsaMap.get(id).getStudentAnswer().equals(answer)){
+                    continue;
+                }
                 qsaMap.get(id).setStudentAnswer(answer);
+                System.out.println(answer);
                 toSaveQSA.add(qsaMap.get(id));
-                break;
+            }else {
+                QuizStudentAnswer qsa=QuizStudentAnswer.builder()
+                        .questionId(id).quiz(quiz).student(student).studentAnswer(answer)
+                        .build();
+                toSaveQSA.add(qsa);
             }
-            QuizStudentAnswer qsa=QuizStudentAnswer.builder()
-                    .questionId(id).quiz(quiz).student(student).studentAnswer(answer)
-                    .build();
-            toSaveQSA.add(qsa);
+
         }
         Integer savedNum=toSaveQSA.size();
         quizStudentAnswerDAO.saveAll(toSaveQSA);