deason před 6 měsíci
rodič
revize
dcff723183

+ 10 - 6
src/main/java/cn/com/qmth/examcloud/tool/service/batch_import_exam_student/BatchImportExamStudentTask.java

@@ -153,7 +153,7 @@ public class BatchImportExamStudentTask implements TaskService {
         long startTime = System.currentTimeMillis();
         AtomicInteger successCount = new AtomicInteger(), failCount = new AtomicInteger();
         if (total <= 1000) {
-            this.singleRun(loginUser, dataList, successCount, failCount);
+            this.singleRun(loginUser, dataList, successCount, failCount, task.getId());
         } else {
             final int batchSize = 20;// 分批数量
 
@@ -164,7 +164,7 @@ public class BatchImportExamStudentTask implements TaskService {
                 for (int start = 0; start < cutTotal; start += batchSize) {
                     int end = Math.min(start + batchSize, cutTotal);
                     List<ExamStudentInfo> batchList = list.subList(start, end);
-                    this.concurrentRun(loginUser, batchList, successCount, failCount);
+                    this.concurrentRun(loginUser, batchList, successCount, failCount, task.getId());
 
                     long cost = Math.max((System.currentTimeMillis() - startTime) / 1000L, 1);
                     int runCount = successCount.get() + failCount.get();
@@ -184,7 +184,7 @@ public class BatchImportExamStudentTask implements TaskService {
         dataList.clear();
     }
 
-    private void singleRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount) {
+    private void singleRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount, Long taskId) {
         long startTime = System.currentTimeMillis();
         for (int n = 0; n < batchList.size(); n++) {
             ExamStudentInfo examStudent = batchList.get(n);
@@ -193,7 +193,9 @@ public class BatchImportExamStudentTask implements TaskService {
                 successCount.incrementAndGet();
             } catch (Exception e) {
                 failCount.incrementAndGet();
-                log.error("学号:{} 执行失败!{}", examStudent.getStudentCode(), e.getMessage());
+                log.error("保存考生失败!taskId:{} examId:{} courseCode:{} identityNumber:{} studentCode:{} {}", taskId,
+                        examStudent.getExamId(), examStudent.getCourseCode(), examStudent.getIdentityNumber(),
+                        examStudent.getStudentCode(), e.getMessage());
             }
 
             long cost = Math.max((System.currentTimeMillis() - startTime) / 1000L, 1);
@@ -206,7 +208,7 @@ public class BatchImportExamStudentTask implements TaskService {
         }
     }
 
-    private void concurrentRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount) {
+    private void concurrentRun(User loginUser, List<ExamStudentInfo> batchList, AtomicInteger successCount, AtomicInteger failCount, Long taskId) {
         if (batchList.isEmpty()) {
             return;
         }
@@ -223,7 +225,9 @@ public class BatchImportExamStudentTask implements TaskService {
                     successCount.incrementAndGet();
                 } catch (Exception e) {
                     failCount.incrementAndGet();
-                    log.error("学号:{} 执行失败!{}", examStudent.getStudentCode(), e.getMessage());
+                    log.error("保存考生失败!taskId:{} examId:{} courseCode:{} identityNumber:{} studentCode:{} {}", taskId,
+                            examStudent.getExamId(), examStudent.getCourseCode(), examStudent.getIdentityNumber(),
+                            examStudent.getStudentCode(), e.getMessage());
                 } finally {
                     worker.countDown();
                 }