From 93af1c6ffb9ae0e894689ad3a37b548e57d54cff Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期四, 11 三月 2021 19:10:07 +0800 Subject: [PATCH] 有注释的测评系统业务代码 --- src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java index a8169fd..11a5dcd 100644 --- a/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java +++ b/src/main/java/com/ots/project/exam/listener/CalculateExamPaperAnswerListener.java @@ -1,4 +1,5 @@ package com.ots.project.exam.listener; + import com.ots.common.enums.ExamPaperTypeEnum; import com.ots.common.enums.QuestionTypeEnum; import com.ots.project.exam.domain.ExamPaperAnswer; @@ -15,28 +16,40 @@ import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; + import java.util.Date; import java.util.List; + +/** + * @author OTS + */ @Component @AllArgsConstructor public class CalculateExamPaperAnswerListener implements ApplicationListener<CalculateExamPaperAnswerCompleteEvent> { + @Autowired private ExamPaperAnswerService examPaperAnswerService; + @Autowired private ExamPaperQuestionCustomerAnswerService examPaperQuestionCustomerAnswerService; + @Autowired private ITTextContentService textContentService; + @Autowired private TaskExamCustomerAnswerService examCustomerAnswerService; + @Override @Transactional public void onApplicationEvent(CalculateExamPaperAnswerCompleteEvent calculateExamPaperAnswerCompleteEvent) { Date now = new Date(); + ExamPaperAnswerInfo examPaperAnswerInfo = (ExamPaperAnswerInfo) calculateExamPaperAnswerCompleteEvent.getSource(); TExamPaper examPaper = examPaperAnswerInfo.getExamPaper(); ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer(); List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperAnswerInfo.getExamPaperQuestionCustomerAnswers(); + examPaperAnswerService.insertByFilter(examPaperAnswer); examPaperQuestionCustomerAnswers.stream().filter(a -> QuestionTypeEnum.needSaveTextContent(a.getQuestionType())).forEach(d -> { TTextContent textContent = new TTextContent(d.getAnswer(), now); @@ -48,6 +61,7 @@ d.setExamPaperAnswerId(examPaperAnswer.getId()); }); examPaperQuestionCustomerAnswerService.insertList(examPaperQuestionCustomerAnswers); + switch (ExamPaperTypeEnum.fromCode(examPaper.getPaperType().intValue())) { case Task: { examCustomerAnswerService.insertOrUpdate(examPaper, examPaperAnswer, now); -- Gitblit v1.9.1