From d4daa1ea31db6fd421c0e86bab178a9f3b512141 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 23 九月 2024 18:02:54 +0800
Subject: [PATCH] 使用新导入
---
src/main/java/com/mindskip/xzs/service/impl/ExamTemplatesServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 70 insertions(+), 41 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..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,25 +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.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.text.SimpleDateFormat;
+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)
@@ -55,27 +51,29 @@
if (model.getId() != null) {
removes(model.getId());
}
-
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);
+ 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()) {
@@ -85,11 +83,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();
@@ -98,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
@@ -109,6 +118,12 @@
public PageInfo<ExamTemplates> gets(ExamTemplatesVO templatesVO) {
return PageHelper.startPage(templatesVO.getPageIndex(), templatesVO.getPageSize(), "id desc").doSelectPageInfo(() ->
examTemplatesMapper.gets(templatesVO));
+ }
+
+ @Override
+ public PageInfo<ExamTemplates> getByadmins(ExamTemplatesVO templatesVO) {
+ return PageHelper.startPage(templatesVO.getPageIndex(), templatesVO.getPageSize(), "id desc").doSelectPageInfo(() ->
+ examTemplatesMapper.getByadmins(templatesVO));
}
@Override
@@ -133,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);
@@ -143,20 +158,20 @@
@Override
public Integer randomExam1(User user, Integer templatesId) throws Exception {
- ExamTemplatesUserCount count = new ExamTemplatesUserCount();
+// ExamTemplatesUserCount count = new ExamTemplatesUserCount();
ExamPaperEditRequestVM vm = restore(templatesId);
- count.setExamTemplatesId(vm.getId());
+// count.setExamTemplatesId(vm.getId());
Integer[] id = {user.getId()};
vm.setUserIds(id);
vm.setType("1");
vm.setId(null);
ExamPaper examPaper = examPaperService.savePaperFromVM(vm, user);
- ExamPaperEditRequestVM newVM = examPaperService.examPaperToVM(examPaper.getId());
- count.setExamPaperId(examPaper.getId());
- count.setUserId(user.getId());
- examTemplatesUserCountService.add(count);
- return count.getExamPaperId();
+ ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
+// count.setExamPaperId(examPaper.getId());
+// count.setUserId(user.getId());
+// examTemplatesUserCountService.add(count);
+ return examPaper.getId();
}
@Override
@@ -164,14 +179,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 +212,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 +223,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