提交修改

This commit is contained in:
quyixiao 2025-03-22 14:42:49 +08:00
parent 0e7a37906e
commit 395494a09e
22 changed files with 718 additions and 11 deletions

View File

@ -27,13 +27,13 @@ public class BHkMacauTaiwanExitentrypermitRequest extends BaiduPdfRequest {
/**
* 是否返回字段置信度默认为 false 即不返回
*/
private String probability = "false";
private String probability = "true";
/**
* 是否返回字段位置坐标默认为 false即不返回
*/
private String location = "false";
private String location = "true";
}

View File

@ -8,7 +8,7 @@ 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 com.heyu.api.resp.certificate.Factors4VerificationResp;
import com.heyu.api.resp.certificate.Factors3VerificationResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@ -38,7 +38,7 @@ public class Factors3VerificationController extends BaseController {
@RequestMapping("/recognize")
@CacheResult
public R recognize(BFourFactorsVerificationRequest request) {
Factors4VerificationResp resp = new Factors4VerificationResp();
Factors3VerificationResp resp = new Factors3VerificationResp();
ApiR<BThreeFactorsVerificationResp> bR = bFourFactorsVerificationHandle.handle(request);

View File

@ -52,7 +52,7 @@ public class Factors4VerificationController extends BaseController {
resp.setVerifyresult(wordsResultDTO.getVerifyresult());
resp.setNamematch(wordsResultDTO.getNamematch());
resp.setCompanymatch(wordsResultDTO.getCompanymatch());
resp.setRegnummatc(wordsResultDTO.getRegnummatch());
resp.setRegnummatch(wordsResultDTO.getRegnummatch());
resp.setIdnummatch(wordsResultDTO.getIdnummatch());
return R.ok().setData(resp);

View File

@ -0,0 +1,94 @@
package com.heyu.api.controller.certificate;
import com.heyu.api.baidu.handle.certificate.BHkMacauTaiwanExitentrypermitHandle;
import com.heyu.api.baidu.request.certificate.BHkMacauTaiwanExitentrypermitRequest;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.MapUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.certificate.BHkMacauPassportReq;
import com.heyu.api.resp.certificate.BHkMacauPassportBackResp;
import com.heyu.api.resp.certificate.BHkMacauPassportFontResp;
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;
import java.util.Map;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* <p>
* <p>
* 港澳台证件识别
* <p>
* 接口描述
* 支持识别4类港澳台出入境证件包含港澳通行证正/反面台湾通行证正/反面台胞证台湾居民来往大陆通行证/反面返乡证港澳居民来往内地通行证/反面支持识别以上4类证件的全部字段信息
* <p>
* <p>
* <p>
* <p>
* hk_mc_passport_front港澳通行证正面
* hk_mc_passport_back港澳通行证反面
*/
@Slf4j
@RestController
@RequestMapping("/hkMacau/passport")
@NotIntercept
public class HkMacauPassportController {
@Autowired
private BHkMacauTaiwanExitentrypermitHandle bhkMacauTaiwanExitentrypermitHandle;
@RequestMapping("/recognize")
@CacheResult
public R recognize(BHkMacauPassportReq request) {
BHkMacauTaiwanExitentrypermitRequest bHkMacauTaiwanExitentrypermitRequest = new BHkMacauTaiwanExitentrypermitRequest();
bHkMacauTaiwanExitentrypermitRequest.setImageUrl(request.getImageUrl());
bHkMacauTaiwanExitentrypermitRequest.setImageBase64(request.getImageBase64());
bHkMacauTaiwanExitentrypermitRequest.setPdfFile(request.getPdfFile());
bHkMacauTaiwanExitentrypermitRequest.setPdfFileNum(request.getPdfFileNum());
bHkMacauTaiwanExitentrypermitRequest.setExitentrypermitType("hk_mc_passport_" + request.getSite());
ApiR<Map> bR = bhkMacauTaiwanExitentrypermitHandle.handle(bHkMacauTaiwanExitentrypermitRequest);
if (bR.isSuccess()) {
Map<String, Object> data = bR.getData();
if (ApiConstants.front.equals(request.getSite())) {
BHkMacauPassportFontResp resp = new BHkMacauPassportFontResp();
resp.setCardNumber(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));
resp.setNameChn(MapUtils.getByExpr(data, "words_result.name_chn.[0].word"));
resp.setNameEng(MapUtils.getByExpr(data, "words_result.name_eng.[0].word"));
resp.setBirthday(MapUtils.getByExpr(data, "words_result.birthday.[0].word"));
resp.setSex(MapUtils.getByExpr(data, "words_result.sex.[0].word"));
resp.setValidDate(MapUtils.getByExpr(data, "words_result.valid_date.[0].word"));
resp.setIssueAuthority(MapUtils.getByExpr(data, "words_result.issue_authority.[0].word"));
resp.setIssuePlace(MapUtils.getByExpr(data, "words_result.issue_place.[0].word"));
resp.setMRZCode(MapUtils.getByExpr(data, "words_result.MRZCode.[0].word"));
return R.ok().setData(resp);
} else {
BHkMacauPassportBackResp resp = new BHkMacauPassportBackResp();
resp.setHkType(MapUtils.getByExpr(data,"words_result.hk_type.[0].word"));// array[] 来往香港签注-种类
resp.setHkValidDate(MapUtils.getByExpr(data,"words_result.hk_valid_date.[0].word"));// array[] 来往香港签注-有效期
resp.setHkRemarks(MapUtils.getByExpr(data,"words_result.hk_remarks.[0].word"));// array[] 来往香港签注-备注
resp.setHkRoundTripNumber(MapUtils.getByExpr(data,"words_result.hk_round_trip_number.[0].word"));// array[] 来往香港签注-往返有效
resp.setMcType(MapUtils.getByExpr(data,"words_result.mc_type.[0].word"));// array[] 来往澳门签注-种类
resp.setMcValidDate(MapUtils.getByExpr(data,"words_result.mc_valid_date.[0].word"));// array[] 来往澳门签注-有效期
resp.setMcRemarks(MapUtils.getByExpr(data,"words_result.mc_remarks.[0].word"));// array[] 来往澳门签注-备注
resp.setMcRoundTripNumber(MapUtils.getByExpr(data,"words_result.mc_round_trip_number.[0].word"));// array[] 来往澳门签注-往返有效
return R.ok().setData(resp);
}
}
return R.error(bR.getErrorMsg());
}
}

View File

@ -0,0 +1,83 @@
package com.heyu.api.controller.certificate;
import com.heyu.api.baidu.handle.certificate.BHkMacauTaiwanExitentrypermitHandle;
import com.heyu.api.baidu.request.certificate.BHkMacauTaiwanExitentrypermitRequest;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.MapUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.certificate.BHkMacauReturnPassportReq;
import com.heyu.api.resp.certificate.BHkMacauReturnPassportBackResp;
import com.heyu.api.resp.certificate.BHkMacauReturnPassportFrontResp;
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;
import java.util.Map;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* <p>
* <p>
* 港澳台证件识别
* <p>
* 接口描述
* 支持识别4类港澳台出入境证件包含港澳通行证正/反面台湾通行证正/反面台胞证台湾居民来往大陆通行证/反面返乡证港澳居民来往内地通行证/反面支持识别以上4类证件的全部字段信息
* <p>
* <p>
* hk_mc_return_passport_front返乡证正面
* hk_mc_return_passport_back返乡证反面
*/
@Slf4j
@RestController
@RequestMapping("/hkMacau/returnpassport")
@NotIntercept
public class HkMacauReturnPassportController {
@Autowired
private BHkMacauTaiwanExitentrypermitHandle bhkMacauTaiwanExitentrypermitHandle;
@RequestMapping("/recognize")
@CacheResult
public R recognize(BHkMacauReturnPassportReq request) {
BHkMacauTaiwanExitentrypermitRequest bHkMacauTaiwanExitentrypermitRequest = new BHkMacauTaiwanExitentrypermitRequest();
bHkMacauTaiwanExitentrypermitRequest.setImageUrl(request.getImageUrl());
bHkMacauTaiwanExitentrypermitRequest.setImageBase64(request.getImageBase64());
bHkMacauTaiwanExitentrypermitRequest.setPdfFile(request.getPdfFile());
bHkMacauTaiwanExitentrypermitRequest.setPdfFileNum(request.getPdfFileNum());
bHkMacauTaiwanExitentrypermitRequest.setExitentrypermitType("hk_mc_return_passport_" + request.getSite());
ApiR<Map> bR = bhkMacauTaiwanExitentrypermitHandle.handle(bHkMacauTaiwanExitentrypermitRequest);
if (bR.isSuccess()) {
Map<String,Object> data = bR.getData();
if (ApiConstants.front.equals(request.getSite())) {
BHkMacauReturnPassportFrontResp resp = new BHkMacauReturnPassportFrontResp();
resp.setType(MapUtils.getByExpr(data,"words_result.type.[0].word"));// array[] 种类
resp.setValidDate(MapUtils.getByExpr(data,"words_result.valid_date.[0].word"));// array[] 有效期
resp.setRemarks(MapUtils.getByExpr(data,"words_result.remarks.[0].word"));// array[] 备注
resp.setRoundTripNumber(MapUtils.getByExpr(data,"words_result.round_trip_number.[0].word"));// array[] 往返有效
return R.ok().setData(resp);
} else {
BHkMacauReturnPassportBackResp resp = new BHkMacauReturnPassportBackResp();
resp.setNameChn(MapUtils.getByExpr(data,"words_result.name_chn.[0].word"));// array[] 姓名
resp.setNameEng(MapUtils.getByExpr(data,"words_result.name_eng.[0].word"));// array[] 姓名英文
resp.setBirthday(MapUtils.getByExpr(data,"words_result.birthday.[0].word"));// array[] 出生日期
resp.setSex(MapUtils.getByExpr(data,"words_result.sex.[0].word"));// array[] 性别
resp.setValidDate(MapUtils.getByExpr(data,"words_result.valid_date.[0].word"));// array[] 有效期限
resp.setIssueAuthority(MapUtils.getByExpr(data,"words_result.issue_authority.[0].word"));// array[] 签发机关
resp.setIssueTimes(MapUtils.getByExpr(data,"words_result.issue_times.[0].word"));// array[] 签发次数
resp.setCardNumber(MapUtils.getByExpr(data,"words_result.card_number.[0].word"));// array[] 证件号码
return R.ok().setData(resp);
}
}
return R.error(bR.getErrorMsg());
}
}

View File

@ -0,0 +1,86 @@
package com.heyu.api.controller.certificate;
import com.heyu.api.baidu.handle.certificate.BHkMacauTaiwanExitentrypermitHandle;
import com.heyu.api.baidu.request.certificate.BHkMacauTaiwanExitentrypermitRequest;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.MapUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.certificate.TaiwanPassportReq;
import com.heyu.api.resp.certificate.TaiwanPassportBackResp;
import com.heyu.api.resp.certificate.TaiwanPassportFrontResp;
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;
import java.util.Map;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* <p>
* <p>
* 港澳台证件识别
* <p>
* 接口描述
* 支持识别4类港澳台出入境证件包含港澳通行证正/反面台湾通行证正/反面台胞证台湾居民来往大陆通行证/反面返乡证港澳居民来往内地通行证/反面支持识别以上4类证件的全部字段信息
* <p>
* <p>
* <p>
* tw_passport_front台湾通行证正面
* tw_passport_back台湾通行证反面
*/
@Slf4j
@RestController
@RequestMapping("/tw/passport")
@NotIntercept
public class TaiwanPassportController {
@Autowired
private BHkMacauTaiwanExitentrypermitHandle bhkMacauTaiwanExitentrypermitHandle;
@RequestMapping("/recognize")
@CacheResult
public R recognize(TaiwanPassportReq request) {
BHkMacauTaiwanExitentrypermitRequest bHkMacauTaiwanExitentrypermitRequest = new BHkMacauTaiwanExitentrypermitRequest();
bHkMacauTaiwanExitentrypermitRequest.setImageUrl(request.getImageUrl());
bHkMacauTaiwanExitentrypermitRequest.setImageBase64(request.getImageBase64());
bHkMacauTaiwanExitentrypermitRequest.setPdfFile(request.getPdfFile());
bHkMacauTaiwanExitentrypermitRequest.setPdfFileNum(request.getPdfFileNum());
bHkMacauTaiwanExitentrypermitRequest.setExitentrypermitType("tw_passport_" + request.getSite());
ApiR<Map> bR = bhkMacauTaiwanExitentrypermitHandle.handle(bHkMacauTaiwanExitentrypermitRequest);
if (bR.isSuccess()) {
Map<String,Object> data = bR.getData();
if (ApiConstants.front.equals(request.getSite())) {
TaiwanPassportFrontResp resp = new TaiwanPassportFrontResp();
resp.setCardNumber(MapUtils.getByExpr(data,"words_result.card_number.[0].word")); // array[] 证件号码
resp.setNameChn(MapUtils.getByExpr(data,"words_result.name_chn.[0].word")); // array[] 姓名
resp.setNameEng(MapUtils.getByExpr(data,"words_result.name_eng.[0].word")); // array[] 姓名英文
resp.setBirthday(MapUtils.getByExpr(data,"words_result.birthday.[0].word")); // array[] 出生日期
resp.setSex(MapUtils.getByExpr(data,"words_result.sex.[0].word")); // array[] 性别
resp.setValidDate(MapUtils.getByExpr(data,"words_result.valid_date.[0].word"));// array[] 有效期限
resp.setIssueAuthority(MapUtils.getByExpr(data,"words_result.issue_authority.[0].word")); // array[] 签发机关
resp.setIssuePlace(MapUtils.getByExpr(data,"words_result.issue_place.[0].word"));// array[] 签发地点
resp.setMRZCode(MapUtils.getByExpr(data,"words_result.MRZCode.[0].word"));// array[] 证件下方第一行
return R.ok().setData(resp);
} else {
TaiwanPassportBackResp resp = new TaiwanPassportBackResp();
resp.setType(MapUtils.getByExpr(data,"words_result.type.[0].word"));// array[] 种类
resp.setValidDate(MapUtils.getByExpr(data,"words_result.valid_date.[0].word"));// array[] 有效期
resp.setRemarks(MapUtils.getByExpr(data,"words_result.remarks.[0].word"));// array[] 备注
resp.setRoundTripNumber(MapUtils.getByExpr(data,"words_result.round_trip_number.[0].word"));// array[] 往返有效
return R.ok().setData(resp);
}
}
return R.error(bR.getErrorMsg());
}
}

View File

@ -0,0 +1,86 @@
package com.heyu.api.controller.certificate;
import com.heyu.api.baidu.handle.certificate.BHkMacauTaiwanExitentrypermitHandle;
import com.heyu.api.baidu.request.certificate.BHkMacauTaiwanExitentrypermitRequest;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.constants.ApiConstants;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.MapUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.request.certificate.TaiwanReturnPassportReq;
import com.heyu.api.resp.certificate.TaiwanReturnPassportBackResp;
import com.heyu.api.resp.certificate.TaiwanReturnPassportFrontResp;
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;
import java.util.Map;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* <p>
* <p>
* 港澳台证件识别
* <p>
* 接口描述
* 支持识别4类港澳台出入境证件包含港澳通行证正/反面台湾通行证正/反面台胞证台湾居民来往大陆通行证/反面返乡证港澳居民来往内地通行证/反面支持识别以上4类证件的全部字段信息
* <p>
* <p>
* <p>
* tw_return_passport_front台胞证正面
* tw_return_passport_back台胞证反面
*/
@Slf4j
@RestController
@RequestMapping("/tw/returnpass")
@NotIntercept
public class TaiwanReturnPassportController {
@Autowired
private BHkMacauTaiwanExitentrypermitHandle bhkMacauTaiwanExitentrypermitHandle;
@RequestMapping("/recognize")
@CacheResult
public R recognize(TaiwanReturnPassportReq request) {
BHkMacauTaiwanExitentrypermitRequest bHkMacauTaiwanExitentrypermitRequest = new BHkMacauTaiwanExitentrypermitRequest();
bHkMacauTaiwanExitentrypermitRequest.setImageUrl(request.getImageUrl());
bHkMacauTaiwanExitentrypermitRequest.setImageBase64(request.getImageBase64());
bHkMacauTaiwanExitentrypermitRequest.setPdfFile(request.getPdfFile());
bHkMacauTaiwanExitentrypermitRequest.setPdfFileNum(request.getPdfFileNum());
bHkMacauTaiwanExitentrypermitRequest.setExitentrypermitType("tw_return_passport_" + request.getSite());
ApiR<Map> bR = bhkMacauTaiwanExitentrypermitHandle.handle(bHkMacauTaiwanExitentrypermitRequest);
if (bR.isSuccess()) {
Map<String, Object> data = bR.getData();
if (ApiConstants.front.equals(request.getSite())) {
TaiwanReturnPassportFrontResp resp = new TaiwanReturnPassportFrontResp();
resp.setNameChn(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 姓名
resp.setNameEng(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 姓名英文
resp.setBirthday(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 出生日期
resp.setSex(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 性别
resp.setValidDate(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 有效期限
resp.setIssueAuthority(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 签发机关
resp.setIssuePlace(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 签发地点
resp.setCardNumber(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 证件号码
resp.setIssueTimes(MapUtils.getByExpr(data, "words_result.card_number.[0].word"));// array[] 签发次数
return R.ok().setData(resp);
} else {
TaiwanReturnPassportBackResp resp = new TaiwanReturnPassportBackResp();
resp.setIdcardName(MapUtils.getByExpr(data, "words_result.idcard_name.[0].word"));// array[] 身份证姓名
resp.setIdcardNumber(MapUtils.getByExpr(data, "words_result.idcard_number.[0].word"));// array[] 身份证号码
resp.setMRZCode1(MapUtils.getByExpr(data, "words_result.MRZCode1.[0].word"));// array[] 证件下方第一行
resp.setMRZCode2(MapUtils.getByExpr(data, "words_result.MRZCode2.[0].word"));// array[] 证件下方第二行
return R.ok().setData(resp);
}
}
return R.error(bR.getErrorMsg());
}
}

View File

@ -0,0 +1,31 @@
package com.heyu.api.request.certificate;
import com.heyu.api.baidu.request.BaiduPdfRequest;
import lombok.Data;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* 港澳台证件识别
*/
@Data
public class BHkMacauPassportReq extends BaiduPdfRequest {
/**
* hk_mc_passport_front港澳通行证正面
* hk_mc_passport_back港澳通行证反面
* tw_passport_front台湾通行证正面
* tw_passport_back台湾通行证反面
* tw_return_passport_front台胞证正面
* tw_return_passport_back台胞证反面
* hk_mc_return_passport_front返乡证正面
* hk_mc_return_passport_back返乡证反面
*/
/**
* front or back
*/
private String site;
}

View File

@ -0,0 +1,35 @@
package com.heyu.api.request.certificate;
import com.heyu.api.baidu.request.BaiduPdfRequest;
import lombok.Data;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* 港澳台证件识别
*/
@Data
public class BHkMacauReturnPassportReq extends BaiduPdfRequest {
/**
* hk_mc_passport_front港澳通行证正面
* hk_mc_passport_back港澳通行证反面
* tw_passport_front台湾通行证正面
* tw_passport_back台湾通行证反面
* tw_return_passport_front台胞证正面
* tw_return_passport_back台胞证反面
* hk_mc_return_passport_front返乡证正面
* hk_mc_return_passport_back返乡证反面
*/
/**
* front or back
*/
private String site;
}

View File

@ -0,0 +1,36 @@
package com.heyu.api.request.certificate;
import com.heyu.api.baidu.request.BaiduPdfRequest;
import lombok.Data;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* 港澳台证件识别
*/
@Data
public class TaiwanPassportReq extends BaiduPdfRequest {
/**
* hk_mc_passport_front港澳通行证正面
* hk_mc_passport_back港澳通行证反面
* tw_passport_front台湾通行证正面
* tw_passport_back台湾通行证反面
* tw_return_passport_front台胞证正面
* tw_return_passport_back台胞证反面
* hk_mc_return_passport_front返乡证正面
* hk_mc_return_passport_back返乡证反面
*/
/**
* front or back
*/
private String site;
}

View File

@ -0,0 +1,34 @@
package com.heyu.api.request.certificate;
import com.heyu.api.baidu.request.BaiduPdfRequest;
import lombok.Data;
/**
* https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740313880415#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Fhk_macau_taiwan_exitentrypermit&method=post
* 港澳台证件识别
*/
@Data
public class TaiwanReturnPassportReq extends BaiduPdfRequest {
/**
* hk_mc_passport_front港澳通行证正面
* hk_mc_passport_back港澳通行证反面
* tw_passport_front台湾通行证正面
* tw_passport_back台湾通行证反面
* tw_return_passport_front台胞证正面
* tw_return_passport_back台胞证反面
* hk_mc_return_passport_front返乡证正面
* hk_mc_return_passport_back返乡证反面
*/
/**
* front or back
*/
private String site;
}

View File

@ -0,0 +1,20 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class BHkMacauPassportBackResp extends BaseResp {
private String hkType;// array[] 来往香港签注-种类
private String hkValidDate;// array[] 来往香港签注-有效期
private String hkRemarks;// array[] 来往香港签注-备注
private String hkRoundTripNumber;// array[] 来往香港签注-往返有效
private String mcType;// array[] 来往澳门签注-种类
private String mcValidDate;// array[] 来往澳门签注-有效期
private String mcRemarks;// array[] 来往澳门签注-备注
private String mcRoundTripNumber;// array[] 来往澳门签注-往返有效
}

View File

@ -0,0 +1,24 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class BHkMacauPassportFontResp extends BaseResp {
private String cardNumber;// array[] 证件号码
private String nameChn;// array[] 姓名
private String nameEng;// array[] 姓名英文
private String birthday;// array[] 出生日期
private String sex;// array[] 性别
private String validDate;// array[] 有效期限
private String issueAuthority;// array[] 签发机关
private String issuePlace;// array[] 签发地点
private String mRZCode;// array[] 证件下方第一行
private String word;// string 字段识别结果以上字段均包含
private String probability;// object{} 字段识别结果置信度当请求参数 probability=true 时返回该字段以上字段均包含
private String average;// float 字段识别结果中各字符的置信度平均值
}

View File

@ -0,0 +1,18 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class BHkMacauReturnPassportBackResp extends BaseResp {
private String nameChn;// array[] 姓名
private String nameEng;// array[] 姓名英文
private String birthday;// array[] 出生日期
private String sex;// array[] 性别
private String validDate;// array[] 有效期限
private String issueAuthority;// array[] 签发机关
private String issueTimes;// array[] 签发次数
private String cardNumber;// array[] 证件号码
}

View File

@ -0,0 +1,13 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class BHkMacauReturnPassportFrontResp extends BaseResp {
private String type;// array[] 种类
private String validDate;// array[] 有效期
private String remarks;// array[] 备注
private String roundTripNumber;// array[] 往返有效
}

View File

@ -8,16 +8,14 @@ import lombok.Data;
public class Factors3VerificationResp extends BaseResp {
/**
* 返回值为:
* -1四要素完全匹配
* -0四要素不完全匹配
*/
private String verifyresult;
/***
* 注册证件号 1匹配 0不匹配 2无法验证
*/
private String idnummatch;
/***
* 法人姓名 1匹配 0不匹配 2无法验证
*/
@ -29,7 +27,7 @@ public class Factors3VerificationResp extends BaseResp {
/***
* 统一社会信用代码 1匹配 0不匹配 2无法验证
*/
private String regnummatc;
private String regnummatch;
}

View File

@ -14,7 +14,10 @@ public class Factors4VerificationResp extends BaseResp {
* -0四要素不完全匹配
*/
private String verifyresult;
/***
* 注册证件号 1匹配 0不匹配 2无法验证
*/
private String idnummatch;
/***
* 法人姓名 1匹配 0不匹配 2无法验证
*/

View File

@ -0,0 +1,15 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class TaiwanPassportBackResp extends BaseResp {
private String type;// array[] 种类
private String validDate;// array[] 有效期
private String remarks;// array[] 备注
private String roundTripNumber;// array[] 往返有效
}

View File

@ -0,0 +1,21 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class TaiwanPassportFrontResp extends BaseResp {
private String cardNumber;// array[] 证件号码
private String nameChn;// array[] 姓名
private String nameEng;// array[] 姓名英文
private String birthday;// array[] 出生日期
private String sex;// array[] 性别
private String validDate;// array[] 有效期限
private String issueAuthority;// array[] 签发机关
private String issuePlace;// array[] 签发地点
private String mRZCode;// array[] 证件下方第一行
}

View File

@ -0,0 +1,15 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class TaiwanReturnPassportBackResp extends BaseResp {
private String idcardName;// array[] 身份证姓名
private String idcardNumber;// array[] 身份证号码
private String mRZCode1;// array[] 证件下方第一行
private String mRZCode2;// array[] 证件下方第二行
}

View File

@ -0,0 +1,23 @@
package com.heyu.api.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class TaiwanReturnPassportFrontResp extends BaseResp {
private String nameChn;// array[] 姓名
private String nameEng;// array[] 姓名英文
private String birthday;// array[] 出生日期
private String sex;// array[] 性别
private String validDate;// array[] 有效期限
private String issueAuthority;// array[] 签发机关
private String issuePlace;// array[] 签发地点
private String cardNumber;// array[] 证件号码
private String issueTimes;// array[] 签发次数
}

View File

@ -1,9 +1,81 @@
package com.api.test;
import com.alibaba.fastjson.JSONObject;
import com.heyu.api.data.utils.MapUtils;
import org.junit.Test;
import java.util.Map;
public class Test1 {
public static void main(String[] args) {
System.out.println("11111111");
System.out.println("22222222");
}
@Test
public void test1() {
String a = "{\n" +
" \"words_result_num\": 9,\n" +
" \"words_result\": {\n" +
" \"card_number\": [\n" +
" {\n" +
" \"word\": \"C00000000\"\n" +
" }\n" +
" ],\n" +
" \"name_chn\": [\n" +
" {\n" +
" \"word\": \"证件样本\"\n" +
" }\n" +
" ],\n" +
" \"name_eng\": [\n" +
" {\n" +
" \"word\": \"ZHENGJIAN,YANGBEN\"\n" +
" }\n" +
" ],\n" +
" \"birthday\": [\n" +
" {\n" +
" \"word\": \"1981.08.03\"\n" +
" }\n" +
" ],\n" +
" \"sex\": [\n" +
" {\n" +
" \"word\": \"\"\n" +
" }\n" +
" ],\n" +
" \"valid_date\": [\n" +
" {\n" +
" \"word\": \"2014.04.21-2024.04.20\"\n" +
" }\n" +
" ],\n" +
" \"issue_authority\": [\n" +
" {\n" +
" \"word\": \"公安部出入境管理局\"\n" +
" }\n" +
" ],\n" +
" \"issue_place\": [\n" +
" {\n" +
" \"word\": \"广东\"\n" +
" }\n" +
" ],\n" +
" \"MRZCode\": [\n" +
" {\n" +
" \"word\": \"CSC000000004<2404200<8108038<6\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"direction\": 0,\n" +
" \"log_id\": 1645241609425709013\n" +
"}\n" +
" ";
System.out.println(a);
Map<String,Object> data = JSONObject.parseObject(a,Map.class);
String b = MapUtils.getByExpr(data,"words_result.card_number.[0].word");
System.out.println(b);
}
}