From d34010bcdba98d6906c3ad0959db3c650ea90239 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 06 六月 2024 11:19:42 +0800
Subject: [PATCH] feat:科目查询、新增、状态、排序、删除、修改
---
src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java | 119 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 60 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
index d5c93e7..dd3e547 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
@@ -3,13 +3,11 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.jxkg.domain.*;
import com.ycl.jxkg.domain.entity.*;
-import com.ycl.jxkg.domain.enums.ExamPaperAnswerStatusEnum;
-import com.ycl.jxkg.domain.enums.ExamPaperTypeEnum;
-import com.ycl.jxkg.domain.enums.QuestionTypeEnum;
-import com.ycl.jxkg.domain.exam.ExamPaperTitleItemObject;
+import com.ycl.jxkg.enums.ExamPaperAnswerStatusEnum;
+import com.ycl.jxkg.enums.ExamPaperTypeEnum;
+import com.ycl.jxkg.enums.QuestionTypeEnum;
import com.ycl.jxkg.domain.other.KeyValue;
import com.ycl.jxkg.domain.other.ExamPaperAnswerUpdate;
-import com.ycl.jxkg.domain.task.TaskItemAnswerObject;
import com.ycl.jxkg.mapper.ExamPaperAnswerMapper;
import com.ycl.jxkg.mapper.ExamPaperMapper;
import com.ycl.jxkg.mapper.QuestionMapper;
@@ -66,27 +64,28 @@
if (null != examPaperAnswer)
return null;
}
- String frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()).getContent();
- List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent, ExamPaperTitleItemObject.class);
- List<Integer> questionIds = examPaperTitleItemObjects.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList());
- List<Question> questions = questionMapper.selectByIds(questionIds);
- //灏嗛鐩粨鏋勭殑杞寲涓洪鐩瓟妗�
- List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperTitleItemObjects.stream()
- .flatMap(t -> t.getQuestionItems().stream()
- .map(q -> {
- Question question = questions.stream().filter(tq -> tq.getId().equals(q.getId())).findFirst().get();
- ExamPaperSubmitItemVO customerQuestionAnswer = examPaperSubmitVO.getAnswerItems().stream()
- .filter(tq -> tq.getQuestionId().equals(q.getId()))
- .findFirst()
- .orElse(null);
- return ExamPaperQuestionCustomerAnswerFromVM(question, customerQuestionAnswer, examPaper, q.getItemOrder(), user, now);
- })
- ).collect(Collectors.toList());
-
- ExamPaperAnswer examPaperAnswer = ExamPaperAnswerFromVM(examPaperSubmitVO, examPaper, examPaperQuestionCustomerAnswers, user, now);
- examPaperAnswerInfo.setExamPaper(examPaper);
- examPaperAnswerInfo.setExamPaperAnswer(examPaperAnswer);
- examPaperAnswerInfo.setExamPaperQuestionCustomerAnswers(examPaperQuestionCustomerAnswers);
+ //TODO:寰呭畬鎴�
+// String frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()).getContent();
+// List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent, ExamPaperTitleItemObject.class);
+// List<Integer> questionIds = examPaperTitleItemObjects.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList());
+// List<Question> questions = questionMapper.selectByIds(questionIds);
+// //灏嗛鐩粨鏋勭殑杞寲涓洪鐩瓟妗�
+// List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperTitleItemObjects.stream()
+// .flatMap(t -> t.getQuestionItems().stream()
+// .map(q -> {
+// Question question = questions.stream().filter(tq -> tq.getId().equals(q.getId())).findFirst().get();
+// ExamPaperSubmitItemVO customerQuestionAnswer = examPaperSubmitVO.getAnswerItems().stream()
+// .filter(tq -> tq.getQuestionId().equals(q.getId()))
+// .findFirst()
+// .orElse(null);
+// return ExamPaperQuestionCustomerAnswerFromVM(question, customerQuestionAnswer, examPaper, q.getItemOrder(), user, now);
+// })
+// ).collect(Collectors.toList());
+//
+// ExamPaperAnswer examPaperAnswer = ExamPaperAnswerFromVM(examPaperSubmitVO, examPaper, examPaperQuestionCustomerAnswers, user, now);
+// examPaperAnswerInfo.setExamPaper(examPaper);
+// examPaperAnswerInfo.setExamPaperAnswer(examPaperAnswer);
+// examPaperAnswerInfo.setExamPaperQuestionCustomerAnswers(examPaperQuestionCustomerAnswers);
return examPaperAnswerInfo;
}
@@ -119,18 +118,19 @@
ExamPaperTypeEnum examPaperTypeEnum = ExamPaperTypeEnum.fromCode(examPaperAnswer.getPaperType());
switch (examPaperTypeEnum) {
case RandomOrder:
+ //TODO:寰呭畬鎴�
//浠诲姟璇曞嵎鎵规敼瀹屾垚鍚庯紝闇�瑕佹洿鏂颁换鍔$殑鐘舵��
- ExamPaper examPaper = examPaperMapper.selectById(examPaperAnswer.getExamPaperId());
- Integer taskId = examPaper.getTaskExamId();
- Integer userId = examPaperAnswer.getCreateUser();
- TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId);
- TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId());
- List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class);
- taskItemAnswerObjects.stream()
- .filter(d -> d.getExamPaperAnswerId().equals(examPaperAnswer.getId()))
- .findFirst().ifPresent(taskItemAnswerObject -> taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()));
- textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null);
- textContentService.updateById(textContent);
+// ExamPaper examPaper = examPaperMapper.selectById(examPaperAnswer.getExamPaperId());
+// Integer taskId = examPaper.getTaskExamId();
+// Integer userId = examPaperAnswer.getCreateUser();
+// TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId);
+// TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId());
+// List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class);
+// taskItemAnswerObjects.stream()
+// .filter(d -> d.getExamPaperAnswerId().equals(examPaperAnswer.getId()))
+// .findFirst().ifPresent(taskItemAnswerObject -> taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()));
+// textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null);
+// textContentService.updateById(textContent);
break;
default:
break;
@@ -186,7 +186,7 @@
ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = new ExamPaperQuestionCustomerAnswer();
examPaperQuestionCustomerAnswer.setQuestionId(question.getId());
examPaperQuestionCustomerAnswer.setExamPaperId(examPaper.getId());
- examPaperQuestionCustomerAnswer.setQuestionScore(question.getScore());
+ examPaperQuestionCustomerAnswer.setQuestionScore(null);
examPaperQuestionCustomerAnswer.setSubjectId(examPaper.getSubjectId());
examPaperQuestionCustomerAnswer.setItemOrder(itemOrder);
examPaperQuestionCustomerAnswer.setCreateTime(now);
@@ -215,13 +215,13 @@
case TrueFalse:
examPaperQuestionCustomerAnswer.setAnswer(customerQuestionAnswer.getContent());
examPaperQuestionCustomerAnswer.setDoRight(question.getCorrect().equals(customerQuestionAnswer.getContent()));
- examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? question.getScore() : 0);
+ examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? null : 0);
break;
case MultipleChoice:
String customerAnswer = ExamUtil.contentToString(customerQuestionAnswer.getContentArray());
examPaperQuestionCustomerAnswer.setAnswer(customerAnswer);
examPaperQuestionCustomerAnswer.setDoRight(customerAnswer.equals(question.getCorrect()));
- examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? question.getScore() : 0);
+ examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? null : 0);
break;
case GapFilling:
String correctAnswer = JsonUtil.toJsonStr(customerQuestionAnswer.getContentArray());
@@ -239,25 +239,26 @@
Integer systemScore = examPaperQuestionCustomerAnswers.stream().mapToInt(a -> a.getCustomerScore()).sum();
long questionCorrect = examPaperQuestionCustomerAnswers.stream().filter(a -> a.getCustomerScore().equals(a.getQuestionScore())).count();
ExamPaperAnswer examPaperAnswer = new ExamPaperAnswer();
- examPaperAnswer.setPaperName(examPaper.getName());
- examPaperAnswer.setDoTime(examPaperSubmitVO.getDoTime());
- examPaperAnswer.setExamPaperId(examPaper.getId());
- examPaperAnswer.setCreateUser(user.getId());
- examPaperAnswer.setCreateTime(now);
- examPaperAnswer.setSubjectId(examPaper.getSubjectId());
- examPaperAnswer.setQuestionCount(examPaper.getQuestionCount());
- examPaperAnswer.setPaperScore(examPaper.getScore());
- examPaperAnswer.setPaperType(examPaper.getPaperType());
- examPaperAnswer.setSystemScore(systemScore);
- examPaperAnswer.setUserScore(systemScore);
- examPaperAnswer.setTaskExamId(examPaper.getTaskExamId());
- examPaperAnswer.setQuestionCorrect((int) questionCorrect);
- boolean needJudge = examPaperQuestionCustomerAnswers.stream().anyMatch(d -> QuestionTypeEnum.needSaveTextContent(d.getQuestionType()));
- if (needJudge) {
- examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.WaitJudge.getCode());
- } else {
- examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.Complete.getCode());
- }
+ //TODO:寰呭畬鎴�
+// examPaperAnswer.setPaperName(examPaper.getName());
+// examPaperAnswer.setDoTime(examPaperSubmitVO.getDoTime());
+// examPaperAnswer.setExamPaperId(examPaper.getId());
+// examPaperAnswer.setCreateUser(user.getId());
+// examPaperAnswer.setCreateTime(now);
+// examPaperAnswer.setSubjectId(examPaper.getSubjectId());
+// examPaperAnswer.setQuestionCount(examPaper.getQuestionCount());
+// examPaperAnswer.setPaperScore(examPaper.getScore());
+// examPaperAnswer.setPaperType(examPaper.getPaperType());
+// examPaperAnswer.setSystemScore(systemScore);
+// examPaperAnswer.setUserScore(systemScore);
+// examPaperAnswer.setTaskExamId(examPaper.getTaskExamId());
+// examPaperAnswer.setQuestionCorrect((int) questionCorrect);
+// boolean needJudge = examPaperQuestionCustomerAnswers.stream().anyMatch(d -> QuestionTypeEnum.needSaveTextContent(d.getQuestionType()));
+// if (needJudge) {
+// examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.WaitJudge.getCode());
+// } else {
+// examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.Complete.getCode());
+// }
return examPaperAnswer;
}
--
Gitblit v1.8.0