xiangpei
2024-07-09 53dea0ef5fc8b035397b73b10f7a819ebf381b1c
src/main/java/com/mindskip/xzs/controller/admin/QuestionController.java
@@ -1,55 +1,45 @@
package com.mindskip.xzs.controller.admin;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.enums.CellExtraTypeEnum;
import com.alibaba.excel.metadata.data.HyperlinkData;
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
import com.mindskip.xzs.base.SystemCode;
import com.mindskip.xzs.context.WebContext;
import com.mindskip.xzs.domain.Question;
import com.mindskip.xzs.domain.QuestionSubject;
import com.mindskip.xzs.domain.Subject;
import com.mindskip.xzs.domain.TextContent;
import com.mindskip.xzs.domain.enums.QuestionSourceEnum;
import com.mindskip.xzs.domain.enums.QuestionStatusEnum;
import com.mindskip.xzs.domain.enums.QuestionTypeEnum;
import com.mindskip.xzs.domain.question.QuestionItemObject;
import com.mindskip.xzs.domain.question.QuestionObject;
import com.mindskip.xzs.domain.vo.DeptQuestionVO;
import com.mindskip.xzs.excel.*;
import com.mindskip.xzs.repository.DepartmentMapper;
import com.mindskip.xzs.repository.DeptQuestionMapper;
import com.mindskip.xzs.repository.SubjectMapper;
import com.mindskip.xzs.service.*;
import com.mindskip.xzs.service.QuestionService;
import com.mindskip.xzs.service.QuestionSubjectService;
import com.mindskip.xzs.service.TextContentService;
import com.mindskip.xzs.utility.*;
import com.mindskip.xzs.utility.convert.QuestionClassConvert;
import com.mindskip.xzs.utility.excel.ExcelUtils;
import com.mindskip.xzs.viewmodel.admin.education.SubjectPageRequestVM;
import com.mindskip.xzs.viewmodel.admin.question.*;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.vo.QuestionExportData;
import com.mindskip.xzs.vo.QuestionExportVO;
import com.mindskip.xzs.vo.QuestionImportVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.DataValidationHelper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.*;
import java.util.function.Consumer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@RestController("AdminQuestionController")
@@ -160,11 +150,6 @@
        // 构建模板样例数据
        List<QuestionImportVO> data = new ArrayList<>(4);
        // 查出所有的课目(excel下拉数据)
        List<Subject> subjects = subjectMapper.allSubject(new ArrayList<>(), Boolean.TRUE);
        List<String> subjectNameList = subjects.stream().map(Subject::getName).collect(Collectors.toList());
        EasyExcel.write(response.getOutputStream(), QuestionExportData.class)
                .sheet("模板")
                .doWrite(data);
@@ -388,7 +373,11 @@
            }
            vm.setItems(questionEditItemVMS);
            // 清空前后的逗号,以免后续作答判断为错误
            List<String> str = Arrays.asList(vm.getCorrect().replaceAll("^,+|,+$", "").split(SPLIT));
            String s = vm.getCorrect().replaceAll("^,+|,+$", "");
            if (Objects.equals(s, "正确")) s = "A";
            if (Objects.equals(s, "错误")) s = "B";
            vm.setCorrect(s);
            List<String> str = Arrays.asList(s.split(SPLIT));
            List<Subject> subjectList = subjectMapper.getNames(vm.getSbNames().split(SPLIT));