deason 2 năm trước cách đây
mục cha
commit
2080de9fa1

+ 8 - 0
examcloud-starters/examcloud-face-verify-starter/src/main/java/cn/com/qmth/examcloud/starters/face/verify/common/JsonHelper.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.examcloud.starters.face.verify.common;
 
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
@@ -29,6 +30,13 @@ public class JsonHelper {
         mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
     }
 
+    public JsonHelper style(Include include) {
+        if (include != null) {
+            mapper.setSerializationInclusion(include);
+        }
+        return this;
+    }
+
     public String toJson(Object object) {
         if (object == null) {
             return null;

+ 5 - 4
examcloud-starters/examcloud-face-verify-starter/src/main/java/cn/com/qmth/examcloud/starters/face/verify/model/baidu/BaiduApiHelper.java

@@ -6,6 +6,7 @@ import cn.com.qmth.examcloud.starters.face.verify.common.FaceVerifyException;
 import cn.com.qmth.examcloud.starters.face.verify.common.HttpClientBuilder;
 import cn.com.qmth.examcloud.starters.face.verify.common.JsonHelper;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import okhttp3.*;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -136,7 +137,7 @@ public class BaiduApiHelper {
         result.setApiLimit(false);
         result.setScore(0d);
         result.setFaceNum(0);
-        result.setJsonResult(new JsonHelper().toJson(response));
+        result.setJsonResult(new JsonHelper().style(Include.NON_NULL).toJson(response));
 
         if (response.getError_code() != 0) {
             result.setError(response.getError_code() + " - " + response.getError_msg());
@@ -178,7 +179,7 @@ public class BaiduApiHelper {
         if (faceLiveness >= 0.39d) {
             result.setPass(true);
         } else {
-            result.setError("faceLiveness: " + faceLiveness + " < 0.39");
+            result.setError("faceLiveness=" + faceLiveness + " but less than 0.39");
         }
 
         return result;
@@ -190,7 +191,7 @@ public class BaiduApiHelper {
         result.setApiLimit(false);
         result.setScore(0d);
         result.setFaceNum(0);
-        result.setJsonResult(new JsonHelper().toJson(response));
+        result.setJsonResult(new JsonHelper().style(Include.NON_NULL).toJson(response));
 
         if (response.getError_code() != 0) {
             result.setError(response.getError_code() + " - " + response.getError_msg());
@@ -214,7 +215,7 @@ public class BaiduApiHelper {
         if (score >= expectFaceCompareScore) {
             result.setPass(true);
         } else {
-            result.setError("faceScore: " + score + " < " + expectFaceCompareScore);
+            result.setError("faceScore=" + score + " but less than " + expectFaceCompareScore);
         }
 
         return result;

+ 5 - 4
examcloud-starters/examcloud-face-verify-starter/src/main/java/cn/com/qmth/examcloud/starters/face/verify/model/faceplus/FacePlusApiHelper.java

@@ -6,6 +6,7 @@ import cn.com.qmth.examcloud.starters.face.verify.common.FaceVerifyException;
 import cn.com.qmth.examcloud.starters.face.verify.common.HttpClientBuilder;
 import cn.com.qmth.examcloud.starters.face.verify.common.JsonHelper;
 import cn.com.qmth.examcloud.starters.face.verify.model.FaceResult;
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import okhttp3.FormBody;
 import okhttp3.Request;
 import okhttp3.Response;
@@ -38,7 +39,7 @@ public class FacePlusApiHelper {
         result.setApiLimit(false);
         result.setScore(0d);
         result.setFaceNum(0);
-        result.setJsonResult(new JsonHelper().toJson(response));
+        result.setJsonResult(new JsonHelper().style(Include.NON_NULL).toJson(response));
 
         if (StringUtils.isNotEmpty(response.getError_message())) {
             result.setError(response.getError_message());
@@ -57,7 +58,7 @@ public class FacePlusApiHelper {
             // 是否人脸检测通过 (只有一张人脸算成功,否则算失败)
             result.setPass(true);
         } else {
-            result.setError("faceNum: " + faceNum + " notEq 1");
+            result.setError("faceNum=" + faceNum + " but notEq 1");
         }
 
         return result;
@@ -80,7 +81,7 @@ public class FacePlusApiHelper {
         result.setApiLimit(false);
         result.setScore(0d);
         result.setFaceNum(0);
-        result.setJsonResult(new JsonHelper().toJson(response));
+        result.setJsonResult(new JsonHelper().style(Include.NON_NULL).toJson(response));
 
         if (StringUtils.isNotEmpty(response.getError_message())) {
             result.setError(response.getError_message());
@@ -101,7 +102,7 @@ public class FacePlusApiHelper {
             if (confidence >= thresholds.getLe_4()) {
                 result.setPass(true);
             } else {
-                result.setError("faceConfidence: " + confidence + " < " + thresholds.getLe_4());
+                result.setError("faceConfidence=" + confidence + " but less than " + thresholds.getLe_4());
             }
 
             if (response.getFaces2() != null) {