Prechádzať zdrojové kódy

增加导入文件格式校验

宋悦 8 rokov pred
rodič
commit
7e0ed96175

+ 15 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ImportPaperService.java

@@ -100,7 +100,11 @@ public class ImportPaperService {
      * @param file
      * @return
      */
-    public String ImportPaper(String paperName, String courseNo, String courseName, AccessUser user, File file) {
+    public String ImportPaper(String paperName,
+                              String courseNo,
+                              String courseName,
+                              AccessUser user,
+                              File file) {
         String errorInfo = paperService.checkPaperName(paperName, user.getOrgId().toString());
         if (errorInfo == null) {
             errorInfo = "";
@@ -215,9 +219,12 @@ public class ImportPaperService {
                 P p = (P) pList.get(i);
                 String pText = DocxProcessUtil.getPText(p);
 
-                // 获取大题头信息
-                if (pText.startsWith("[试题分类]")) {
 
+                if(StringUtils.isEmpty(pText)){
+                    // 跳过空白段落
+                    continue;
+
+                }else if (pText.startsWith("[试题分类]")) {
                     // 处理大题头信息
                     processMainQuesHeader(pList, importPaperCheck.index, importPaperCheck);
 
@@ -282,6 +289,11 @@ public class ImportPaperService {
                     return importPaperCheck.errorInfo;
                 }
             }
+            if(paperDetails.size() == 0){
+                importPaperCheck.setErrorInfo("导入文件格式有误!");
+                log.error("导入处理异常:格式错误");
+                return importPaperCheck.errorInfo;
+            }
             paper.setPaperDetailCount(mainQuesNum);
             // 保存导入试卷信息
             savePaper(paper, paperDetails, paperDetailUnits, questions, importPaperCheck);