From 03f1e635215bdefd1b649a10675278567b5b8800 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 15 三月 2024 11:01:18 +0800
Subject: [PATCH] 试卷不返回答案,空指针修复
---
src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperController.java | 6
src/main/java/com/mindskip/xzs/service/QuestionService.java | 5
src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperReadVO.java | 11 +
src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java | 8
src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java | 8
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java | 9
src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionEditRequestVM.java | 4
src/main/java/com/mindskip/xzs/viewmodel/student/question/answer/QuestionAnswerVO.java | 14 ++
src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java | 12 -
src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 23 ++-
src/main/java/com/mindskip/xzs/service/ExamPaperService.java | 3
src/main/java/com/mindskip/xzs/viewmodel/admin/question/ExamQuestionVO.java | 48 ++++++++
src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java | 51 ++++----
src/main/java/com/mindskip/xzs/domain/enums/QuestionTypeEnum.java | 12 -
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java | 5
src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java | 5
src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVO.java | 52 ++++++++
src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperTitleItemVO.java | 19 +++
src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperAnswerController.java | 8
19 files changed, 225 insertions(+), 78 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
index f07bf1c..3a9c4f1 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperController.java
@@ -13,6 +13,7 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.utility.excel.ExcelUtils;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamResponseVM;
@@ -77,7 +78,7 @@
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
+ public RestResponse<ExamPaperEditRequestVO> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray();
Integer[] userIds = new Integer[obj.length];
for(int i = 0;i<obj.length;i++) {
@@ -85,13 +86,13 @@
}
model.setUserIds(userIds);
ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser());
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
return RestResponse.ok(newVM);
}
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) {
- ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id);
+ public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) {
+ ExamPaperEditRequestVO vm = examPaperService.examPaperToVM(id);
return RestResponse.ok(vm);
}
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java b/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
index b9c60e0..dec03bc 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
@@ -90,9 +90,8 @@
}
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<QuestionEditRequestVM> select(@PathVariable Integer id) {
- QuestionEditRequestVM newVM = questionService.getQuestionEditRequestVM(id);
- return RestResponse.ok(newVM);
+ public RestResponse<ExamQuestionVO> select(@PathVariable Integer id) {
+ return RestResponse.ok(questionService.getQuestionEditRequestVM(id));
}
diff --git a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
index 32717f9..3fb94ec 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperAnswerController.java
@@ -11,7 +11,9 @@
import com.mindskip.xzs.utility.ExamUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperReadVM;
+import com.mindskip.xzs.viewmodel.student.exam.ExamPaperReadVO;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
@@ -123,10 +125,10 @@
}
@RequestMapping(value = "/read/{id}", method = RequestMethod.POST)
- public RestResponse<ExamPaperReadVM> read(@PathVariable Integer id) {
+ public RestResponse<ExamPaperReadVO> read(@PathVariable Integer id) {
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(id);
- ExamPaperReadVM vm = new ExamPaperReadVM();
- ExamPaperEditRequestVM paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
+ ExamPaperReadVO vm = new ExamPaperReadVO();
+ ExamPaperEditRequestVO paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
ExamPaperSubmitVM answer = examPaperAnswerService.examPaperAnswerToVM(examPaperAnswer.getId());
vm.setPaper(paper);
vm.setAnswer(answer);
diff --git a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java
index 35210ad..7dd6d8f 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/ExamPaperController.java
@@ -13,6 +13,7 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageResponseVM;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM;
import com.github.pagehelper.PageInfo;
@@ -46,9 +47,8 @@
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) {
- ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id);
- return RestResponse.ok(vm);
+ public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) {
+ return RestResponse.ok(examPaperService.examPaperToVM(id));
}
@@ -85,7 +85,7 @@
}
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
+ public RestResponse<ExamPaperEditRequestVO> edit(@RequestBody @Valid ExamPaperEditRequestVM model) throws Exception {
ExamPaperUser examPaperUser = new ExamPaperUser();
User user = getCurrentUser();
model.setDepartmentIds(new Integer[0]);
@@ -97,8 +97,6 @@
examPaperUser.setDeleted("0");
examPaperUserService.add(examPaperUser);
-
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
- return RestResponse.ok(newVM);
+ return RestResponse.ok(examPaperService.examPaperToVM(examPaper.getId()));
}
}
diff --git a/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java b/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
index a703e38..8e13452 100644
--- a/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
+++ b/src/main/java/com/mindskip/xzs/controller/student/QuestionAnswerController.java
@@ -9,9 +9,11 @@
import com.mindskip.xzs.utility.HtmlUtil;
import com.mindskip.xzs.utility.JsonUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitItemVM;
import com.mindskip.xzs.viewmodel.student.question.answer.QuestionAnswerVM;
+import com.mindskip.xzs.viewmodel.student.question.answer.QuestionAnswerVO;
import com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentRequestVM;
import com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentResponseVM;
import com.github.pagehelper.PageInfo;
@@ -67,11 +69,11 @@
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<QuestionAnswerVM> select(@PathVariable Integer id) {
- QuestionAnswerVM vm = new QuestionAnswerVM();
+ public RestResponse<QuestionAnswerVO> select(@PathVariable Integer id) {
+ QuestionAnswerVO vm = new QuestionAnswerVO();
ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = examPaperQuestionCustomerAnswerService.selectById(id);
ExamPaperSubmitItemVM questionAnswerVM = examPaperQuestionCustomerAnswerService.examPaperQuestionCustomerAnswerToVM(examPaperQuestionCustomerAnswer);
- QuestionEditRequestVM questionVM = questionService.getQuestionEditRequestVM(examPaperQuestionCustomerAnswer.getQuestionId());
+ ExamQuestionVO questionVM = questionService.getQuestionEditRequestVM(examPaperQuestionCustomerAnswer.getQuestionId());
vm.setQuestionVM(questionVM);
vm.setQuestionAnswerVM(questionAnswerVM);
return RestResponse.ok(vm);
diff --git a/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperAnswerController.java b/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperAnswerController.java
index f1b747e..38e7f22 100644
--- a/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperAnswerController.java
+++ b/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperAnswerController.java
@@ -13,6 +13,8 @@
import com.mindskip.xzs.utility.ExamUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
+import com.mindskip.xzs.viewmodel.student.exam.ExamPaperReadVO;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM;
import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
import com.github.pagehelper.PageInfo;
@@ -123,10 +125,10 @@
@PostMapping(value = "/read/{id}")
- public RestResponse<ExamPaperReadVM> read(@PathVariable Integer id) {
- ExamPaperReadVM vm = new ExamPaperReadVM();
+ public RestResponse<ExamPaperReadVO> read(@PathVariable Integer id) {
+ ExamPaperReadVO vm = new ExamPaperReadVO();
ExamPaperAnswer examPaperAnswer = examPaperAnswerService.selectById(id);
- ExamPaperEditRequestVM paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
+ ExamPaperEditRequestVO paper = examPaperService.examPaperToVM(examPaperAnswer.getExamPaperId());
ExamPaperSubmitVM answer = examPaperAnswerService.examPaperAnswerToVM(examPaperAnswer.getId());
vm.setPaper(paper);
vm.setAnswer(answer);
diff --git a/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperController.java b/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperController.java
index 37f7df0..969ae02 100644
--- a/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperController.java
+++ b/src/main/java/com/mindskip/xzs/controller/wx/student/ExamPaperController.java
@@ -9,6 +9,7 @@
import com.mindskip.xzs.utility.DateTimeUtil;
import com.mindskip.xzs.utility.PageInfoHelper;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageResponseVM;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM;
import com.github.pagehelper.PageInfo;
@@ -35,9 +36,8 @@
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
- public RestResponse<ExamPaperEditRequestVM> select(@PathVariable Integer id) {
- ExamPaperEditRequestVM vm = examPaperService.examPaperToVM(id);
- return RestResponse.ok(vm);
+ public RestResponse<ExamPaperEditRequestVO> select(@PathVariable Integer id) {
+ return RestResponse.ok(examPaperService.examPaperToVM(id));
}
diff --git a/src/main/java/com/mindskip/xzs/domain/enums/QuestionTypeEnum.java b/src/main/java/com/mindskip/xzs/domain/enums/QuestionTypeEnum.java
index 7605048..2b21e84 100644
--- a/src/main/java/com/mindskip/xzs/domain/enums/QuestionTypeEnum.java
+++ b/src/main/java/com/mindskip/xzs/domain/enums/QuestionTypeEnum.java
@@ -12,8 +12,8 @@
GapFilling(4, "濉┖棰�"),
ShortAnswer(5, "绠�绛旈");
- int code;
- String name;
+ public final Integer code;
+ public final String name;
QuestionTypeEnum(int code, String name) {
this.code = code;
@@ -61,16 +61,8 @@
return code;
}
- public void setCode(int code) {
- this.code = code;
- }
-
public String getName() {
return name;
- }
-
- public void setName(String name) {
- this.name = name;
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
index 4eef7e7..3fd1186 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperService.java
@@ -4,6 +4,7 @@
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.vo.PaperExcelVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo;
@@ -23,7 +24,7 @@
ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, User user) throws Exception;
- ExamPaperEditRequestVM examPaperToVM(Integer id);
+ ExamPaperEditRequestVO examPaperToVM(Integer id);
List<PaperInfo> indexPaper(PaperFilter paperFilter);
diff --git a/src/main/java/com/mindskip/xzs/service/QuestionService.java b/src/main/java/com/mindskip/xzs/service/QuestionService.java
index 1446c12..ec59eaa 100644
--- a/src/main/java/com/mindskip/xzs/service/QuestionService.java
+++ b/src/main/java/com/mindskip/xzs/service/QuestionService.java
@@ -1,6 +1,7 @@
package com.mindskip.xzs.service;
import com.mindskip.xzs.domain.Question;
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM;
import com.github.pagehelper.PageInfo;
@@ -16,9 +17,9 @@
Question updateFullQuestion(QuestionEditRequestVM model);
- QuestionEditRequestVM getQuestionEditRequestVM(Integer questionId);
+ ExamQuestionVO getQuestionEditRequestVM(Integer questionId);
- QuestionEditRequestVM getQuestionEditRequestVM(Question question);
+ ExamQuestionVO getQuestionEditRequestVM(Question question);
Integer selectAllCount();
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
index 9d80ead..7186bd1 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java
@@ -18,10 +18,8 @@
import com.mindskip.xzs.utility.JsonUtil;
import com.mindskip.xzs.utility.ModelMapperSingle;
import com.mindskip.xzs.utility.ExamUtil;
-import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
-import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
-import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperTitleItemVM;
-import com.mindskip.xzs.viewmodel.admin.exam.QuestionTypeVM;
+import com.mindskip.xzs.viewmodel.admin.exam.*;
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo;
@@ -32,6 +30,7 @@
import com.mindskip.xzs.domain.Question;
import com.mindskip.xzs.domain.User;
import org.modelmapper.ModelMapper;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -151,9 +150,9 @@
}
@Override
- public ExamPaperEditRequestVM examPaperToVM(Integer id) {
+ public ExamPaperEditRequestVO examPaperToVM(Integer id) {
ExamPaper examPaper = examPaperMapper.selectByPrimaryKey(id);
- ExamPaperEditRequestVM vm = modelMapper.map(examPaper, ExamPaperEditRequestVM.class);
+ ExamPaperEditRequestVO vm = modelMapper.map(examPaper, ExamPaperEditRequestVO.class);
vm.setLevel(examPaper.getGradeLevel());
vm.setMenuIds(examPaper.getUserIds());
TextContent frameTextContent = textContentService.selectById(examPaper.getFrameTextContentId());
@@ -172,11 +171,12 @@
Integer order = 0;
Set<Integer> generatedNumbers = new HashSet<>();
Random random = new Random();
- List<ExamPaperTitleItemVM> examPaperTitleItemVMS = examPaperTitleItemObjects.stream().map(t -> {
- ExamPaperTitleItemVM tTitleVM = modelMapper.map(t, ExamPaperTitleItemVM.class);
- List<QuestionEditRequestVM> questionItemsVM = t.getQuestionItems().stream().map(i -> {
+ List<ExamPaperTitleItemVO> examPaperTitleItemVMS = examPaperTitleItemObjects.stream().map(t -> {
+ ExamPaperTitleItemVO tTitleVM = new ExamPaperTitleItemVO();
+ BeanUtils.copyProperties(t, tTitleVM);
+ List<ExamQuestionVO> questionItemsVM = t.getQuestionItems().stream().map(i -> {
Question question = questions.stream().filter(q -> q.getId().equals(i.getId())).findFirst().get();
- QuestionEditRequestVM questionEditRequestVM = questionService.getQuestionEditRequestVM(question);
+ ExamQuestionVO questionEditRequestVM = questionService.getQuestionEditRequestVM(question);
questionEditRequestVM.setTitle("(" + QuestionTypeEnum.fromCode(questionEditRequestVM.getQuestionType()).getName() + ") " + questionEditRequestVM.getTitle());
questionEditRequestVM.setItemOrder(generateRandomNumber(questionEditRequestVM.getQuestionType() == 1 ? 0 : ((questionEditRequestVM.getQuestionType() == 2 ? singleChoice : multipleChoice + singleChoice)),
questionEditRequestVM.getQuestionType() == 1 ? singleChoice : ((questionEditRequestVM.getQuestionType() == 2 ? multipleChoice + singleChoice : trueFalse + multipleChoice + singleChoice)),
@@ -184,7 +184,7 @@
// questionEditRequestVM.setItemOrder(getRandomNumber(t.getQuestionItems().size() - 1, generatedNumbers, random));
return questionEditRequestVM;
- }).sorted(Comparator.comparing(QuestionEditRequestVM::getItemOrder))
+ }).sorted(Comparator.comparing(ExamQuestionVO::getItemOrder))
.collect(Collectors.toList());
tTitleVM.setQuestionItems(questionItemsVM);
return tTitleVM;
@@ -360,6 +360,7 @@
int remainingScore = totalScore;
for (int i = 0; i < quantity - 1; i++) {
+ // 濡傛灉棰樻暟閲忚秴杩囦簡棰樺簱鏁伴噺锛屾姤閿�
if (i >= scoresMap.size()) {
throw new QuestionException();
}
diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
index d2ebc94..1c2a337 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -11,6 +11,7 @@
import com.mindskip.xzs.service.ExamTemplatesUserCountService;
import com.mindskip.xzs.utility.convert.ExamTemplatesClassConvert;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperTitleItemVM;
import com.mindskip.xzs.viewmodel.admin.exam.QuestionTypeVM;
import lombok.extern.slf4j.Slf4j;
@@ -147,7 +148,7 @@
vm.setType("1");
vm.setId(null);
ExamPaper examPaper = examPaperService.savePaperFromVM(vm, user);
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
count.setExamPaperId(examPaper.getId());
count.setUserId(user.getId());
examTemplatesUserCountService.add(count);
@@ -166,7 +167,7 @@
vm.setType("1");
vm.setId(null);
ExamPaper examPaper = examPaperService.savePaperFromVM(vm, user);
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
// count.setExamPaperId(examPaper.getId());
// count.setUserId(user.getId());
// examTemplatesUserCountService.add(count);
diff --git a/src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java
index 245f919..98e5ac6 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/QuestionServiceImpl.java
@@ -19,6 +19,7 @@
import com.mindskip.xzs.utility.ModelMapperSingle;
import com.mindskip.xzs.utility.ExamUtil;
import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM;
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditItemVM;
import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.question.QuestionPageRequestVM;
@@ -132,7 +133,7 @@
}
@Override
- public QuestionEditRequestVM getQuestionEditRequestVM(Integer questionId) {
+ public ExamQuestionVO getQuestionEditRequestVM(Integer questionId) {
//棰樼洰鏄犲皠
Question question = questionMapper.selectByPrimaryKey(questionId);
List<QuestionSubject> list = questionSubjectService.getQuestion(questionId).stream().map(e->{
@@ -141,41 +142,41 @@
e.setSubName(subjectMapper.page(subject).get(0).getName());
return e;
}).collect(Collectors.toList());
- QuestionEditRequestVM questionEditRequestVM = getQuestionEditRequestVM(question);
+ ExamQuestionVO questionEditRequestVM = getQuestionEditRequestVM(question);
questionEditRequestVM.setQuestionSubjects(list);
return questionEditRequestVM;
}
@Override
- public QuestionEditRequestVM getQuestionEditRequestVM(Question question) {
+ public ExamQuestionVO getQuestionEditRequestVM(Question question) {
//棰樼洰鏄犲皠
TextContent questionInfoTextContent = textContentService.selectById(question.getInfoTextContentId());
QuestionObject questionObject = JsonUtil.toJsonObject(questionInfoTextContent.getContent(), QuestionObject.class);
- QuestionEditRequestVM questionEditRequestVM = modelMapper.map(question, QuestionEditRequestVM.class);
+ ExamQuestionVO questionEditRequestVM = modelMapper.map(question, ExamQuestionVO.class);
questionEditRequestVM.setTitle(questionObject.getTitleContent());
//绛旀
- QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(question.getQuestionType());
- switch (questionTypeEnum) {
- case SingleChoice:
- case TrueFalse:
- questionEditRequestVM.setCorrect(question.getCorrect());
- break;
- case MultipleChoice:
- questionEditRequestVM.setCorrectArray(ExamUtil.contentToArray(question.getCorrect()));
- break;
- case GapFilling:
- List<String> correctContent = questionObject.getQuestionItemObjects().stream().map(d -> d.getContent()).collect(Collectors.toList());
- questionEditRequestVM.setCorrectArray(correctContent);
- break;
- case ShortAnswer:
- questionEditRequestVM.setCorrect(questionObject.getCorrect());
- break;
- default:
- break;
- }
- questionEditRequestVM.setScore(ExamUtil.scoreToVM(question.getScore()));
- questionEditRequestVM.setAnalyze(questionObject.getAnalyze());
+// QuestionTypeEnum questionTypeEnum = QuestionTypeEnum.fromCode(question.getQuestionType());
+// switch (questionTypeEnum) {
+// case SingleChoice:
+// case TrueFalse:
+// questionEditRequestVM.setCorrect(question.getCorrect());
+// break;
+// case MultipleChoice:
+// questionEditRequestVM.setCorrectArray(ExamUtil.contentToArray(question.getCorrect()));
+// break;
+// case GapFilling:
+// List<String> correctContent = questionObject.getQuestionItemObjects().stream().map(d -> d.getContent()).collect(Collectors.toList());
+// questionEditRequestVM.setCorrectArray(correctContent);
+// break;
+// case ShortAnswer:
+// questionEditRequestVM.setCorrect(questionObject.getCorrect());
+// break;
+// default:
+// break;
+// }
+// questionEditRequestVM.setScore(ExamUtil.scoreToVM(question.getScore()));
+// questionEditRequestVM.setAnalyze(questionObject.getAnalyze());
//棰樼洰椤规槧灏�
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVO.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVO.java
new file mode 100644
index 0000000..460d271
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperEditRequestVO.java
@@ -0,0 +1,52 @@
+package com.mindskip.xzs.viewmodel.admin.exam;
+
+
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class ExamPaperEditRequestVO {
+ private Integer id;
+// @NotNull
+ private Integer level;
+// @NotNull
+ private Integer[] subjectId;
+ private Integer paperType;
+ private String name;
+ private Integer suggestTime;
+
+ /**
+ * 鍙戝竷璇曞嵎閮ㄩ棬
+ */
+ private Integer deptId;
+
+ private List<String> limitDateTime;
+
+ private List<ExamPaperTitleItemVO> titleItems;
+
+ private String score;
+
+ //閮ㄩ棬ids
+ private Integer[] departmentIds;
+
+ private Integer[] userIds;
+
+ private Map<Integer,Integer> subjectSource;
+
+ //闅忔満璇曞嵎鍚勪釜鏍囩棰樺瀷鏁伴噺
+ private List<QuestionTypeVM> questionTypeVMS;
+
+ private Integer aggregateSource;
+
+ private Integer[][] userId;
+ private String type;
+ private String status;
+ private String menuIds;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperTitleItemVO.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperTitleItemVO.java
new file mode 100644
index 0000000..5581747
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/exam/ExamPaperTitleItemVO.java
@@ -0,0 +1,19 @@
+package com.mindskip.xzs.viewmodel.admin.exam;
+
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
+import com.mindskip.xzs.viewmodel.admin.question.QuestionEditRequestVM;
+import lombok.Data;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+@Data
+public class ExamPaperTitleItemVO {
+
+ private String name;
+
+ // @Size(min = 1,message = "璇锋坊鍔犻鐩�")
+ private List<ExamQuestionVO> questionItems;
+}
+
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/question/ExamQuestionVO.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/question/ExamQuestionVO.java
new file mode 100644
index 0000000..8e0b895
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/question/ExamQuestionVO.java
@@ -0,0 +1,48 @@
+package com.mindskip.xzs.viewmodel.admin.question;
+
+import com.mindskip.xzs.domain.QuestionSubject;
+import lombok.Data;
+import java.util.List;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/3/15 10:35
+ */
+@Data
+public class ExamQuestionVO {
+
+ private Integer id;
+
+ /**
+ * 棰樼洰绫诲瀷
+ */
+ private Integer questionType;
+
+ /**
+ * 璇剧洰
+ */
+ private Integer subjectId;
+
+ /**
+ * 棰樺共
+ */
+ private String title;
+
+ private String sbNames;
+
+ private List<QuestionSubject> questionSubjects;
+
+ //绛旀
+ private List<QuestionEditItemVM> items;
+
+ private Integer itemOrder;
+
+ private String department;
+
+
+ private String a;
+ private String b;
+ private String c;
+ private String d;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionEditRequestVM.java b/src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionEditRequestVM.java
index 55a2600..9ab912f 100644
--- a/src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionEditRequestVM.java
+++ b/src/main/java/com/mindskip/xzs/viewmodel/admin/question/QuestionEditRequestVM.java
@@ -47,6 +47,8 @@
private String department;
+ private List<QuestionSubject> questionSubjects;
+
private String a;
private String b;
@@ -61,7 +63,7 @@
this.department = department;
}
- private List<QuestionSubject> questionSubjects;
+
public List<QuestionSubject> getQuestionSubjects() {
return questionSubjects;
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperReadVO.java b/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperReadVO.java
new file mode 100644
index 0000000..c68d990
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/viewmodel/student/exam/ExamPaperReadVO.java
@@ -0,0 +1,11 @@
+package com.mindskip.xzs.viewmodel.student.exam;
+
+import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
+import lombok.Data;
+
+@Data
+public class ExamPaperReadVO {
+ private ExamPaperEditRequestVO paper;
+ private ExamPaperSubmitVM answer;
+
+}
diff --git a/src/main/java/com/mindskip/xzs/viewmodel/student/question/answer/QuestionAnswerVO.java b/src/main/java/com/mindskip/xzs/viewmodel/student/question/answer/QuestionAnswerVO.java
new file mode 100644
index 0000000..bbe9b12
--- /dev/null
+++ b/src/main/java/com/mindskip/xzs/viewmodel/student/question/answer/QuestionAnswerVO.java
@@ -0,0 +1,14 @@
+package com.mindskip.xzs.viewmodel.student.question.answer;
+
+import com.mindskip.xzs.viewmodel.admin.question.ExamQuestionVO;
+import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitItemVM;
+import lombok.Data;
+
+@Data
+public class QuestionAnswerVO {
+
+ private ExamQuestionVO questionVM;
+
+ private ExamPaperSubmitItemVM questionAnswerVM;
+
+}
--
Gitblit v1.8.0