Kaynağa Gözat

考生导入

ting.yin 8 yıl önce
ebeveyn
işleme
7ee933fe49

+ 20 - 15
exam-work-api/src/main/java/cn/com/qmth/examcloud/service/examwork/service/ExamStudentService.java

@@ -151,28 +151,33 @@ public class ExamStudentService {
                 	examStudents.add(examStudentAssembler.toDomain(dto));
                 }
                 if (examStudents.size() % 1000 == 0) {
-                    examStudentRepo.save(examStudents);
-                    for (ExamStudent examStudent : examStudents) {
-						Student student = new Student();
-						student.setIdentityNumber(examStudent.getIdentityNumber());
-						student.setName(examStudent.getName());
-						student.setStudentCode(examStudent.getStudentCode());
-						User user = new User();
-						user.setOrgId(examStudent.getOrgId());
-						user.setRootOrgId(examStudent.getRootOrgId());
-						student.setUser(user);
-						studentService.addStudent(student);
-					}
-                    examStudents.removeAll(examStudents);
+                    saveExamStudentAndUser(examStudents);
                 }
                 return error;
             }
+
         });
-        examStudentRepo.save(examStudents);
-        examStudents.removeAll(examStudents);
+        saveExamStudentAndUser(examStudents);
         return excelErrors;
 	}
 	
+
+	private void saveExamStudentAndUser(List<ExamStudent> examStudents) {
+		examStudentRepo.save(examStudents);
+		for (ExamStudent examStudent : examStudents) {
+			Student student = new Student();
+			student.setIdentityNumber(examStudent.getIdentityNumber());
+			student.setName(examStudent.getName());
+			student.setStudentCode(examStudent.getStudentCode());
+			User user = new User();
+			user.setOrgId(examStudent.getOrgId());
+			user.setRootOrgId(examStudent.getRootOrgId());
+			student.setUser(user);
+			studentService.addStudent(student);
+		}
+		examStudents.removeAll(examStudents);
+	}
+	
 	/**
 	 * 考生导入验证
 	 * @param stu

+ 2 - 1
exam-work-api/src/main/java/cn/com/qmth/examcloud/service/examwork/service/rpc/client/StudentClient.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.examcloud.service.examwork.service.rpc.client;
 
 import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -19,6 +20,6 @@ public interface StudentClient {
 	String updatePhoto(@RequestParam("identityNumber") String identityNumber);
 
 	@RequestMapping(method = RequestMethod.POST, value = "${app.api.core}/student")
-	String addStudent(@RequestParam("student")Student student);
+	String addStudent(@RequestBody Student student);
 
 }