Browse Source

fix 身份证识别

he2802 3 years ago
parent
commit
2f2117c8f0

+ 2 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/face/FaceController.java

@@ -47,10 +47,10 @@ public class FaceController extends BaseController {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         Map<String,String> rs = iFaceService.IDCardOCR(bo);
-        if(Validator.isNotEmpty(rs)){
+        if(Validator.isNotEmpty(rs)&&!rs.containsKey("errorMsg")){
             return AjaxResult.success(rs);
         }else{
-            return AjaxResult.error();
+            return AjaxResult.error(rs.get("errorMsg"));
         }
 
     }

+ 5 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/tencentcloud/service/impl/FaceOcrServiceImpl.java

@@ -103,6 +103,7 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
 
     @Override
     public Map<String,String> IDCardOCR(FaceQueryBo bo) {
+        Map<String,String> rs = new HashMap<>();
         try{
             Credential cred = new Credential(SecretId, SecretKey);
             OcrClient client = new OcrClient(cred, "ap-guangzhou");
@@ -120,7 +121,6 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
                     req.setCardSide("BACK");
                 }
             }
-            Map<String,String> rs = new HashMap<>();
             req.setConfig("{\"CropIdCard\":true}");
             IDCardOCRResponse resp = client.IDCardOCR(req);
             String IdNum = resp.getIdNum();
@@ -128,7 +128,8 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
             String AdvancedInfo = resp.getAdvancedInfo();
             String IdCard =  JSONObject.parseObject(AdvancedInfo).getString("IdCard");
             if(Validator.isEmpty(IdCard)){
-                return null;
+                rs.put("errorMsg","识别错误");
+                return rs;
             }
             OssRequest ossRequest = new OssRequest();
             ossRequest.setUserId(bo.getUserId());
@@ -140,9 +141,10 @@ public class FaceOcrServiceImpl implements IFaceOcrService {
             rs.put("IdImgPath",ossPath);
             return rs;
         }catch (TencentCloudSDKException e){
+            rs.put("errorMsg",e.getMessage());
             System.out.println("错误"+e.getMessage());
         }
-        return null;
+        return rs;
     }
 
     /**