deason 2 дней назад
Родитель
Сommit
b490c30469

+ 5 - 3
src/main/java/cn/com/qmth/examcloud/tool/service/CommonService.java

@@ -238,7 +238,7 @@ public class CommonService {
     /**
      * 获取考务考生列表
      */
-    public List<EwExamStudentVO> getExamStudentListFromEW(User loginUser, Long examId, Long courseId, String identityNumber) {
+    public List<EwExamStudentVO> getExamStudentListFromEW(User loginUser, Long examId, Long courseId, String courseCode, String identityNumber) {
         Map<String, String> headers = new HashMap<>();
         headers.put("key", loginUser.getKey());
         headers.put("token", loginUser.getToken());
@@ -247,7 +247,9 @@ public class CommonService {
         int sum = 0, pageNo = 0, pageSize = 100;
 
         String url = loginUser.getServerUrl() + "/api/ecs_exam_work/exam_student/examStudentPage/%s/%s?examId=" + examId
-                + "&courseId=" + (courseId != null ? courseId : "") + "&identityNumber=" + (StringUtils.isNotBlank(identityNumber) ? identityNumber : "");
+                + "&courseId=" + (courseId != null ? courseId : "")
+                + "&courseCode=" + (StringUtils.isNotBlank(courseCode) ? courseCode : "")
+                + "&identityNumber=" + (StringUtils.isNotBlank(identityNumber) ? identityNumber : "");
         List<EwExamStudentVO> all = new ArrayList<>();
         while (true) {
             String json = HttpHelper.get(String.format(url, pageNo, pageSize), headers, null);
@@ -262,7 +264,7 @@ public class CommonService {
             pageNo++;
             sum += page.getList().size();
             float rate = sum * 100f / page.getTotal();
-            log.info("examId:{} courseId:{} identityNumber:{} 已获取考生数:{} 进度:{}%", examId, courseId, identityNumber, sum, rate);
+            log.info("examId:{} courseId:{} courseCode:{} identityNumber:{} 已获取考生数:{} 进度:{}%", examId, courseId, courseCode, identityNumber, sum, rate);
         }
 
         return all;

+ 8 - 3
src/main/java/cn/com/qmth/examcloud/tool/service/batch_delete_exam_student/BatchDeleteExamStudentTask.java

@@ -65,15 +65,20 @@ public class BatchDeleteExamStudentTask implements TaskService {
 
         log.info("待删除考生数:{}", list.size());
 
+        int index = 0;
         for (ExamStudentExcelVO vo : list) {
-            List<EwExamStudentVO> examStudents = commonService.getExamStudentListFromEW(loginUser, vo.getExamId(), null, vo.getIdentityNumber());
+            index++;
+            List<EwExamStudentVO> examStudents = commonService.getExamStudentListFromEW(loginUser, vo.getExamId()
+                    , null, vo.getCourseCode(), vo.getIdentityNumber());
             if (examStudents.isEmpty()) {
-                log.warn("【未找到考生】examId:{} identityNumber:{}", vo.getExamId(), vo.getIdentityNumber());
+                log.warn("【未找到考生】examId:{} courseCode:{} identityNumber:{} index:{}", vo.getExamId(), vo.getCourseCode(), vo.getIdentityNumber(), index);
                 continue;
             }
 
             for (EwExamStudentVO examStudent : examStudents) {
-                log.info("【待删除】examId:{} identityNumber:{} examStudentId:{}", examStudent.getExamId(), examStudent.getIdentityNumber(), examStudent.getId());
+                log.info("【待删除】examId:{} courseCode:{} identityNumber:{} examStudentId:{} index:{}",
+                        examStudent.getExamId(), examStudent.getCourseCode(),
+                        examStudent.getIdentityNumber(), examStudent.getId(), index);
                 this.deleteExamStudent(loginUser, examStudent.getId());
             }
         }

+ 4 - 1
src/main/java/cn/com/qmth/examcloud/tool/service/batch_delete_exam_student/vo/ExamStudentExcelVO.java

@@ -15,7 +15,10 @@ public class ExamStudentExcelVO implements Serializable {
     @ExcelProperty(value = "考试ID", index = 0)
     private Long examId;
 
-    @ExcelProperty(value = "身份证号", index = 1)
+    @ExcelProperty(value = "课程编号", index = 1)
+    private String courseCode;
+
+    @ExcelProperty(value = "身份证号", index = 2)
     private String identityNumber;
 
     private Long examStudentId;