diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/common/text/ARecognizeCharacterRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/common/text/ARecognizeCharacterRequest.java
index 05c8fef..4a5175c 100644
--- a/api-third/src/main/java/com/heyu/api/alibaba/request/common/text/ARecognizeCharacterRequest.java
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/common/text/ARecognizeCharacterRequest.java
@@ -13,7 +13,7 @@ public class ARecognizeCharacterRequest extends ACommonTextRequest {
* 10
* 取值 >= 5
*/
- public Integer minHeight;
+ public Integer minHeight = 5 ;
/**
@@ -24,7 +24,7 @@ public class ARecognizeCharacterRequest extends ACommonTextRequest {
* 示例值:
* true
*/
- public Boolean outputProbability;
+ public Boolean outputProbability = true;
}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/RecognizeDriverLicenseController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/RecognizeDriverLicenseController.java
new file mode 100644
index 0000000..3c89568
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/RecognizeDriverLicenseController.java
@@ -0,0 +1,84 @@
+package com.heyu.api.controller.certificate;
+
+import com.aliyun.ocr20191230.models.RecognizeDriverLicenseResponse;
+import com.aliyun.ocr20191230.models.RecognizeDriverLicenseResponseBody;
+import com.heyu.api.alibaba.handle.common.text.ARecognizeDriverLicenseHandle;
+import com.heyu.api.alibaba.request.common.text.ARecognizeDriverLicenseRequest;
+import com.heyu.api.controller.BaseController;
+import com.heyu.api.controller.resp.RecognizeDriverLicenseBackResp;
+import com.heyu.api.controller.resp.RecognizeDriverLicenseFaceResp;
+import com.heyu.api.data.annotation.NotIntercept;
+import com.heyu.api.data.utils.ApiR;
+import com.heyu.api.data.utils.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DEMO&lang=JAVA
+ *
+ * 驾驶证识别
+ *
+ * RecognizeDriverLicense
+ */
+@Slf4j
+@RestController
+@RequestMapping("/driver/license")
+@NotIntercept
+public class RecognizeDriverLicenseController extends BaseController {
+
+
+ @Autowired
+ private ARecognizeDriverLicenseHandle aRecognizeDriverLicenseHandle;
+
+
+ @RequestMapping("/recognize")
+ public R recognize(ARecognizeDriverLicenseRequest request) {
+
+ RecognizeDriverLicenseFaceResp faceResp = new RecognizeDriverLicenseFaceResp();
+ RecognizeDriverLicenseBackResp backResp = new RecognizeDriverLicenseBackResp();
+ ApiR aR = aRecognizeDriverLicenseHandle.handle(request);
+
+
+ if (aR.isSuccess()) {
+ RecognizeDriverLicenseResponse response = aR.getData();
+ if (isSuccessStatusCode(response.getStatusCode())) {
+ RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyData
+ responseBodyData = response.getBody().getData();
+
+ if ("face".equals(request.getSide())) {
+ RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyDataFaceResult
+ faceResult = responseBodyData.getFaceResult();
+
+ faceResp.setVehicleType(faceResult.getVehicleType());
+ faceResp.setIssueDate(faceResult.getIssueDate());
+ faceResp.setEndDate(faceResult.getEndDate());
+ faceResp.setGender(faceResult.getGender());
+ faceResp.setAddress(faceResult.getAddress());
+ faceResp.setStartDate(faceResult.getStartDate());
+ faceResp.setLicenseNumber(faceResult.getLicenseNumber());
+ faceResp.setNationality(faceResult.getNationality());
+ faceResp.setIssueUnit(faceResult.getIssueUnit());
+ faceResp.setNationality(faceResult.getNationality());
+ faceResp.setBirthDate(faceResult.getBirthDate());
+ return R.ok().setData(faceResp);
+ }
+ if ("back".equals(request.getSide())) {
+ RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyDataBackResult
+ backResult = responseBodyData.getBackResult();
+
+ backResp.setArchiveNumber(backResult.getArchiveNumber());
+ backResp.setName(backResult.getName());
+ backResp.setCardNumber(backResult.getCardNumber());
+ backResp.setRecord(backResult.getRecord());
+ return R.ok().setData(backResp);
+ }
+ }
+ }
+
+
+ return R.error("识别失败");
+ }
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/card/CharacterRecognizeController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/card/CharacterRecognizeController.java
new file mode 100644
index 0000000..dc3d6f8
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/certificate/card/CharacterRecognizeController.java
@@ -0,0 +1,43 @@
+package com.heyu.api.controller.certificate.card;
+
+
+import com.aliyun.ocr20191230.models.RecognizeCharacterResponse;
+import com.heyu.api.alibaba.handle.common.text.ARecognizeCharacterHandle;
+import com.heyu.api.alibaba.request.common.text.ARecognizeCharacterRequest;
+import com.heyu.api.controller.BaseController;
+import com.heyu.api.controller.request.card.CharacterRecognizeRequest;
+import com.heyu.api.data.annotation.CacheResult;
+import com.heyu.api.data.annotation.NotIntercept;
+import com.heyu.api.data.utils.ApiR;
+import com.heyu.api.data.utils.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeCharacter?tab=DEMO&lang=JAVA
+ * 通用识别
+ *
+ * RecognizeCharacter
+ */
+@Slf4j
+@RestController
+@RequestMapping("/character")
+@NotIntercept
+public class CharacterRecognizeController extends BaseController {
+
+ @Autowired
+ private ARecognizeCharacterHandle aRecognizeCharacterHandle;
+
+ @RequestMapping("/recognize")
+ @CacheResult
+ public R recognize(CharacterRecognizeRequest request) {
+ ARecognizeCharacterRequest arRecognizeCharacterRequest = new ARecognizeCharacterRequest();
+ arRecognizeCharacterRequest.setImageUrl(request.getImageUrl());
+ arRecognizeCharacterRequest.setImageBase64(request.getImageBase64());
+ ApiR aR = aRecognizeCharacterHandle.handle(arRecognizeCharacterRequest);
+ return R.ok().setData(aR.getData());
+ }
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/request/card/CharacterRecognizeRequest.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/request/card/CharacterRecognizeRequest.java
new file mode 100644
index 0000000..4f7d115
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/request/card/CharacterRecognizeRequest.java
@@ -0,0 +1,29 @@
+package com.heyu.api.controller.request.card;
+
+
+import com.heyu.api.data.dto.BaseRequest;
+import lombok.Data;
+
+/***
+ * https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeCharacter?tab=DEMO&lang=JAVA
+ *通用识别
+ *
+ * RecognizeCharacter
+ *
+ */
+@Data
+public class CharacterRecognizeRequest extends BaseRequest {
+
+
+ /**
+ * 文字图片的url
+ */
+ private String imageUrl;
+
+ /**
+ * 文字图片 base 64 编码
+ */
+ private String imageBase64;
+
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseBackResp.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseBackResp.java
new file mode 100644
index 0000000..3813218
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseBackResp.java
@@ -0,0 +1,49 @@
+package com.heyu.api.controller.resp;
+
+import lombok.Data;
+
+/***
+ * https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DOC&lang=JAVA
+ */
+@Data
+public class RecognizeDriverLicenseBackResp {
+
+ /***
+ * 档案编号。
+ *
+ * 示例值:
+ * 130601473955
+ */
+ public String archiveNumber;
+
+ /**
+ * 证号。
+ *
+ * 示例值:
+ * 210288898898898888
+ */
+ public String cardNumber;
+
+ /**
+ * 姓名。
+ *
+ * 示例值:
+ * 张三
+ */
+ public String name;
+
+ /**
+ * 记录。
+ *
+ * 示例值:
+ * 实习期至2019年05月06日。
+ */
+ public String record;
+
+
+
+
+
+
+
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseFaceResp.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseFaceResp.java
new file mode 100644
index 0000000..2817938
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/resp/RecognizeDriverLicenseFaceResp.java
@@ -0,0 +1,112 @@
+package com.heyu.api.controller.resp;
+
+import lombok.Data;
+
+/***
+ * https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DOC&lang=JAVA
+ */
+@Data
+public class RecognizeDriverLicenseFaceResp {
+
+
+ /***
+ * 驾驶证准驾车型。
+ *
+ * 示例值:
+ * C1
+ */
+ private String vehicleType;
+
+
+ /***
+ * 初次发证日期。格式:YYYYMMDD,例如 19800101,即 1980 年 01 月 01 日。
+ *
+ * 示例值:
+ * 20130208
+ *
+ *
+ */
+ private String issueDate;
+
+ /***
+ *
+ */
+ private String endDate;
+
+ /***
+ * 性别。
+ *
+ * 示例值:
+ * 男der
+ */
+ private String gender;
+
+
+ /***
+ * 地址。
+ *
+ * 示例值:
+ * 江苏省徐州市铜山区棠张镇田河村1队129号
+ */
+ private String address;
+
+ /***
+ *
+ */
+ private String startDate;
+
+
+ /***
+ * 证号。
+ *
+ * 示例值:
+ * 210288898898898888
+ */
+ private String licenseNumber;
+
+
+ /***
+ * 姓名。
+ *
+ * 示例值:
+ * 张三
+ */
+ private String name;
+
+
+ /***
+ * 发证单位。
+ *
+ * 示例值:
+ * 江苏省徐州市公安局交通巡逻警察支队
+ */
+ private String issueUnit;
+
+
+ /***
+ * 国籍。
+ *
+ * 示例值:
+ * 中国
+ */
+ private String nationality;
+
+
+ /***
+ * 出生日期。
+ *
+ * 示例值:
+ * 1992-05-20
+ */
+ private String birthDate;
+
+
+
+
+
+
+
+
+
+
+}