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 |   43 ++++++++++++++++++++++---------------------
 1 files changed, 22 insertions(+), 21 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 d2ebc94..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,28 +5,19 @@
 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;
 import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperTitleItemVM;
 import com.mindskip.xzs.viewmodel.admin.exam.QuestionTypeVM;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-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
@@ -40,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;
@@ -50,6 +42,7 @@
         this.examPaperService = examPaperService;
         this.examTemplatesUserCountService = examTemplatesUserCountService;
         this.examTemplatesUserMapper = examTemplatesUserMapper;
+        this.examTemplatesConfigService = examTemplatesConfigService;
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -76,14 +69,11 @@
         examTemplates.setTitleName(model.getTitleItems().get(0).getName());
         examTemplates.setStatus(model.getStatus());
         examTemplates.setMenuIds(model.getMenuIds());
+        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 +96,17 @@
                 examTemplatesUserMapper.add(templatesUser);
             }
         }
+    }
+
+    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
@@ -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);

--
Gitblit v1.8.0