Просмотр исходного кода

ai 检测问题修改 2023-04-19

donggaosheng лет назад: 2
Родитель
Сommit
9a28469e21

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
ArcFace64.dat


+ 23 - 2
zd-modules/zd-algorithm/src/main/java/com/zd/alg/face/controller/FaceApi.java

@@ -74,6 +74,27 @@ public class FaceApi {
         return ResultData.success(faceFeature.getFeatureData());
     }
 
+
+    @ApiOperation("检测是否是人脸")
+    @PostMapping("/detectFaces")
+    public ResultData detectFaces(@RequestParam("file") MultipartFile file) throws IOException {
+        File fileToFile = null;
+        try {
+            fileToFile = FileUtil.multipartFileToFile(file);
+            ImageInfo  imageInfo = faceService.getImageInfo(fileToFile);
+            List<FaceInfo> faceInfos = faceService.faceDetect(imageInfo);
+            if(null==faceInfos || faceInfos.size()==0){
+                return ResultData.fail("请讲脸放到摄像头正中央!");
+            }
+            return ResultData.success(faceInfos);
+        } finally {
+            if (fileToFile != null) {
+                fileToFile.delete();
+            }
+        }
+    }
+
+
     /**
      * 人脸比较
      *
@@ -118,12 +139,12 @@ public class FaceApi {
                     String userType=info.getUserType();
                     Integer isWhite=info.getIsWhite();
                     //如果是学生 或者白名单的老师 进二类页面
-                    if(userType.equals("22") || (userType.equals("11") && isWhite==0)){
+                    if((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite==0)){
                         info.setPageType(2);
                     }
                     ResultData resultData =remoteDutyService.isAdminOrSafeUser(faceCompare.getLabId(),info.getUserId());
                     //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-                    if(Integer.parseInt(String.valueOf(resultData.getData()))>0 || (userType.equals("11") && isWhite==1)){
+                    if(Integer.parseInt(String.valueOf(resultData.getData()))>0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite==1)){
                         info.setPageType(1);
                     }
                     info.setFaceFeature(null);

+ 1 - 0
zd-modules/zd-algorithm/src/main/java/com/zd/alg/face/service/FaceService.java

@@ -40,6 +40,7 @@ public class FaceService {
     public List<FaceInfo> faceDetect(ImageInfo imageInfo) {
         List<FaceInfo> faceInfoList = new ArrayList<>();
         int errorCode = faceEngineFactory.initFaceEngineImage().detectFaces(imageInfo.getImageData(), imageInfo.getWidth(), imageInfo.getHeight(), imageInfo.getImageFormat(), faceInfoList);
+        System.out.println("errorCode:"+errorCode);
         Assert.isTrue(errorCode == ErrorInfo.MOK.getValue(), "人脸检测失败!");
         return faceInfoList;
     }

+ 4 - 4
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSecurityApplyController.java

@@ -857,12 +857,12 @@ public class LabSecurityApplyController extends BaseController
             String userType = String.valueOf(map.get("userType"));
             String isWhite = String.valueOf(map.get("isWhite"));
             //如果是学生 或者白名单的老师 进二类页面
-            if (userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))) {
+            if ((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("0"))) {
                 map.put("pageType", 2);
             }
             int number = iLabSubjectService.isAdminOrSafeUser(labId, userId);
             //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-            if (number > 0 || (userType.equals("11") && isWhite.equals("1"))) {
+            if (number > 0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("1"))) {
                 map.put("pageType", 1);
             }
             String dateTime = DateUtils.getDate();
@@ -900,12 +900,12 @@ public class LabSecurityApplyController extends BaseController
                     Long userId=Long.parseLong(String.valueOf(map.get("userId")));
                     String isWhite=String.valueOf(map.get("isWhite"));
                     //如果是学生 或者白名单的老师 进二类页面
-                    if(userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))){
+                    if((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("0"))){
                         map.put("pageType",2);
                     }
                     int num=iLabSubjectService.isAdminOrSafeUser(labId,userId);
                     //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-                    if(num>0 || (userType.equals("11") && isWhite.equals("1"))){
+                    if(num>0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("1"))){
                         map.put("pageType",1);
                     }
                     String dateTime = DateUtils.getDate();

+ 4 - 4
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpCardInfoController.java

@@ -226,12 +226,12 @@ public class LabXxpCardInfoController extends BaseController {
         String userType=String.valueOf(map.get("userType"));
         String isWhite=String.valueOf(map.get("isWhite"));
         //如果是学生 或者白名单的老师 进二类页面
-        if(userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))){
+        if((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("0"))){
             map.put("pageType",2);
         }
         int number=iLabSubjectService.isAdminOrSafeUser(labId,userId);
         //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-        if(number>0 || (userType.equals("11") && isWhite.equals("1"))){
+        if(number>0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("1"))){
             map.put("pageType",1);
         }
         map.remove("isWhite");
@@ -269,12 +269,12 @@ public class LabXxpCardInfoController extends BaseController {
         String userType=String.valueOf(map.get("userType"));
         String isWhite=String.valueOf(map.get("isWhite"));
         //如果是学生 或者白名单的老师 进二类页面
-        if(userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))){
+        if((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("0"))){
             map.put("pageType",2);
         }
         int number=iLabSubjectService.isAdminOrSafeUser(labId,userId);
         //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-        if(number>0 || (userType.equals("11") && isWhite.equals("1"))){
+        if(number>0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("1"))){
             map.put("pageType",1);
         }
         map.remove("isWhite");

+ 2 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabXxpUserAuthController.java

@@ -215,12 +215,12 @@ public class LabXxpUserAuthController extends BaseController
             String userType=String.valueOf(map.get("userType"));
             String isWhite=String.valueOf(map.get("isWhite"));
             //如果是学生 或者白名单的老师 进二类页面
-            if(userType.equals("22") || (userType.equals("11") && isWhite.equals("0"))){
+            if((StringUtils.isNotNull(userType) && userType.equals("22")) || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("0"))){
                 map.put("pageType",2);
             }
             int number=iLabSubjectService.isAdminOrSafeUser(labId,userId);
             //一类首页对应身份为白名单老师、实验室负责人、安全责任人
-            if(number>0 || (userType.equals("11") && isWhite.equals("1"))){
+            if(number>0 || (StringUtils.isNotNull(userType) && userType.equals("11") && isWhite.equals("1"))){
                 map.put("pageType",1);
             }
             String dateTime = DateUtils.getDate();

+ 2 - 2
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectAccessRecordMapper.xml

@@ -515,12 +515,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         su.avatar AS avatar
         FROM  lab_subject_access_record lsar
         LEFT JOIN sys_user su ON su.user_id=lsar.join_user_id
-        WHERE lsar.subject_id=209 AND lsar.access_status=1 AND init_flag=0
+        WHERE lsar.subject_id=#{subjectId} AND lsar.access_status=1 AND init_flag=0
         UNION
         SELECT  DATE_FORMAT(sign_in,'%Y-%m-%d %H:%i:%s') AS signTime,
         (SELECT user_name FROM  sys_user su WHERE su.user_id=xi.user_id) AS jobNumber,
         user_name  AS userName,
-        user_img AS avatar FROM  xxp_inspection xi WHERE subject_id=209
+        user_img AS avatar FROM  xxp_inspection xi WHERE subject_id=#{subjectId}
         AND sign_out IS NULL AND DATE_FORMAT(sign_in,'%Y-%m-%d')=DATE_FORMAT(NOW(),'%Y-%m-%d')
     </select>