|
@@ -24,8 +24,9 @@ import com.xjrsoft.common.utils.ImageUtil;
|
|
import com.xjrsoft.common.utils.UploadUtil;
|
|
import com.xjrsoft.common.utils.UploadUtil;
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
import com.xjrsoft.module.hikvision.util.ApiUtil;
|
|
import com.xjrsoft.module.hikvision.util.ApiUtil;
|
|
-import com.xjrsoft.module.organization.entity.Department;
|
|
|
|
|
|
+import com.xjrsoft.module.organization.entity.User;
|
|
import com.xjrsoft.module.organization.entity.UserDeptRelation;
|
|
import com.xjrsoft.module.organization.entity.UserDeptRelation;
|
|
|
|
+import com.xjrsoft.module.organization.service.IUserService;
|
|
import com.xjrsoft.module.personnel.dto.AddTeacherFaceProcessDto;
|
|
import com.xjrsoft.module.personnel.dto.AddTeacherFaceProcessDto;
|
|
import com.xjrsoft.module.personnel.dto.TeacherFaceProcessPageDto;
|
|
import com.xjrsoft.module.personnel.dto.TeacherFaceProcessPageDto;
|
|
import com.xjrsoft.module.personnel.dto.UpdateTeacherFaceProcessDto;
|
|
import com.xjrsoft.module.personnel.dto.UpdateTeacherFaceProcessDto;
|
|
@@ -38,9 +39,9 @@ import com.xjrsoft.module.personnel.vo.TeacherFaceProcessVo;
|
|
import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
import com.xjrsoft.module.system.entity.File;
|
|
import com.xjrsoft.module.system.entity.File;
|
|
import com.xjrsoft.module.system.service.IFileService;
|
|
import com.xjrsoft.module.system.service.IFileService;
|
|
|
|
+import com.xjrsoft.module.teacher.entity.BaseTeacher;
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
|
|
import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
|
|
-import com.xjrsoft.module.teacher.vo.XjrUserPageVo;
|
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
@@ -90,6 +91,7 @@ public class TeacherFaceProcessController {
|
|
private final IFaceManagementService faceManagementService;
|
|
private final IFaceManagementService faceManagementService;
|
|
|
|
|
|
private final IFileService fileService;
|
|
private final IFileService fileService;
|
|
|
|
+ private final IUserService userService;
|
|
|
|
|
|
@GetMapping(value = "/page")
|
|
@GetMapping(value = "/page")
|
|
@ApiOperation(value="人脸信息审核列表(分页)")
|
|
@ApiOperation(value="人脸信息审核列表(分页)")
|
|
@@ -170,20 +172,16 @@ public class TeacherFaceProcessController {
|
|
@ApiOperation(value = "批量新增教师人脸")
|
|
@ApiOperation(value = "批量新增教师人脸")
|
|
@SaCheckPermission("stundentfaceprocess:batch-upload")
|
|
@SaCheckPermission("stundentfaceprocess:batch-upload")
|
|
public RT<Boolean> batchUpload(@RequestParam("file") MultipartFile file) throws Exception {
|
|
public RT<Boolean> batchUpload(@RequestParam("file") MultipartFile file) throws Exception {
|
|
- List<XjrUserPageVo> list = teacherbaseManagerService.selectJoinList(XjrUserPageVo.class,
|
|
|
|
- new MPJLambdaWrapper<XjrUser>()
|
|
|
|
|
|
+ List<User> list = userService.list(
|
|
|
|
+ new MPJLambdaWrapper<User>()
|
|
.distinct()
|
|
.distinct()
|
|
- .select(XjrUser::getId)
|
|
|
|
- .selectAs(Department::getId, XjrUserPageVo::getDeptId)
|
|
|
|
- .selectAs(Department::getName, XjrUserPageVo::getDeptIdCn)
|
|
|
|
- .select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(XjrUserPageVo.class).contains(x.getProperty()))
|
|
|
|
- .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, XjrUser::getId)
|
|
|
|
- .leftJoin(Department.class, Department::getId, UserDeptRelation::getDeptId)
|
|
|
|
- .eq(XjrUser::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
|
- .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
|
|
|
+ .select(User::getId)
|
|
|
|
+ .select(User.class, x -> VoToColumnUtil.fieldsToColumns(User.class).contains(x.getProperty()))
|
|
|
|
+ .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, XjrUser::getId)
|
|
|
|
+ .eq(User::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
);
|
|
);
|
|
- Map<String, XjrUserPageVo> teacherMap = new HashMap<>();
|
|
|
|
- for (XjrUserPageVo teacher : list) {
|
|
|
|
|
|
+ Map<String, User> teacherMap = new HashMap<>();
|
|
|
|
+ for (User teacher : list) {
|
|
teacherMap.put(teacher.getCredentialNumber(), teacher);
|
|
teacherMap.put(teacher.getCredentialNumber(), teacher);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -212,13 +210,23 @@ public class TeacherFaceProcessController {
|
|
ApiUtil apiUtil = new ApiUtil();
|
|
ApiUtil apiUtil = new ApiUtil();
|
|
ZipFile zipFile = FileZipUtil.convertToZipFile(file);
|
|
ZipFile zipFile = FileZipUtil.convertToZipFile(file);
|
|
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
|
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
|
|
|
+
|
|
|
|
+ String[] imgSuffix = new String[]{"png", "jpg", "jpeg"};
|
|
|
|
+ Map<String, String> map = new HashMap<String, String>() {
|
|
|
|
+ {
|
|
|
|
+ put("jpg", "data:image/jpg;base64,");
|
|
|
|
+ put("jpeg", "data:image/jpeg;base64,");
|
|
|
|
+ put("png", "data:image/png;base64,");
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
while (entries.hasMoreElements()){
|
|
while (entries.hasMoreElements()){
|
|
ZipEntry entry = entries.nextElement();
|
|
ZipEntry entry = entries.nextElement();
|
|
String filename = entry.getName();
|
|
String filename = entry.getName();
|
|
InputStream inputStream = zipFile.getInputStream(entry); //读取文件内容
|
|
InputStream inputStream = zipFile.getInputStream(entry); //读取文件内容
|
|
String[] split = filename.split("\\.");
|
|
String[] split = filename.split("\\.");
|
|
String idNumber = split[0].substring(split[0].length() - 18);
|
|
String idNumber = split[0].substring(split[0].length() - 18);
|
|
- XjrUserPageVo teacherUser = teacherMap.get(idNumber);
|
|
|
|
|
|
+ User teacherUser = teacherMap.get(idNumber);
|
|
if(teacherUser == null){
|
|
if(teacherUser == null){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -272,13 +280,13 @@ public class TeacherFaceProcessController {
|
|
fileEntity.setFileType(suffix);
|
|
fileEntity.setFileType(suffix);
|
|
fileService.save(fileEntity);
|
|
fileService.save(fileEntity);
|
|
|
|
|
|
- TeacherFaceProcess process = faceMap.get(Long.parseLong(teacherUser.getId()));
|
|
|
|
|
|
+ TeacherFaceProcess process = faceMap.get(teacherUser.getId());
|
|
if(process == null){
|
|
if(process == null){
|
|
long baseFaceId = IdUtil.getSnowflakeNextId();
|
|
long baseFaceId = IdUtil.getSnowflakeNextId();
|
|
FaceManagement baseFace = new FaceManagement();
|
|
FaceManagement baseFace = new FaceManagement();
|
|
baseFace.setId(baseFaceId);
|
|
baseFace.setId(baseFaceId);
|
|
- baseFace.setRegisterBase64(base64String);
|
|
|
|
- baseFace.setUserId(Long.parseLong(teacherUser.getId()));
|
|
|
|
|
|
+ baseFace.setRegisterBase64(map.get(suffix) + base64String);
|
|
|
|
+ baseFace.setUserId(teacherUser.getId());
|
|
baseFace.setSex(teacherUser.getGender());
|
|
baseFace.setSex(teacherUser.getGender());
|
|
baseFace.setName(teacherUser.getName());
|
|
baseFace.setName(teacherUser.getName());
|
|
baseFace.setIdno(teacherUser.getCredentialNumber());
|
|
baseFace.setIdno(teacherUser.getCredentialNumber());
|
|
@@ -288,7 +296,8 @@ public class TeacherFaceProcessController {
|
|
baseFace.setDeleteMark(0);
|
|
baseFace.setDeleteMark(0);
|
|
baseFace.setStatus(1);
|
|
baseFace.setStatus(1);
|
|
baseFace.setFileId(folderId);
|
|
baseFace.setFileId(folderId);
|
|
- baseFace.setUserType(2L);
|
|
|
|
|
|
+ baseFace.setUserType(1L);
|
|
|
|
+ baseFace.setVerifyStatus(1);
|
|
faceManagementService.save(baseFace);
|
|
faceManagementService.save(baseFace);
|
|
|
|
|
|
TeacherFaceProcess teacherFace = new TeacherFaceProcess();
|
|
TeacherFaceProcess teacherFace = new TeacherFaceProcess();
|
|
@@ -299,11 +308,11 @@ public class TeacherFaceProcessController {
|
|
teacherFace.setGender(teacherUser.getGender());
|
|
teacherFace.setGender(teacherUser.getGender());
|
|
teacherFace.setFacePhoto(folderId);
|
|
teacherFace.setFacePhoto(folderId);
|
|
teacherFace.setName(teacherUser.getName());
|
|
teacherFace.setName(teacherUser.getName());
|
|
- teacherFace.setDepId(Long.parseLong(teacherUser.getDeptId()));
|
|
|
|
- teacherFace.setDepCn(teacherUser.getDeptIdCn());
|
|
|
|
|
|
+// teacherFace.setDepId(Long.parseLong(teacherUser.getDeptId()));
|
|
|
|
+// teacherFace.setDepCn(teacherUser.getDeptIdCn());
|
|
teacherFace.setIdentityCard(teacherUser.getCredentialNumber());
|
|
teacherFace.setIdentityCard(teacherUser.getCredentialNumber());
|
|
teacherFace.setStatus(1);
|
|
teacherFace.setStatus(1);
|
|
- teacherFace.setUserId(Long.parseLong(teacherUser.getId()));
|
|
|
|
|
|
+ teacherFace.setUserId(teacherUser.getId());
|
|
teacherFace.setExamStatus(1);
|
|
teacherFace.setExamStatus(1);
|
|
|
|
|
|
//将人脸上传海康
|
|
//将人脸上传海康
|
|
@@ -351,7 +360,6 @@ public class TeacherFaceProcessController {
|
|
if(personPhoto.size() > 0){
|
|
if(personPhoto.size() > 0){
|
|
faceId = personPhoto.get(0).getAsJsonObject().get("personPhotoIndexCode").getAsString();
|
|
faceId = personPhoto.get(0).getAsJsonObject().get("personPhotoIndexCode").getAsString();
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -379,22 +387,22 @@ public class TeacherFaceProcessController {
|
|
|
|
|
|
teacherFaceProcessService.updateById(process);
|
|
teacherFaceProcessService.updateById(process);
|
|
|
|
|
|
- FaceManagement faceManagement = faceManagementMap.get(Long.parseLong(teacherUser.getId()));
|
|
|
|
|
|
+ FaceManagement faceManagement = faceManagementMap.get(teacherUser.getId());
|
|
if(faceManagement == null){
|
|
if(faceManagement == null){
|
|
faceManagement = new FaceManagement();
|
|
faceManagement = new FaceManagement();
|
|
- faceManagement.setUserType(2L);
|
|
|
|
- faceManagement.setUserId(Long.parseLong(teacherUser.getId()));
|
|
|
|
|
|
+ faceManagement.setUserType(1L);
|
|
|
|
+ faceManagement.setUserId(teacherUser.getId());
|
|
faceManagement.setFileId(folderId);
|
|
faceManagement.setFileId(folderId);
|
|
faceManagement.setIdno(teacherUser.getCredentialNumber());
|
|
faceManagement.setIdno(teacherUser.getCredentialNumber());
|
|
faceManagement.setName(teacherUser.getName());
|
|
faceManagement.setName(teacherUser.getName());
|
|
faceManagement.setSyncStatus(1);
|
|
faceManagement.setSyncStatus(1);
|
|
faceManagement.setSex(teacherUser.getGender());
|
|
faceManagement.setSex(teacherUser.getGender());
|
|
faceManagement.setVerifyStatus(2);
|
|
faceManagement.setVerifyStatus(2);
|
|
- faceManagement.setRegisterBase64(base64String);
|
|
|
|
|
|
+ faceManagement.setRegisterBase64(map.get(suffix) + base64String);
|
|
faceManagementService.save(faceManagement);
|
|
faceManagementService.save(faceManagement);
|
|
}else{
|
|
}else{
|
|
faceManagement.setVerifyStatus(2);
|
|
faceManagement.setVerifyStatus(2);
|
|
- faceManagement.setRegisterBase64(base64String);
|
|
|
|
|
|
+ faceManagement.setRegisterBase64(map.get(suffix) + base64String);
|
|
faceManagementService.update(faceManagement);
|
|
faceManagementService.update(faceManagement);
|
|
}
|
|
}
|
|
|
|
|