deason 2 年之前
父節點
當前提交
d26258c21c

+ 9 - 3
examcloud-core-oe-student-starter/src/test/java/cn/com/qmth/examcloud/core/oe/student/test/FaceVerifyTest.java

@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.oe.student.test;
 import cn.com.qmth.examcloud.commons.helpers.poi.ExcelReader;
 import cn.com.qmth.examcloud.commons.helpers.poi.ExcelReader;
 import cn.com.qmth.examcloud.commons.util.FileUtil;
 import cn.com.qmth.examcloud.commons.util.FileUtil;
 import cn.com.qmth.examcloud.starters.face.verify.FaceVerifyProperties;
 import cn.com.qmth.examcloud.starters.face.verify.FaceVerifyProperties;
+import cn.com.qmth.examcloud.starters.face.verify.common.JsonHelper;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
 import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageFileParm;
 import cn.com.qmth.examcloud.starters.face.verify.model.param.ImageFileParm;
 import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyServiceImpl;
 import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyServiceImpl;
@@ -12,6 +13,7 @@ import org.junit.Test;
 
 
 import java.io.File;
 import java.io.File;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.nio.charset.StandardCharsets;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -91,7 +93,7 @@ public class FaceVerifyTest {
         // 重新计算不同阈值下的通过率
         // 重新计算不同阈值下的通过率
         Map<Double, Integer> statisticMaps = new TreeMap<>();
         Map<Double, Integer> statisticMaps = new TreeMap<>();
         for (int n = 65; n <= 80; n++) {
         for (int n = 65; n <= 80; n++) {
-            statisticMaps.put((double) n, 1);
+            statisticMaps.put((double) n, 0);
         }
         }
         for (Map.Entry<String, Double> entry : scores.entrySet()) {
         for (Map.Entry<String, Double> entry : scores.entrySet()) {
             for (Map.Entry<Double, Integer> map : statisticMaps.entrySet()) {
             for (Map.Entry<Double, Integer> map : statisticMaps.entrySet()) {
@@ -148,7 +150,11 @@ public class FaceVerifyTest {
                         scores.put(photoUrl + "|" + capturePhotoUrl, Double.valueOf(x.split("\\|")[1]));
                         scores.put(photoUrl + "|" + capturePhotoUrl, Double.valueOf(x.split("\\|")[1]));
                     } else {
                     } else {
                         FaceResult result = faceVerifyService.faceCompareByBaidu(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath));
                         FaceResult result = faceVerifyService.faceCompareByBaidu(new ImageFileParm(photoPath), new ImageFileParm(capturePhotoPath));
-                        // System.out.println(new JsonHelper().toJson(result));
+                        if (result.isApiNeedRetry()) {
+                            System.out.println(new JsonHelper().toJson(result));
+                            return;
+                        }
+
                         if (result.isFacePass()) {
                         if (result.isFacePass()) {
                             passNum.incrementAndGet();
                             passNum.incrementAndGet();
                         }
                         }
@@ -202,7 +208,7 @@ public class FaceVerifyTest {
         if (n < 0) n = 0;
         if (n < 0) n = 0;
         BigDecimal _value = new BigDecimal(Double.toString(value));
         BigDecimal _value = new BigDecimal(Double.toString(value));
         BigDecimal one = new BigDecimal("1");
         BigDecimal one = new BigDecimal("1");
-        return _value.divide(one, n, BigDecimal.ROUND_HALF_UP).doubleValue();
+        return _value.divide(one, n, RoundingMode.HALF_UP).doubleValue();
     }
     }
 
 
 }
 }