|
|
@@ -67,10 +67,10 @@ public class TxOcrClient {
|
|
|
* 医疗器械url识别
|
|
|
* @return
|
|
|
*/
|
|
|
- public ContainsResult medicalDeviceUrlOcr(String imageUrl){
|
|
|
- String ocr = ExtractDocBasic(imageUrl);
|
|
|
- return null;
|
|
|
- }
|
|
|
+// public ContainsResult medicalDeviceUrlOcr(String imageUrl){
|
|
|
+// String ocr = ExtractDocBasic(imageUrl);
|
|
|
+// return null;
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 营业执照识别(监听使用后续关闭掉)
|
|
|
@@ -272,7 +272,7 @@ public class TxOcrClient {
|
|
|
* @param keywords 校验关键词(可传null)
|
|
|
* @return 结构化的ContainsResult
|
|
|
*/
|
|
|
- public static ContainsResult extractAndWrapResult(String imageUrl, String keywords) {
|
|
|
+ public static ContainsResult extractAndWrapResult(String imageUrl, String keywords, LicenseTypeEnum certType) {
|
|
|
ContainsResult result = new ContainsResult();
|
|
|
// 初始化基础字段
|
|
|
result.setImageUrl(imageUrl);
|
|
|
@@ -288,11 +288,12 @@ public class TxOcrClient {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- // 2. 识别证件类型
|
|
|
- LicenseTypeEnum certType = getCertificateType(ocrJson);
|
|
|
- log.info("识别到证件类型:{}(编码:{})", certType.getCode(), certType.getCode());
|
|
|
- result.setMessage("识别到证件类型:" + certType.getCode());
|
|
|
-
|
|
|
+ if(certType == null){
|
|
|
+ // 2. 识别证件类型
|
|
|
+ certType = getCertificateType(ocrJson);
|
|
|
+ log.info("识别到证件类型:{}(编码:{})", certType.getCode(), certType.getCode());
|
|
|
+ result.setMessage("识别到证件类型:" + certType.getCode());
|
|
|
+ }
|
|
|
// 3. 按证件类型提取字段并封装到ContainsResult
|
|
|
switch (certType) {
|
|
|
case BUSINESS_LICENSE:
|
|
|
@@ -313,7 +314,6 @@ public class TxOcrClient {
|
|
|
log.warn(result.getMessage());
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
// 4. 校验关键词(如果传入关键词)
|
|
|
if (keywords != null && result.getBusinessStr() != null) {
|
|
|
boolean contains = result.getBusinessStr().contains(keywords);
|
|
|
@@ -493,8 +493,8 @@ public class TxOcrClient {
|
|
|
/**
|
|
|
* 原有方法:仅提取经营范围
|
|
|
*/
|
|
|
- public static String ExtractDocBasic(String imageUrl) {
|
|
|
- ContainsResult result = extractAndWrapResult(imageUrl, null);
|
|
|
+ public static String ExtractDocBasic(String imageUrl, LicenseTypeEnum certType) {
|
|
|
+ ContainsResult result = extractAndWrapResult(imageUrl, null, certType);
|
|
|
return result.getBusinessStr();
|
|
|
}
|
|
|
|
|
|
@@ -514,17 +514,17 @@ public class TxOcrClient {
|
|
|
}
|
|
|
|
|
|
// ====================== 测试示例 ======================
|
|
|
- public static void main(String[] args) {
|
|
|
- // 测试1:药品经营许可证提取 + 关键词校验
|
|
|
- String drugUrl = "你的药品许可证URL";
|
|
|
- ContainsResult drugResult = TxOcrClient.extractAndWrapResult(drugUrl, "处方药");
|
|
|
- log.info("药品许可证提取结果:\n{}", drugResult.toString());
|
|
|
-
|
|
|
- // 测试2:营业执照提取
|
|
|
- String businessUrl = "你的营业执照URL";
|
|
|
- ContainsResult businessResult = TxOcrClient.extractAndWrapResult(businessUrl, null);
|
|
|
- log.info("\n营业执照提取结果:\n{}", businessResult.toString());
|
|
|
- }
|
|
|
+// public static void main(String[] args) {
|
|
|
+// // 测试1:药品经营许可证提取 + 关键词校验
|
|
|
+// String drugUrl = "你的药品许可证URL";
|
|
|
+// ContainsResult drugResult = TxOcrClient.extractAndWrapResult(drugUrl, "处方药");
|
|
|
+// log.info("药品许可证提取结果:\n{}", drugResult.toString());
|
|
|
+//
|
|
|
+// // 测试2:营业执照提取
|
|
|
+// String businessUrl = "你的营业执照URL";
|
|
|
+// ContainsResult businessResult = TxOcrClient.extractAndWrapResult(businessUrl, null);
|
|
|
+// log.info("\n营业执照提取结果:\n{}", businessResult.toString());
|
|
|
+// }
|
|
|
|
|
|
|
|
|
|