From d8524dc5ef974bcfacba99128d5e79a268ccdf3f Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 28 十一月 2023 23:39:29 +0800
Subject: [PATCH] 随机案件时间段回显

---
 src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 14 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 4aa2e16..d1da647 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java
@@ -17,7 +17,10 @@
 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;
@@ -57,17 +60,23 @@
         }
 
         ExamTemplates examTemplates = ExamTemplatesClassConvert.INSTANCE.ExamPaperEditRequestVMToExamTemplates(model);
-
-        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        LocalDateTime startTime = LocalDateTime.parse(model.getLimitDateTime().get(0),dateTimeFormatter);
-        LocalDateTime endTime = LocalDateTime.parse(model.getLimitDateTime().get(1),dateTimeFormatter);
-
+        if (!CollectionUtils.isEmpty(model.getLimitDateTime())) {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date startTime = null;
+            Date endTime = null;
+            try {
+                startTime = dateFormat.parse(model.getLimitDateTime().get(0));
+                endTime = dateFormat.parse(model.getLimitDateTime().get(1));
+            } catch (Exception e) {
+                log.info(e.getMessage());
+            }
+            examTemplates.setStartTime(startTime);
+            examTemplates.setEndTime(endTime);
+        }
         examTemplates.setCtime(new Date());
         examTemplates.setTitleName(model.getTitleItems().get(0).getName());
         examTemplates.setStatus(model.getStatus());
         examTemplates.setMenuIds(model.getMenuIds());
-        examTemplates.setStartTime(startTime);
-        examTemplates.setEndTime(endTime);
         examTemplatesMapper.add(examTemplates);
 
         List<ExamTemplatesQuestion> examTemplatesQuestions = ExamTemplatesClassConvert.INSTANCE.QuestionTypeVMListToExamTemplatesQuestionList(model.getQuestionTypeVMS())
@@ -85,11 +94,11 @@
             subjects.add(examTemplatesSubject);
         }
         examTemplatesSubjectMapper.saves(subjects);
-        if("0".equals(model.getStatus())){
+        if ("0".equals(model.getStatus())) {
             Object[] obj = Arrays.stream(model.getUserIds()).sorted().distinct().toArray();
             Integer[] userIds = new Integer[obj.length];
-            for(int i = 0;i<obj.length;i++) {
-                userIds[i] = (Integer)obj[i];
+            for (int i = 0; i < obj.length; i++) {
+                userIds[i] = (Integer) obj[i];
             }
             for (Integer userId : userIds) {
                 ExamTemplatesUser templatesUser = new ExamTemplatesUser();
@@ -164,14 +173,27 @@
         removes(id);
     }
 
-    public ExamPaperEditRequestVM restore(Integer id){
-        if(id == null){
+    public ExamPaperEditRequestVM restore(Integer id) {
+        if (id == null) {
             ExamTemplates examTemplates = examTemplatesMapper.getTime();
             id = examTemplates.getId();
         }
         ExamTemplates examTemplates = examTemplatesMapper.getById(id);
+
         ExamPaperEditRequestVM vm = ExamTemplatesClassConvert.INSTANCE.ExamTemplatesToExamPaperEditRequestVM(examTemplates);
         vm.setMenuIds(examTemplates.getMenuIds());
+
+        List<String> limitDateTime = new ArrayList<>();
+        Date startTime = examTemplates.getStartTime();
+        Date endTime = examTemplates.getEndTime();
+        if (startTime != null && endTime != null) {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String start = dateFormat.format(startTime);
+            String end = dateFormat.format(endTime);
+            limitDateTime.add(start);
+            limitDateTime.add(end);
+            vm.setLimitDateTime(limitDateTime);
+        }
         Integer[] ids = examTemplatesSubjectMapper.getTemplatesId(id)
                 .stream().map(ExamTemplatesSubject::getSubjectId).toArray(Integer[]::new);
         vm.setSubjectId(ids);
@@ -184,7 +206,7 @@
         list.add(examPaperTitleItemVM);
         vm.setTitleItems(list);
         vm.setAggregateSource(100);
-        if("0".equals(examTemplates.getStatus())){
+        if ("0".equals(examTemplates.getStatus())) {
             List<ExamTemplatesUser> byId = examTemplatesUserMapper.getById(id);
             List<String> collect = byId.stream().map(ExamTemplatesUser::getUserId).collect(Collectors.toList());
             Integer[] userIds = new Integer[collect.size()];
@@ -195,7 +217,8 @@
         }
         return vm;
     }
-    public void removes(Integer id){
+
+    public void removes(Integer id) {
         examTemplatesMapper.removeById(id);
         examTemplatesQuestionMapper.removeByTemplatesId(id);
         examTemplatesSubjectMapper.removeByTemplatesId(id);

--
Gitblit v1.8.0