fuliqi
2023-11-28 d8524dc5ef974bcfacba99128d5e79a268ccdf3f
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);