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 | 62 +++++++++++++++++-------------- 1 files changed, 34 insertions(+), 28 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 d1da647..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) @@ -58,7 +51,6 @@ if (model.getId() != null) { removes(model.getId()); } - ExamTemplates examTemplates = ExamTemplatesClassConvert.INSTANCE.ExamPaperEditRequestVMToExamTemplates(model); if (!CollectionUtils.isEmpty(model.getLimitDateTime())) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -77,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()) { @@ -109,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; @@ -118,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 @@ -142,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); @@ -152,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 -- Gitblit v1.8.0