Selaa lähdekoodia

学生底照:去掉FaceToken绑定和验证机制。

deason 11 kuukautta sitten
vanhempi
commit
5a481e5de9

+ 1 - 3
examcloud-core-oe-student-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/student/api/controller/ExamCaptureController.java

@@ -80,8 +80,7 @@ public class ExamCaptureController extends ControllerSupport {
         validateSign(signIdentifier, fileUrl, user.getUserId());
 
         StudentCacheBean studentCache = CacheHelper.getStudent(user.getUserId());
-        String baseFaceToken = studentCache.getFaceToken();
-        if (StringUtils.isBlank(baseFaceToken) || StringUtils.isBlank(studentCache.getPhotoPath())) {
+        if (StringUtils.isBlank(studentCache.getPhotoPath())) {
             throw new StatusException("301002", "学生底照不存在");
         }
         fileUrl = UrlUtil.decode(fileUrl);
@@ -96,7 +95,6 @@ public class ExamCaptureController extends ControllerSupport {
         }
 
         CompareFaceSyncInfo compareFaceSyncInfo = examCaptureService.compareFaceSync(studentCache, fileUrl);
-        // log.warn("compareFaceSyncResult isPass = {}, fileUrl = {}, errorMsg = {}", compareFaceSyncInfo.getIsPass(), fileUrl, compareFaceSyncInfo.getErrorMsg());
 
         //将人脸同步比较的结果临时存储到redis中.开考后会清除
         String fileName = fileUrl.substring(fileUrl.lastIndexOf("/") + 1);

+ 2 - 5
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamCaptureQueueServiceImpl.java

@@ -48,11 +48,9 @@ public class ExamCaptureQueueServiceImpl implements ExamCaptureQueueService {
 
     @Override
     public String saveExamCaptureQueue(SaveExamCaptureQueueInfo queueInfo, Long studentId) {
-        //查询学生底照faceToken
         StudentCacheBean studentCache = CacheHelper.getStudent(studentId);
-        String baseFaceToken = studentCache.getFaceToken();
-        if (StringUtils.isBlank(baseFaceToken)) {
-            throw new StatusException("300002", "学生底照的faceToken为空");
+        if (StringUtils.isBlank(studentCache.getPhotoPath())) {
+            throw new StatusException("300002", "学生暂无底照,无法人脸比对!");
         }
 
         String fileUrl = UrlUtil.decode(queueInfo.getFileUrl());
@@ -66,7 +64,6 @@ public class ExamCaptureQueueServiceImpl implements ExamCaptureQueueService {
         examCaptureQueue.setStudentId(studentId);
         examCaptureQueue.setFileUrl(fileUrl);
         examCaptureQueue.setFileName(fileName);
-        examCaptureQueue.setBaseFaceToken(baseFaceToken);
         examCaptureQueue.setExamRecordDataId(queueInfo.getExamRecordDataId());
         examCaptureQueue.setHasVirtualCamera(queueInfo.getHasVirtualCamera());
 

+ 1 - 3
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamCaptureServiceImpl.java

@@ -132,15 +132,13 @@ public class ExamCaptureServiceImpl implements ExamCaptureService {
                 byte[] capturePhotoBytes = FssFactory.getInstance().readFile(capturePhotoPath);
                 ImageParm capturePhoto = new ImageBase64Parm(Base64.encodeBase64String(capturePhotoBytes));
 
-                // faceResult = faceVerifyService.faceCompareByBaidu(basePhoto, capturePhoto, baiduExpectFaceCompareScore);
                 faceResult = faceVerifyService.faceCompare(FaceParam.builder().images(basePhoto, capturePhoto).expectFaceCompareScore(baiduExpectFaceCompareScore));
             } else {
-                ImageParm basePhoto = new ImageTokenParm(student.getFaceToken());
+                ImageParm basePhoto = new ImageUrlParm(student.getPhotoPath());
 
                 String capturePhotoUrl = FssHelper.finalFileUrl(fileUrl);
                 ImageParm capturePhoto = new ImageUrlParm(capturePhotoUrl);
 
-                // faceResult = faceVerifyService.faceCompareByFacePlus(basePhoto, capturePhoto);
                 faceResult = faceVerifyService.faceCompare(FaceParam.builder().images(basePhoto, capturePhoto).apiType(FaceApiType.FACE_PLUS));
             }