xiatian 2 years ago
parent
commit
6df2f4301f

+ 0 - 16
src/main/java/cn/com/qmth/scancloud/tools/config/SysProperty.java

@@ -27,18 +27,12 @@ public class SysProperty {
     // 设置考试ID,默认为空
     public static Long EXAM_ID;
 
-    // 设置更多参数,JSON字符串
-    public static String MORE_PARAMS;
-
     //“卷型条码规则”
     public static String PAPER_TYPE_BARCODE;
 
     // 自定义导入模板的列分隔符,为空时采用默认分隔符"|",特殊字符请用双引号括起来!
     public static String TEMPLATE_SEPARATOR;
 
-    // 自定义导入模板的列与索引位置,为空时采用默认模板,索引下标从0开始!
-    public static String TEMPLATE_COLUMNS;
-
     // 默认线程数
     public static Integer THREAD_SIZE;
     
@@ -90,11 +84,6 @@ public class SysProperty {
         EXAM_ID = examId;
     }
 
-    @Value("${scan.tool.moreParams}")
-    public void moreParams(String moreParams) {
-        MORE_PARAMS = moreParams;
-    }
-
     @Value("${scan.tool.paper-type-barcode}")
     public void paperTypeBarcode(String paperTypeBarcode) {
         PAPER_TYPE_BARCODE = paperTypeBarcode;
@@ -105,11 +94,6 @@ public class SysProperty {
         TEMPLATE_SEPARATOR = templateSeparator;
     }
 
-    @Value("${scan.tool.template.columns}")
-    public void templateColumns(String templateColumns) {
-        TEMPLATE_COLUMNS = templateColumns;
-    }
-
     @Value("${scan.tool.thread.size:3}")
     public void threadSize(Integer threadSize) {
         THREAD_SIZE = threadSize;

+ 0 - 2
src/main/java/cn/com/qmth/scancloud/tools/config/TaskConfig.java

@@ -21,9 +21,7 @@ public class TaskConfig {
         log.info("scan.tool.schoolId={}", SysProperty.SCHOOL_ID);
         log.info("scan.tool.schoolName={}", SysProperty.SCHOOL_NAME);
         log.info("scan.tool.examId={}", SysProperty.EXAM_ID);
-        log.info("scan.tool.moreParams={}", SysProperty.MORE_PARAMS);
         log.info("scan.tool.template.separator={}", SysProperty.TEMPLATE_SEPARATOR);
-        log.info("scan.tool.template.columns={}", SysProperty.TEMPLATE_COLUMNS);
         log.info("scan.tool.thread.size={}", SysProperty.THREAD_SIZE);
         log.info("**************************************************");
 

+ 16 - 32
src/main/java/cn/com/qmth/scancloud/tools/service/impl/CourseImportTask.java

@@ -1,5 +1,16 @@
 package cn.com.qmth.scancloud.tools.service.impl;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.io.LineIterator;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import cn.com.qmth.scancloud.tools.config.SysProperty;
 import cn.com.qmth.scancloud.tools.enums.TaskType;
 import cn.com.qmth.scancloud.tools.model.Course;
@@ -9,18 +20,6 @@ import cn.com.qmth.scancloud.tools.utils.FileHelper;
 import cn.com.qmth.scancloud.tools.utils.HttpHelper;
 import cn.com.qmth.scancloud.tools.utils.JsonHelper;
 import cn.com.qmth.scancloud.tools.utils.StatusException;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.io.LineIterator;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
 
 /**
  * 课程导入
@@ -49,11 +48,6 @@ public class CourseImportTask extends AbstractTask {
             throw new StatusException("导入模板目前仅支持后缀名为“.txt”的文件!");
         }
 
-        // 自定义模板 列分隔符
-        String templateSeparator = StringUtils.isNotEmpty(SysProperty.TEMPLATE_SEPARATOR) ? SysProperty.TEMPLATE_SEPARATOR : "|";
-        // 自定义模板 列与索引位置
-        Map<String, Integer> templateColumns = JsonHelper.toMap(SysProperty.TEMPLATE_COLUMNS, Integer.class);
-
         int total = 0;
         List<Course> list = new ArrayList<>();
         File file = new File(SysProperty.DATA_FILE);
@@ -61,7 +55,7 @@ public class CourseImportTask extends AbstractTask {
             while (lines.hasNext()) {
                 String line = lines.nextLine();
 
-                Course data = this.parseValues(total, line, templateColumns, templateSeparator);
+                Course data = this.parseValues(total, line, SysProperty.TEMPLATE_SEPARATOR);
                 if (data != null) {
                     data.setExamId(examId);
                     list.add(data);
@@ -84,7 +78,7 @@ public class CourseImportTask extends AbstractTask {
         log.info("已处理数:{} 进度:100% {}", list.size(), result);
     }
 
-    private Course parseValues(int index, String line, Map<String, Integer> templateColumns, String templateSeparator) {
+    private Course parseValues(int index, String line, String templateSeparator) {
         if (StringUtils.isBlank(line)) {
             return null;
         }
@@ -96,19 +90,9 @@ public class CourseImportTask extends AbstractTask {
             String subjectCode = null;
             String subjectName = null;
 
-            if (MapUtils.isEmpty(templateColumns)) {
-                // 默认模板:科目代码|科目名称
-                subjectCode = values[0];
-                subjectName = values[1];
-            } else {
-                // 自定义模板
-                if (templateColumns.get("科目代码") != null) {
-                    subjectCode = values[templateColumns.get("科目代码")];
-                }
-                if (templateColumns.get("科目名称") != null) {
-                    subjectName = values[templateColumns.get("科目名称")];
-                }
-            }
+            // 默认模板:科目代码|科目名称
+            subjectCode = values[0];
+            subjectName = values[1];
 
             if (StringUtils.isEmpty(subjectCode)) {
                 throw new StatusException(String.format("【第%s行】“科目代码”字段不能为空! %s", index + 1, line));

+ 16 - 37
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ExamImportTask.java

@@ -1,5 +1,15 @@
 package cn.com.qmth.scancloud.tools.service.impl;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import cn.com.qmth.scancloud.tools.config.SysProperty;
 import cn.com.qmth.scancloud.tools.enums.ExamMode;
 import cn.com.qmth.scancloud.tools.enums.ExamType;
@@ -10,17 +20,6 @@ import cn.com.qmth.scancloud.tools.utils.FileHelper;
 import cn.com.qmth.scancloud.tools.utils.HttpHelper;
 import cn.com.qmth.scancloud.tools.utils.JsonHelper;
 import cn.com.qmth.scancloud.tools.utils.StatusException;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
 
 /**
  * 考试导入
@@ -48,13 +47,6 @@ public class ExamImportTask extends AbstractTask {
             throw new StatusException("导入模板目前仅支持后缀名为“.txt”的文件!");
         }
 
-        // 自定义模板 列分隔符
-        String templateSeparator = StringUtils.isNotEmpty(SysProperty.TEMPLATE_SEPARATOR)
-                ? SysProperty.TEMPLATE_SEPARATOR
-                : "|";
-        // 自定义模板 列与索引位置
-        Map<String, Integer> templateColumns = JsonHelper.toMap(SysProperty.TEMPLATE_COLUMNS, Integer.class);
-
         File file = new File(SysProperty.DATA_FILE);
         List<String> lines = FileHelper.readAllLines(file);
         if (CollectionUtils.isEmpty(lines)) {
@@ -64,7 +56,7 @@ public class ExamImportTask extends AbstractTask {
 
         List<Exam> list = new ArrayList<>();
         for (int n = 0; n < lines.size(); n++) {
-            Exam data = this.parseValues(n, lines.get(n), templateColumns, templateSeparator);
+            Exam data = this.parseValues(n, lines.get(n), SysProperty.TEMPLATE_SEPARATOR);
             if (data != null) {
                 data.setSchoolId(schoolId);
                 data.setSchoolName(schoolName);
@@ -87,7 +79,7 @@ public class ExamImportTask extends AbstractTask {
         }
     }
 
-    private Exam parseValues(int index, String line, Map<String, Integer> templateColumns, String templateSeparator) {
+    private Exam parseValues(int index, String line, String templateSeparator) {
         if (StringUtils.isBlank(line)) {
             return null;
         }
@@ -100,23 +92,10 @@ public class ExamImportTask extends AbstractTask {
             String examName = null;
             ExamType examType = null;
 
-            if (MapUtils.isEmpty(templateColumns)) {
-                // 默认模板:考试ID|考试名称|考试类型
-                examId = this.parseLong(values[0]);
-                examName = values[1];
-                examType = ExamType.findByName(values[2]);
-            } else {
-                // 自定义模板
-                if (templateColumns.get("考试ID") != null) {
-                    examId = this.parseLong(values[templateColumns.get("考试ID")]);
-                }
-                if (templateColumns.get("考试名称") != null) {
-                    examName = values[templateColumns.get("考试名称")];
-                }
-                if (templateColumns.get("考试类型") != null) {
-                    examType = ExamType.findByName(values[templateColumns.get("考试类型")]);
-                }
-            }
+            // 默认模板:考试ID|考试名称|考试类型
+            examId = this.parseLong(values[0]);
+            examName = values[1];
+            examType = ExamType.findByName(values[2]);
 
             if (examId == null) {
                 throw new StatusException(String.format("【第%s行】“考试ID”字段值有误! %s", index + 1, line));

+ 1 - 4
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ExamStudentCountTask.java

@@ -33,10 +33,7 @@ public class ExamStudentCountTask extends AbstractTask {
 
         // 查询参数:{"examId":null,"subjectCode":"","examNumber":"","name":"","studentCode":"","packageCode":"",
         // "seatNumber":"","campusName":"","examSite":"","examRoom":""}
-        Map<String, Object> params = JsonHelper.toMap(SysProperty.MORE_PARAMS, Object.class);
-        if (params == null) {
-            params = new HashMap<>();
-        }
+        Map<String, Object> params = new HashMap<>();
         params.put("examId", examId);
 
         String url = SysProperty.SCAN_SERVER_URL + "/api/tool/exam/student/count";

+ 1 - 6
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ObjectiveQuestionExportTask.java

@@ -50,12 +50,7 @@ public class ObjectiveQuestionExportTask extends AbstractTask {
             throw new StatusException("【scan.tool.examId】未配置!");
         }
 
-        // 查询参数:{"examId":null,"subjectCode":"","examNumber":"","name":"","studentCode":"","packageCode":"",
-        // "seatNumber":"","campusName":"","examSite":"","examRoom":""}
-        Map<String, Object> params = JsonHelper.toMap(SysProperty.MORE_PARAMS, Object.class);
-        if (params == null) {
-            params = new HashMap<>();
-        }
+        Map<String, Object> params = new HashMap<>();
         params.put("examId", examId);
 
         String url = SysProperty.SCAN_SERVER_URL + "/api/tool/exam/student/count";

+ 1 - 4
src/main/java/cn/com/qmth/scancloud/tools/service/impl/ScanImageCheckTask.java

@@ -45,10 +45,7 @@ public class ScanImageCheckTask extends AbstractTask {
 
         // 查询参数:{"examId":null,"subjectCode":"","examNumber":"","name":"","studentCode":"","packageCode":"",
         // "seatNumber":"","campusName":"","examSite":"","examRoom":""}
-        Map<String, Object> params = JsonHelper.toMap(SysProperty.MORE_PARAMS, Object.class);
-        if (params == null) {
-            params = new HashMap<>();
-        }
+        Map<String, Object> params = new HashMap<>();
         params.put("examId", examId);
         params.put("scanStatus", "SCANNED");
         params.put("withAnswer", false);

+ 17 - 36
src/main/java/cn/com/qmth/scancloud/tools/service/impl/UserImportTask.java

@@ -1,5 +1,16 @@
 package cn.com.qmth.scancloud.tools.service.impl;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.io.LineIterator;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import cn.com.qmth.scancloud.tools.config.SysProperty;
 import cn.com.qmth.scancloud.tools.enums.RoleType;
 import cn.com.qmth.scancloud.tools.enums.TaskType;
@@ -9,18 +20,6 @@ import cn.com.qmth.scancloud.tools.utils.FileHelper;
 import cn.com.qmth.scancloud.tools.utils.HttpHelper;
 import cn.com.qmth.scancloud.tools.utils.JsonHelper;
 import cn.com.qmth.scancloud.tools.utils.StatusException;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.io.LineIterator;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
 
 /**
  * 管理员用户导入
@@ -44,11 +43,6 @@ public class UserImportTask extends AbstractTask {
             throw new StatusException("导入模板目前仅支持后缀名为“.txt”的文件!");
         }
 
-        // 自定义模板 列分隔符
-        String templateSeparator = StringUtils.isNotEmpty(SysProperty.TEMPLATE_SEPARATOR) ? SysProperty.TEMPLATE_SEPARATOR : "|";
-        // 自定义模板 列与索引位置
-        Map<String, Integer> templateColumns = JsonHelper.toMap(SysProperty.TEMPLATE_COLUMNS, Integer.class);
-
         int total = 0;
         List<User> list = new ArrayList<>();
         File file = new File(SysProperty.DATA_FILE);
@@ -56,7 +50,7 @@ public class UserImportTask extends AbstractTask {
             while (lines.hasNext()) {
                 String line = lines.nextLine();
 
-                User data = this.parseValues(total, line, templateColumns, templateSeparator);
+                User data = this.parseValues(total, line, SysProperty.TEMPLATE_SEPARATOR);
                 if (data != null) {
                     data.setSchoolId(schoolId);
                     list.add(data);
@@ -79,7 +73,7 @@ public class UserImportTask extends AbstractTask {
         log.info("已处理数:{} 进度:100% {}", list.size(), result);
     }
 
-    private User parseValues(int index, String line, Map<String, Integer> templateColumns, String templateSeparator) {
+    private User parseValues(int index, String line, String templateSeparator) {
         if (StringUtils.isBlank(line)) {
             return null;
         }
@@ -92,23 +86,10 @@ public class UserImportTask extends AbstractTask {
             String loginName = null;
             String password = null;
 
-            if (MapUtils.isEmpty(templateColumns)) {
-                // 默认模板:姓名|账号|密码
-                name = values[0];
-                loginName = values[1];
-                password = values[2];
-            } else {
-                // 自定义模板
-                if (templateColumns.get("姓名") != null) {
-                    name = values[templateColumns.get("姓名")];
-                }
-                if (templateColumns.get("账号") != null) {
-                    loginName = values[templateColumns.get("账号")];
-                }
-                if (templateColumns.get("密码") != null) {
-                    password = values[templateColumns.get("密码")];
-                }
-            }
+            // 默认模板:姓名|账号|密码
+            name = values[0];
+            loginName = values[1];
+            password = values[2];
 
             if (StringUtils.isEmpty(loginName)) {
                 throw new StatusException(String.format("【第%s行】“账号”字段不能为空! %s", index + 1, line));

+ 3 - 8
src/main/resources/application.properties

@@ -7,21 +7,16 @@ logging.level.cn.com.qmth.scancloud=info
 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} | %clr(%-5level) | %msg%n
 logging.file.name=logs/debug.log
 scan.server.url=http://192.168.10.38:9099
-scan.tool.data-dir=/home/admin/scan-tool
-scan.tool.data-file=${scan.tool.data-dir}/data.txt
 scan.tool.task-type=
 scan.tool.thread.size=5
+scan.tool.template.separator=,
 #############system params config###############
 
-scan.tool.more-params=
-scan.tool.template.columns=
-
 #############params config###############
-scan.tool.school-id=1
-scan.tool.school-name=\u5b66\u68211
+scan.tool.data-dir=/home/admin/scan-tool
+scan.tool.data-file=${scan.tool.data-dir}/data.txt
 scan.tool.marking-place=marking-place.xlsx
 scan.tool.struct-import=struct-import.xlsx
-scan.tool.template.separator=,
 scan.tool.exam-id=
 scan.tool.paper-type-barcode=
 scan.tool.year=22