|
@@ -21,10 +21,10 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
|
-public class MyConsumer extends Consumer<String> {
|
|
|
+public class MyConsumer extends Consumer<PaperExportDto> {
|
|
|
private static String[] sucStr = new String[] { "对", "正确", "√", "是", "True" };
|
|
|
private static String[] errStr = new String[] { "错", "错误", "×", "不正确", "否", "False" };
|
|
|
- private static String paperSuff = "(231205)";
|
|
|
+// private static String paperSuff = "(231205)";
|
|
|
private int maxqc = 200;
|
|
|
|
|
|
private static String paperDir = "d:/yunkai/paper/";
|
|
@@ -32,20 +32,20 @@ public class MyConsumer extends Consumer<String> {
|
|
|
private Pattern imgPat = Pattern.compile("<img[^<]+src=\"([^<\"]+)\"[^<]*>");
|
|
|
|
|
|
@Override
|
|
|
- public void consume(String courseCode) {
|
|
|
+ public void consume(PaperExportDto dto) {
|
|
|
Connection connect = null;
|
|
|
- File sub = new File(paperDir + courseCode + "/");
|
|
|
+ File sub = new File(paperDir + dto.getCourseCode() + "/");
|
|
|
sub.mkdir();
|
|
|
try {
|
|
|
Class.forName("com.mysql.cj.jdbc.Driver");
|
|
|
|
|
|
- String url = "jdbc:mysql://localhost:3306/yunkai_question3?serverTimezone=GMT%2B8";
|
|
|
+ String url = "jdbc:mysql://localhost:3306/"+dto.getDbName()+"?serverTimezone=GMT%2B8";
|
|
|
|
|
|
String user = "root";
|
|
|
|
|
|
String password = "123456";
|
|
|
connect = DriverManager.getConnection(url, user, password);
|
|
|
- exportPaper(connect, courseCode);
|
|
|
+ exportPaper(connect, dto);
|
|
|
ExportPaperByCourseCode.addDisposeCount();
|
|
|
} catch (Exception e) {
|
|
|
throw new RuntimeException(e);
|
|
@@ -359,13 +359,13 @@ public class MyConsumer extends Consumer<String> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void exportPaper(Connection connect, String courseCode) throws Exception {
|
|
|
- List<KdQuestion> qs = getQuestion(connect, courseCode);
|
|
|
+ private void exportPaper(Connection connect, PaperExportDto dto) throws Exception {
|
|
|
+ List<KdQuestion> qs = getQuestion(connect, dto.getCourseCode());
|
|
|
if (qs.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
fillProp(connect, qs);
|
|
|
- fillAnswer(connect, qs, courseCode);
|
|
|
+ fillAnswer(connect, qs, dto.getCourseCode());
|
|
|
|
|
|
Map<YunkaiQuesStructType, List<KdQuestion>> qmap = new HashMap<>();
|
|
|
for (KdQuestion q : qs) {
|
|
@@ -377,16 +377,16 @@ public class MyConsumer extends Consumer<String> {
|
|
|
list.add(q);
|
|
|
}
|
|
|
for (YunkaiQuesStructType qt : qmap.keySet()) {
|
|
|
- createPapers(qmap.get(qt), qt, courseCode);
|
|
|
+ createPapers(qmap.get(qt), qt, dto);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void createPapers(List<KdQuestion> qs, YunkaiQuesStructType qt, String courseCode) {
|
|
|
+ private void createPapers(List<KdQuestion> qs, YunkaiQuesStructType qt, PaperExportDto dto) {
|
|
|
if (qs == null || qs.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
if (qs.size() <= maxqc) {
|
|
|
- createPaper(qs, qt, courseCode, 1);
|
|
|
+ createPaper(qs, qt, dto, 1);
|
|
|
} else {
|
|
|
int size = qs.size();
|
|
|
int len = maxqc;
|
|
@@ -394,21 +394,21 @@ public class MyConsumer extends Consumer<String> {
|
|
|
|
|
|
for (int i = 0; i < count; i++) {
|
|
|
List<KdQuestion> subList = qs.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1)));
|
|
|
- createPaper(subList, qt, courseCode, i + 1);
|
|
|
+ createPaper(subList, qt, dto, i + 1);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void createPaper(List<KdQuestion> qs, YunkaiQuesStructType qt, String courseCode, int indx) {
|
|
|
+ private void createPaper(List<KdQuestion> qs, YunkaiQuesStructType qt, PaperExportDto dto, int indx) {
|
|
|
if (qs.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
String detailName = qt.getYunKaiDesc();
|
|
|
KdPaper paper = new KdPaper();
|
|
|
paper.setTotalScore((double) qs.size());
|
|
|
- paper.setName(paperSuff + detailName + "_" + indx);
|
|
|
- paper.setCourseCode(courseCode);
|
|
|
+ paper.setName(dto.getPaperSuff() + detailName + "_" + indx);
|
|
|
+ paper.setCourseCode(dto.getCourseCode());
|
|
|
List<KdDetail> des = new ArrayList<>();
|
|
|
KdDetail d = new KdDetail();
|
|
|
d.setName(detailName);
|
|
@@ -419,7 +419,7 @@ public class MyConsumer extends Consumer<String> {
|
|
|
des.add(d);
|
|
|
paper.setDetails(des);
|
|
|
paper.setDetailCount(1);
|
|
|
- File paperdir = new File(paperDir + courseCode + "/" + qt.getYunKaiType() + "/");
|
|
|
+ File paperdir = new File(paperDir + dto.getCourseCode() + "/" + qt.getYunKaiType() + "/");
|
|
|
paperdir.mkdirs();
|
|
|
try {
|
|
|
FileUtil.writeFile(paperdir.getAbsolutePath(), "/paper_" + indx + ".json", JSONObject.toJSONString(paper));
|