|
@@ -312,14 +312,14 @@ public class AcsService {
|
|
|
// AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
|
|
|
// if (existUser == null) {
|
|
|
// 异步添加用户信息
|
|
|
- AdminUserDO user = userService.findUserByUserNumber(importUser.getEmployeeNo());
|
|
|
+// AdminUserDO user = userService.findUserByUserNumber(importUser.getEmployeeNo());
|
|
|
// CompletableFuture<Void> addUserFuture = CompletableFuture.runAsync(() -> {
|
|
|
try {
|
|
|
//用户名称与那users表里的相同
|
|
|
- if (user.getNickname().equals(importUser.getName())) {
|
|
|
- UserManage.addUserInfo(lUserID, user.getUserNumber(), user.getNickname());
|
|
|
+// if (user.getNickname().equals(importUser.getName())) {
|
|
|
+ UserManage.addUserInfo(lUserID, importUser.getEmployeeNo(), importUser.getName());
|
|
|
System.out.println("添加用户成功");
|
|
|
- }
|
|
|
+// }
|
|
|
} catch (UnsupportedEncodingException | InterruptedException | JSONException e) {
|
|
|
throw new RuntimeException("添加用户信息失败: " + e.getMessage(), e);
|
|
|
}
|
|
@@ -411,7 +411,7 @@ public class AcsService {
|
|
|
throw exception(UPLOADED_FOLDER_CANNOT_EMPTY);
|
|
|
}
|
|
|
// 创建临时目录存放解压后的文件
|
|
|
- File tempDir = Files.createTempDirectory("specimen_images").toFile();
|
|
|
+ File tempDir = Files.createTempDirectory("users_images").toFile();
|
|
|
List<String> successUsers =new LinkedList<>();
|
|
|
List<String> failUsers =new LinkedList<>();
|
|
|
try (InputStream inputStream = file.getInputStream();
|
|
@@ -420,7 +420,7 @@ public class AcsService {
|
|
|
while ((entry = zipInputStream.getNextZipEntry()) != null) {
|
|
|
if (!entry.isDirectory()) {
|
|
|
//看名字
|
|
|
- if (isValidImageName(entry.getName())) {
|
|
|
+// if (isValidImageName(entry.getName())) {
|
|
|
System.out.println(entry.getName());
|
|
|
//获取去除后缀名的文件名,需要设置成学号
|
|
|
String userNumber = entry.getName().substring(0, entry.getName().lastIndexOf('-'));
|
|
@@ -437,19 +437,23 @@ public class AcsService {
|
|
|
bos.write(buffer, 0, len);
|
|
|
}
|
|
|
}
|
|
|
- // 上传文件并获取 URL
|
|
|
-// AdminUserDO user = userService.findUserByUserNumber(userNumber);
|
|
|
+
|
|
|
String photoUrl = fileApi.createFile(Files.readAllBytes(newFile.toPath()));
|
|
|
-// user.setPhotoUrl(photoUrl);
|
|
|
-// userService.updateUser((BeanUtils.toBean(user, UserSaveReqVO.class)));
|
|
|
//给对应学号的人的照片添加
|
|
|
- addFaceByUrl( userNumber, photoUrl);
|
|
|
- successUsers.add(studentName);
|
|
|
- }else{
|
|
|
- String userNumber = entry.getName().substring(0, entry.getName().indexOf('-'));
|
|
|
- AdminUserDO user = userService.findUserByUserNumber(userNumber);
|
|
|
- failUsers.add(user.getNickname());
|
|
|
- }
|
|
|
+ String msg =addFaceByUrl( userNumber, photoUrl);
|
|
|
+ //System.out.println("数据"+msg);
|
|
|
+ if (msg.contains("下发人脸成功")&&msg.contains("但是有异常情况")){
|
|
|
+ failUsers.add(studentName);
|
|
|
+ }else{
|
|
|
+ successUsers.add(studentName);
|
|
|
+ }
|
|
|
+ continue;
|
|
|
+// }else{
|
|
|
+// String userNumber = entry.getName().substring(0, entry.getName().indexOf('-'));
|
|
|
+// AdminUserDO user = userService.findUserByUserNumber(userNumber);
|
|
|
+// failUsers.add(user.getNickname());
|
|
|
+// continue;
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -476,18 +480,25 @@ public class AcsService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private UserImportRespVO importRespVO;
|
|
|
+ private String imageImportResult;
|
|
|
@Transactional(rollbackFor = Exception.class) // 事务管理
|
|
|
public String importData(MultipartFile excelFile, MultipartFile imageFile, boolean updateSupport) throws Exception {
|
|
|
-
|
|
|
// 1. 导入用户信息
|
|
|
- List<UserImportExcelVO> list = ExcelUtils.read(excelFile, UserImportExcelVO.class);
|
|
|
- UserImportRespVO importRespVO = importUserList(list, updateSupport);
|
|
|
-
|
|
|
+ if (excelFile!=null){
|
|
|
+ List<UserImportExcelVO> list = ExcelUtils.read(excelFile, UserImportExcelVO.class);
|
|
|
+ importRespVO = importUserList(list, updateSupport);
|
|
|
+ System.out.println("用户信息导入结果: " + importRespVO);
|
|
|
+ }else {
|
|
|
+ importRespVO=null;
|
|
|
+ }
|
|
|
// 2. 导入图片
|
|
|
- String imageImportResult = testImages(imageFile);
|
|
|
- // 可以根据需要记录导入结果
|
|
|
- System.out.println("用户信息导入结果: " + importRespVO);
|
|
|
- System.out.println("图片导入结果: " + imageImportResult);
|
|
|
+ if (imageFile!=null){
|
|
|
+ imageImportResult = testImages(imageFile);
|
|
|
+ System.out.println("图片导入结果: " + imageImportResult);
|
|
|
+ }else {
|
|
|
+ imageImportResult="为传入照片信息";
|
|
|
+ }
|
|
|
|
|
|
return importRespVO+
|
|
|
imageImportResult;
|