Browse Source

测试报告管理里面的globalResult接口,abilityScore字段还有问题

4228306 5 years ago
parent
commit
21e2675a1c
1 changed files with 9 additions and 6 deletions
  1. 9 6
      src/main/java/edu/math/diagnosis/service/PaperResultService.java

+ 9 - 6
src/main/java/edu/math/diagnosis/service/PaperResultService.java

@@ -14,7 +14,6 @@ import edu.math.diagnosis.util.ObjectUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -56,8 +55,7 @@ public class PaperResultService {
     @SuppressWarnings("unchecked")
     public Result parseResult(PaperCommit paperCommit, Paper paper) {
         List<Question> questions = paper.getQuestions();
-        List<Answer> answers = ObjectUtil.getGson().fromJson(paperCommit.getJsonAns(), new TypeToken<List<Answer>>() {
-        }.getType());
+        List<Answer> answers = convertAnswer(paperCommit.getJsonAns());
         List<Integer> collectQuestion = new ArrayList<>();
         PaperResult result = new PaperResult();
         result.setPid(paperCommit.getPid());
@@ -144,7 +142,7 @@ public class PaperResultService {
         r.setKnowledgeKeepStatus(ObjectUtil.object2Json(knowledgeKeepStatus(r, paper)));
         r.setUseTime(useTime(paper, commit));
         r.setSectionInfo(sectionInfo(r, paper));
-        paperResultRepo.save(r);
+//        paperResultRepo.save(r);
     }
 
     /**
@@ -344,7 +342,7 @@ public class PaperResultService {
             Set<Integer> number = tagNumbers.getOrDefault(tag, new HashSet<>());
             Set<String> matter = new HashSet<>();
             //去重
-            number.forEach(n -> matter.addAll(numberMatter.get(n)));
+            number.forEach(n -> matter.addAll(numberMatter.getOrDefault(n, new HashSet<>())));
             vo.setMatter(StringUtils.join(matter, ","));
             vos.add(vo);
         });
@@ -391,7 +389,7 @@ public class PaperResultService {
         for (int i = 1; i <= paper.getQuestionNum(); i++) {
             useTime.put(i, 0L);
         }
-        List<Answer> answers = commit.getAnswers();
+        List<Answer> answers = convertAnswer(commit.getJsonAns());
         Map<Integer, Long> use = answers.stream().collect(Collectors.toMap(Answer::getNumber, Answer::getUseTime));
         for (Map.Entry<Integer, Long> entry : use.entrySet()) {
             useTime.put(entry.getKey(), entry.getValue());
@@ -416,4 +414,9 @@ public class PaperResultService {
         list.add(vo3);
         return ObjectUtil.object2Json(list);
     }
+
+    private List<Answer> convertAnswer(String json){
+        return ObjectUtil.getGson().fromJson(json, new TypeToken<List<Answer>>() {
+        }.getType());
+    }
 }