|
|
@@ -312,10 +312,19 @@ public class ClassServiceImpl implements ClassService {
|
|
|
for (StudentImportRow row : rowsToRegister) {
|
|
|
BatchStudentImportDetailVO detail = pendingRegisterDetails.get(row.getRowIndex());
|
|
|
Map<String, Object> portalRow = portalResultByRow.get(row.getRowIndex());
|
|
|
- if (portalRow == null || !"SUCCESS".equals(String.valueOf(portalRow.get("status")))) {
|
|
|
- detail.setStatus("SKIPPED");
|
|
|
- detail.setMessage(portalRow == null ? "Portal未返回该行处理结果" : String.valueOf(portalRow.get("message")));
|
|
|
- result.setSkippedCount(result.getSkippedCount() + 1);
|
|
|
+ if (portalRow == null) {
|
|
|
+ detail.setStatus("FAILED");
|
|
|
+ detail.setMessage("Portal未返回该行处理结果");
|
|
|
+ result.setFailedCount(result.getFailedCount() + 1);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ String portalStatus = String.valueOf(portalRow.get("status"));
|
|
|
+ boolean importable = "SUCCESS".equals(portalStatus) || "EXISTING".equals(portalStatus);
|
|
|
+ if (!importable) {
|
|
|
+ detail.setStatus("FAILED");
|
|
|
+ detail.setMessage(String.valueOf(portalRow.get("message")));
|
|
|
+ result.setFailedCount(result.getFailedCount() + 1);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
@@ -328,6 +337,11 @@ public class ClassServiceImpl implements ClassService {
|
|
|
Object portalUserId = portalRow.get("userId");
|
|
|
if (portalUserId instanceof Number) {
|
|
|
user.setPid(String.valueOf(((Number) portalUserId).longValue()));
|
|
|
+ } else {
|
|
|
+ detail.setStatus("FAILED");
|
|
|
+ detail.setMessage("Portal返回userId缺失,无法在EAI补建账号");
|
|
|
+ result.setFailedCount(result.getFailedCount() + 1);
|
|
|
+ continue;
|
|
|
}
|
|
|
user.setPassword(passwordEncoder.encode(generateDefaultPassword(row.getOfficialNumber())));
|
|
|
usersToInsert.add(user);
|
|
|
@@ -340,7 +354,11 @@ public class ClassServiceImpl implements ClassService {
|
|
|
studentsToInsert.add(student);
|
|
|
|
|
|
detail.setStatus("SUCCESS");
|
|
|
- detail.setMessage("导入成功");
|
|
|
+ if ("EXISTING".equals(portalStatus)) {
|
|
|
+ detail.setMessage("Portal已存在账号,已在EAI补建并导入成功");
|
|
|
+ } else {
|
|
|
+ detail.setMessage("导入成功");
|
|
|
+ }
|
|
|
result.setSuccessCount(result.getSuccessCount() + 1);
|
|
|
}
|
|
|
}
|