From 3ec909b27b3eba956aa9d00cc7a94c179bd04bbf Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 03 七月 2024 18:29:31 +0800
Subject: [PATCH] feat:新增随机时间题目配置

---
 src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

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 c0f8753..8f7bf10 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -5,10 +5,7 @@
 import com.mindskip.xzs.domain.*;
 import com.mindskip.xzs.domain.vo.ExamTemplatesVO;
 import com.mindskip.xzs.repository.*;
-import com.mindskip.xzs.service.DepartmentService;
-import com.mindskip.xzs.service.ExamPaperService;
-import com.mindskip.xzs.service.ExamTemplatesService;
-import com.mindskip.xzs.service.ExamTemplatesUserCountService;
+import com.mindskip.xzs.service.*;
 import com.mindskip.xzs.utility.convert.ExamTemplatesClassConvert;
 import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
 import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVO;
@@ -20,10 +17,7 @@
 import org.springframework.util.CollectionUtils;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -37,8 +31,9 @@
     private final ExamPaperService examPaperService;
     private final ExamTemplatesUserCountService examTemplatesUserCountService;
     private final ExamTemplatesUserMapper examTemplatesUserMapper;
+    private final ExamTemplatesConfigService examTemplatesConfigService;
 
-    public ExamTemplatesServiceImpl(BaseMapper<ExamTemplates> baseMapper, ExamTemplatesMapper examTemplatesMapper, ExamTemplatesQuestionMapper examTemplatesQuestionMapper, ExamTemplatesSubjectMapper examTemplatesSubjectMapper, DepartmentService departmentService, ExamPaperService examPaperService, ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesUserMapper examTemplatesUserMapper) {
+    public ExamTemplatesServiceImpl(BaseMapper<ExamTemplates> baseMapper, ExamTemplatesMapper examTemplatesMapper, ExamTemplatesQuestionMapper examTemplatesQuestionMapper, ExamTemplatesSubjectMapper examTemplatesSubjectMapper, DepartmentService departmentService, ExamPaperService examPaperService, ExamTemplatesUserCountService examTemplatesUserCountService, ExamTemplatesUserMapper examTemplatesUserMapper, ExamTemplatesConfigService examTemplatesConfigService) {
         super(baseMapper);
         this.examTemplatesMapper = examTemplatesMapper;
         this.examTemplatesQuestionMapper = examTemplatesQuestionMapper;
@@ -47,6 +42,7 @@
         this.examPaperService = examPaperService;
         this.examTemplatesUserCountService = examTemplatesUserCountService;
         this.examTemplatesUserMapper = examTemplatesUserMapper;
+        this.examTemplatesConfigService = examTemplatesConfigService;
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -76,12 +72,8 @@
         examTemplates.setCreateUser(model.getCreateUser());
         examTemplatesMapper.add(examTemplates);
 
-        List<ExamTemplatesQuestion> examTemplatesQuestions = ExamTemplatesClassConvert.INSTANCE.QuestionTypeVMListToExamTemplatesQuestionList(model.getQuestionTypeVMS())
-                .stream().map(e -> {
-                    e.setTemplatesId(examTemplates.getId());
-                    return e;
-                }).collect(Collectors.toList());
-        examTemplatesQuestionMapper.saves(examTemplatesQuestions);
+        // 闅忔満鏃堕棿棰樼洰閰嶇疆
+        examTemplatesQuestionMapper.add(getExamTemplatesQuestion(examTemplates.getId()));
 
         List<ExamTemplatesSubject> subjects = new ArrayList<>();
         for (Integer e : model.getSubjectId()) {
@@ -106,6 +98,17 @@
         }
     }
 
+    private ExamTemplatesQuestion getExamTemplatesQuestion(Integer templatesId) {
+        ExamTemplatesConfig examTemplatesConfig = examTemplatesConfigService.getConfig();
+        if (Objects.isNull(examTemplatesConfig)) { throw new RuntimeException("璇峰厛閰嶇疆璇曞嵎妯℃澘"); }
+        ExamTemplatesQuestion examTemplatesQuestion = new ExamTemplatesQuestion();
+        examTemplatesQuestion.setSingleChoice(examTemplatesConfig.getRadioNum().toString());
+        examTemplatesQuestion.setMultipleChoice(examTemplatesConfig.getCheckNum().toString());
+        examTemplatesQuestion.setTrueFalse(examTemplatesConfig.getJudgingNum().toString());
+        examTemplatesQuestion.setTemplatesId(templatesId);
+        return examTemplatesQuestion;
+    }
+
     @Override
     public List<ExamTemplatesVO> list(ExamTemplatesVO examTemplatesVO) {
         return null;

--
Gitblit v1.8.0