|
@@ -1,5 +1,16 @@
|
|
package cn.com.qmth.scancloud.tools.service.impl;
|
|
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.config.SysProperty;
|
|
import cn.com.qmth.scancloud.tools.enums.TaskType;
|
|
import cn.com.qmth.scancloud.tools.enums.TaskType;
|
|
import cn.com.qmth.scancloud.tools.model.Course;
|
|
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.HttpHelper;
|
|
import cn.com.qmth.scancloud.tools.utils.JsonHelper;
|
|
import cn.com.qmth.scancloud.tools.utils.JsonHelper;
|
|
import cn.com.qmth.scancloud.tools.utils.StatusException;
|
|
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”的文件!");
|
|
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;
|
|
int total = 0;
|
|
List<Course> list = new ArrayList<>();
|
|
List<Course> list = new ArrayList<>();
|
|
File file = new File(SysProperty.DATA_FILE);
|
|
File file = new File(SysProperty.DATA_FILE);
|
|
@@ -61,7 +55,7 @@ public class CourseImportTask extends AbstractTask {
|
|
while (lines.hasNext()) {
|
|
while (lines.hasNext()) {
|
|
String line = lines.nextLine();
|
|
String line = lines.nextLine();
|
|
|
|
|
|
- Course data = this.parseValues(total, line, templateColumns, templateSeparator);
|
|
|
|
|
|
+ Course data = this.parseValues(total, line, SysProperty.TEMPLATE_SEPARATOR);
|
|
if (data != null) {
|
|
if (data != null) {
|
|
data.setExamId(examId);
|
|
data.setExamId(examId);
|
|
list.add(data);
|
|
list.add(data);
|
|
@@ -84,7 +78,7 @@ public class CourseImportTask extends AbstractTask {
|
|
log.info("已处理数:{} 进度:100% {}", list.size(), result);
|
|
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)) {
|
|
if (StringUtils.isBlank(line)) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
@@ -96,19 +90,9 @@ public class CourseImportTask extends AbstractTask {
|
|
String subjectCode = null;
|
|
String subjectCode = null;
|
|
String subjectName = 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)) {
|
|
if (StringUtils.isEmpty(subjectCode)) {
|
|
throw new StatusException(String.format("【第%s行】“科目代码”字段不能为空! %s", index + 1, line));
|
|
throw new StatusException(String.format("【第%s行】“科目代码”字段不能为空! %s", index + 1, line));
|