Przeglądaj źródła

Ias ocr校验

master
chenchaod 1 miesiąc temu
rodzic
commit
08b8d6268a

+ 43
- 32
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/audit/VerificationRuleManagerImpl.java Wyświetl plik

@@ -135,22 +135,7 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements
if (IdType.SFZ.equals(model.getCustomerIdType())) {
ocrVarifyIdCard(model.getCustomerName(), model.getCustomerIdNum(), model.getCusPosImageUrl(), builder, "用户");
} else if (IdType.YYZZ.equals(model.getCustomerIdType())) {
OcrResult exist = ocrResultRepo.findByUrlAndType(model.getCusPosImageUrl(), OcrType.business_license);
if (exist == null) {
builder.append("用户证件正面照未找到识别结果;");
} else {
try {
BusinessLicenseOcrResponse res = JsonTools.json2Object(exist.getResult(), BusinessLicenseOcrResponse.class);
if (!model.getCustomerName().equals(res.getUnitName())) {
builder.append("用户名称【" + model.getCustomerName() + "】与系统识别结果【" + res.getUnitName() + "】不一致;");
}
if (!model.getCustomerIdNum().equals(res.getSCreditCode())) {
builder.append("用户证件号码【" + model.getCustomerIdNum() + "】与系统识别结果【" + res.getSCreditCode() + "】不一致;");
}
} catch (IOException e) {
builder.append("用户证件正面照识别结果异常;");
}
}
ocrVarifyBusinessLicense(model.getCustomerName(), model.getCustomerIdNum(), model.getCusPosImageUrl(), builder, "用户");
} else {
builder.append("用户证件-特殊证件类型;");
}
@@ -159,22 +144,7 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements
if (IdType.SFZ.equals(model.getOwnerIdType())) {
ocrVarifyIdCard(model.getOwnerName(), model.getOwnerIdNum(), model.getOwnerPosImgUrl(), builder, "车主");
} else if (IdType.YYZZ.equals(model.getOwnerIdType())) {
OcrResult exist = ocrResultRepo.findByUrlAndType(model.getOwnerPosImgUrl(), OcrType.business_license);
if (exist == null) {
builder.append("车主营业执照未找到识别结果;");
} else {
try {
BusinessLicenseOcrResponse res = JsonTools.json2Object(exist.getResult(), BusinessLicenseOcrResponse.class);
if (!model.getCustomerName().equals(res.getUnitName())) {
builder.append("用户营业执照名称【" + model.getCustomerName() + "】与系统识别结果【" + res.getUnitName() + "】不一致;");
}
if (!model.getCustomerIdNum().equals(res.getSCreditCode())) {
builder.append("用户营业执照证件号码【" + model.getCustomerIdNum() + "】与系统识别结果【" + res.getSCreditCode() + "】不一致;");
}
} catch (IOException e) {
builder.append("车主营业执照识别结果异常;");
}
}
ocrVarifyBusinessLicense(model.getOwnerName(), model.getOwnerIdNum(), model.getOwnerPosImgUrl(), builder, "车主");
}else {
builder.append("车主证件-特殊证件类型;");
}
@@ -222,6 +192,47 @@ public class VerificationRuleManagerImpl extends AbstractCommManager implements
}
}

/**
* 营业执照OCR校验
* @param name 单位名称
* @param busNum 社会信用代码
* @param imagUrl 营业执照图片地址
* @param builder 错误信息收集
* @param msg 错误信息个性化前缀
*/
public void ocrVarifyBusinessLicense(String name,String busNum, String imagUrl,StringBuilder builder, String msg) {
ocrVarifyBusinessLicense(name, busNum, imagUrl,null, builder, msg);
}

/**
* 营业执照OCR校验
* @param name 单位名称
* @param busNum 社会信用代码
* @param imagUrl 营业执照图片地址
* @param ocrId OCR结果ID
* @param builder 错误信息收集
* @param msg 错误信息个性化前缀
*/
public void ocrVarifyBusinessLicense(String name,String busNum, String imagUrl,String ocrId, StringBuilder builder, String msg) {
OcrResult exist = ocrResultRepo.findByUrlAndType(imagUrl, OcrType.business_license);
if (exist == null) {
exist = ocrResultRepo.findById(ocrId).orElse(null);
if (exist == null) builder.append(msg+"营业执照未找到识别结果;");
} else {
try {
BusinessLicenseOcrResponse res = JsonTools.json2Object(exist.getResult(), BusinessLicenseOcrResponse.class);
if (!name.equals(res.getUnitName())) {
builder.append(msg+"营业执照名称【" + name + "】与系统识别结果【" + res.getUnitName() + "】不一致;");
}
if (!busNum.equals(res.getSCreditCode())) {
builder.append(msg+"营业执照证件号码【" + busNum + "】与系统识别结果【" + res.getSCreditCode() + "】不一致;");
}
} catch (IOException e) {
builder.append(msg+"营业执照识别结果异常;");
}
}
}


/**
* 车辆OCR校验

Ładowanie…
Anuluj
Zapisz