Selaa lähdekoodia

修改jpa自动保存

4228306 5 vuotta sitten
vanhempi
commit
7537f60c56

+ 2 - 2
deploy.sh

@@ -4,6 +4,6 @@ docker build -t feick/diagnosis:$date .
 echo "current tag is $date"
 sed -i "s/\${date}/$(echo $date)/g" deployment.yaml
 kubectl apply -f deployment.yaml
-#sed -i "s/\${date}/$(echo $date)/g" deployment-prod.yaml
-#kubectl apply -f deployment-prod.yaml
+sed -i "s/\${date}/$(echo $date)/g" deployment-prod.yaml
+kubectl apply -f deployment-prod.yaml
 echo "build finish."

+ 5 - 0
src/main/java/com/yaoxiang/diagnosis/service/PaperResultService.java

@@ -74,6 +74,7 @@ public class PaperResultService {
         result.setName(paperCommit.getName());
         result.setUid(paperCommit.getUid());
         result.setCode(paperCommit.getCode());
+        logger.info("commit paper,pid={},uid={},answer={}", paperCommit.getPid(), paperCommit.getUid(), paperCommit.getJsonAns());
 //        result.setScore(0d);
 //        result.setJsonScore("");
 //        result.setCollectQuestion("");
@@ -93,6 +94,7 @@ public class PaperResultService {
 //            Answer a = answers.stream().filter(answer -> answer.getNumber() == q.getNumber())
 //                    .findFirst().orElse(null);
             Answer a = mapAnswers.getOrDefault(q.getNumber(), null);
+            logger.info("number={},answer={},options={}", q.getNumber(), ans, a.getOptions());
             if (a == null || StringUtils.isBlank(a.getOptions())) {
                 String options = a == null ? "" : a.getOptions();
                 Long useTime = a == null ? 0L : a.getUseTime() == null ? 0L : a.getUseTime();
@@ -120,10 +122,13 @@ public class PaperResultService {
         }
         //对的选项进行升序排序
         collectQuestion.sort(Integer::compareTo);
+        logger.info("collect question={}", collectQuestion);
+        logger.info("answer contrasts={}", contrasts);
         result.setWrongAnswerContrast(ObjectUtil.object2Json(contrasts));
         result.setCollectQuestion(StringUtils.join(collectQuestion, ","));
         //错误选项
         List<Integer> wrongQuestions = generateWrongQuestion(paper, collectQuestion);
+        logger.info("wrong question={}", wrongQuestions);
         result.setWrongQuestion(StringUtils.join(wrongQuestions, ","));
         result.setJsonScore(ObjectUtil.object2Json(pData));
         //转换分数为百分制

+ 9 - 4
src/main/java/com/yaoxiang/diagnosis/service/PaperService.java

@@ -106,18 +106,21 @@ public class PaperService {
         List<Question> questions = questionRepo.findByPidOrderBySectionAscNumberAsc(id);
         List<Section> sections = sectionService.findByPid(id);
         paper.setSections(sections);
-        paper.setQuestions(questions);
+//        paper.setQuestions(questions);
         List<Long> qids = questions.stream().map(Question::getId).collect(Collectors.toList());
         //一次查出该试卷所有的选项
         List<QuestionOption> options = optionRepo.findByQidIn(qids);
         //然后根据Id进行分组
+        List<Question> qs = new ArrayList<>();
         Map<Long, List<QuestionOption>> group = options.stream().collect(Collectors.groupingBy(QuestionOption::getQid));
         for (Question question : questions) {
+            Question q = ObjectUtil.convert(question, Question.class);
             List<QuestionOption> optionList = group.get(question.getId());
             List<QuestionOption> os = new ArrayList<>();
             //学生要去掉答案
             if (student) {
-                question.setCorrectNum(0);
+                q.setCorrectNum(0);
+                q.setAnswer(null);
                 //避免自动持久化
                 for (QuestionOption o : optionList) {
                     QuestionOption option = new QuestionOption();
@@ -127,11 +130,13 @@ public class PaperService {
                     option.setQid(o.getQid());
                     os.add(option);
                 }
-                question.setOptions(os);
+                q.setOptions(os);
             } else {
-                question.setOptions(optionList);
+                q.setOptions(optionList);
             }
+            qs.add(q);
         }
+        paper.setQuestions(qs);
         return paper;
     }