提交修改
This commit is contained in:
parent
2b54bc8222
commit
13fc3585de
@ -108,7 +108,6 @@ public class TIdCardOCRVerificationHandle extends TencentBaseHandle<TTIdCardOCRV
|
||||
|| "-6".equals(result)
|
||||
|| "-7".equals(result)
|
||||
) {
|
||||
|
||||
enable = 0 ;
|
||||
}
|
||||
|
||||
@ -119,6 +118,7 @@ public class TIdCardOCRVerificationHandle extends TencentBaseHandle<TTIdCardOCRV
|
||||
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
||||
apiIdCardEntity.setEnableStatus(enable);
|
||||
apiIdCardEntity.setUseCount(1L);
|
||||
|
||||
apiIdCardDao.insertApiIdCard(apiIdCardEntity);
|
||||
|
||||
return resp;
|
||||
|
||||
@ -33,7 +33,6 @@ import org.springframework.stereotype.Component;
|
||||
public class ThirdTIdCardVerificationHandle extends TencentBaseHandle<TTIdCardOCRVerificationRequest, ThirdIdCardResp> {
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
private ApiIdCardDao apiIdCardDao;
|
||||
|
||||
@ -88,21 +87,21 @@ public class ThirdTIdCardVerificationHandle extends TencentBaseHandle<TTIdCardOC
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
ThirdIdCardResp thirdIdCardResp = ThirdUtils.getIdCard(ap.getIdCard(), ap.getName());
|
||||
if(thirdIdCardResp ==null){
|
||||
resp = ThirdUtils.getIdCard(ap.getIdCard(), ap.getName());
|
||||
if (resp == null) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
int enable = 1 ;
|
||||
if(!"0".equals(thirdIdCardResp.getErrorCode()+"")){
|
||||
enable = 0 ;
|
||||
int enable = 1;
|
||||
if (!"0".equals(resp.getErrorCode() + "")) {
|
||||
enable = 0;
|
||||
}
|
||||
|
||||
ApiIdCardEntity apiIdCardEntity = new ApiIdCardEntity();
|
||||
apiIdCardEntity.setIdCard(ap.getIdCard());
|
||||
apiIdCardEntity.setRealName(ap.getName());
|
||||
apiIdCardEntity.setChannel(ApiConstants.tencent);
|
||||
apiIdCardEntity.setChannel(ApiConstants.third);
|
||||
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
||||
apiIdCardEntity.setEnableStatus(enable);
|
||||
apiIdCardEntity.setUseCount(1L);
|
||||
|
||||
@ -10,7 +10,9 @@ import com.heyu.api.data.utils.R;
|
||||
import com.heyu.api.request.certificate.ApiIdentityCardSecondRequest;
|
||||
import com.heyu.api.resp.card.IdCardOCRVerificationResp;
|
||||
import com.heyu.api.tencent.handle.TIdCardOCRVerificationHandle;
|
||||
import com.heyu.api.tencent.handle.ThirdTIdCardVerificationHandle;
|
||||
import com.heyu.api.tencent.request.TTIdCardOCRVerificationRequest;
|
||||
import com.heyu.api.tencent.resp.ThirdIdCardResp;
|
||||
import com.tencentcloudapi.faceid.v20180301.models.IdCardOCRVerificationResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -33,25 +35,62 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/idcard")
|
||||
public class IdCardOCRVerificationController {
|
||||
|
||||
public final static String SUCCESS_MSG = "姓名和身份证号一致";
|
||||
public final static String FAILED_MSG = "姓名和身份证号不一致";
|
||||
|
||||
public final static String SUCCESS_CODE = "1";
|
||||
public final static String FAILED_CODE = "0";
|
||||
|
||||
@Autowired
|
||||
private TIdCardOCRVerificationHandle tIdCardOCRVerificationHandle;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ThirdTIdCardVerificationHandle thirdTIdCardVerificationHandle;
|
||||
|
||||
|
||||
// http://localhost:8888/idcard/verification?idCardNumber=430529199209255030&realName=瞿贻晓
|
||||
// https://api.1024api.com/api-interface/bank/card/2/verify?bankCardNumber=6214855713516769&realName=瞿贻晓
|
||||
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
||||
@RequestMapping("/verification")
|
||||
public R certification(ApiIdentityCardSecondRequest apiIdentityCardRequest) {
|
||||
|
||||
// 构建基本的返回参数
|
||||
IdCardOCRVerificationResp idCardOCRVerificationResp = new IdCardOCRVerificationResp();
|
||||
idCardOCRVerificationResp.setIdCardNumber(IDCardValidatorUtils.maskIdCard(apiIdentityCardRequest.getIdCardNumber()));
|
||||
idCardOCRVerificationResp.setRealName(IDCardValidatorUtils.maskRealName(apiIdentityCardRequest.getRealName()));
|
||||
|
||||
// 封装请求参数
|
||||
TTIdCardOCRVerificationRequest ttIdCardOCRVerificationRequest = new TTIdCardOCRVerificationRequest();
|
||||
ttIdCardOCRVerificationRequest.setIdCard(apiIdentityCardRequest.getIdCardNumber());
|
||||
ttIdCardOCRVerificationRequest.setName(apiIdentityCardRequest.getRealName());
|
||||
|
||||
|
||||
// 请求腾讯云的第三方平台
|
||||
ApiR<ThirdIdCardResp> thirdIdCardRespApiR = thirdTIdCardVerificationHandle.handle(ttIdCardOCRVerificationRequest);
|
||||
if (thirdIdCardRespApiR.isSuccess()) {
|
||||
ThirdIdCardResp thirdIdCardResp = thirdIdCardRespApiR.getData();
|
||||
|
||||
if (thirdIdCardResp.getResult() != null) {
|
||||
ThirdIdCardResp.ResultDTO resultDTO = thirdIdCardResp.getResult();
|
||||
if (resultDTO.getIsok()) {
|
||||
// 封装请求成功的返回参数
|
||||
fillBaseIdCard(apiIdentityCardRequest.getIdCardNumber(), idCardOCRVerificationResp);
|
||||
idCardOCRVerificationResp.setDesc(SUCCESS_MSG);
|
||||
idCardOCRVerificationResp.setCode(SUCCESS_CODE);
|
||||
} else {
|
||||
idCardOCRVerificationResp.setCode(FAILED_CODE); //其他情况
|
||||
idCardOCRVerificationResp.setDesc(thirdIdCardResp.getReason()); //其他情况
|
||||
}
|
||||
return R.ok().setData(idCardOCRVerificationResp);
|
||||
}
|
||||
}
|
||||
|
||||
ApiR<IdCardOCRVerificationResponse> apiR = tIdCardOCRVerificationHandle.handle(ttIdCardOCRVerificationRequest);
|
||||
if (apiR.isSuccess()) {
|
||||
IdCardOCRVerificationResponse idCardOCRVerificationResponse = apiR.getData();
|
||||
@ -71,37 +110,28 @@ public class IdCardOCRVerificationController {
|
||||
* 示例值:0
|
||||
*/
|
||||
if ("0".equals(idCardOCRVerificationResponse.getResult())) {
|
||||
idCardOCRVerificationResp.setCode("1"); // 姓名和身份证号一致。
|
||||
|
||||
IdCardAddressModel idCardAddressModel = IDCardValidatorUtils.getAddrInfo(apiIdentityCardRequest.getIdCardNumber());
|
||||
// 封装请求成功的返回参数
|
||||
fillBaseIdCard(apiIdentityCardRequest.getIdCardNumber(),idCardOCRVerificationResp);
|
||||
idCardOCRVerificationResp.setDesc(SUCCESS_MSG);
|
||||
idCardOCRVerificationResp.setCode(SUCCESS_CODE); // 姓名和身份证号一致。
|
||||
|
||||
idCardOCRVerificationResp.setCountry(idCardAddressModel.getCountry());
|
||||
idCardOCRVerificationResp.setProvince(idCardAddressModel.getProvince());
|
||||
idCardOCRVerificationResp.setCity(idCardAddressModel.getCity());
|
||||
idCardOCRVerificationResp.setArea(idCardAddressModel.getCounty());
|
||||
idCardOCRVerificationResp.setDetailAddress(idCardAddressModel.getProvince() + idCardAddressModel.getCity() + idCardAddressModel.getCounty());
|
||||
|
||||
idCardOCRVerificationResp.setBirthday(idCardAddressModel.getBirthday());
|
||||
idCardOCRVerificationResp.setSex(idCardAddressModel.getSex());
|
||||
idCardOCRVerificationResp.setSexChar(idCardAddressModel.getSexChar());
|
||||
|
||||
idCardOCRVerificationResp.setDesc("姓名和身份证号一致");
|
||||
} else if ("-1".equals(idCardOCRVerificationResponse.getResult())) {
|
||||
idCardOCRVerificationResp.setCode("0"); // 姓名和身份证号不一致。
|
||||
idCardOCRVerificationResp.setDesc("姓名和身份证号不一致");
|
||||
// 姓名和身份证号不一致, 则返回失败
|
||||
idCardOCRVerificationResp.setCode(FAILED_CODE);
|
||||
idCardOCRVerificationResp.setDesc(FAILED_MSG);
|
||||
|
||||
} else if ("-4".equals(idCardOCRVerificationResponse.getResult()) // -4: 证件库服务异常。
|
||||
|| "-6".equals(idCardOCRVerificationResponse.getResult()) // -6: 权威比对系统升级中,请稍后再试。
|
||||
|| "-7".equals(idCardOCRVerificationResponse.getResult()) // -7: 认证次数超过当日限制。
|
||||
) {
|
||||
return R.error("服务异常,不会收费");
|
||||
} else {
|
||||
idCardOCRVerificationResp.setCode("0"); //其他情况
|
||||
//其他失败情况
|
||||
idCardOCRVerificationResp.setCode(FAILED_CODE);
|
||||
idCardOCRVerificationResp.setDesc(idCardOCRVerificationResponse.getDescription()); //其他情况
|
||||
}
|
||||
|
||||
idCardOCRVerificationResp.setIdCardNumber(IDCardValidatorUtils.maskIdCard(apiIdentityCardRequest.getIdCardNumber()));
|
||||
idCardOCRVerificationResp.setRealName(IDCardValidatorUtils.maskRealName(apiIdentityCardRequest.getRealName()));
|
||||
|
||||
return R.ok().setData(idCardOCRVerificationResp);
|
||||
|
||||
}
|
||||
@ -109,4 +139,17 @@ public class IdCardOCRVerificationController {
|
||||
return R.error(apiR.getErrorMsg());
|
||||
}
|
||||
|
||||
public void fillBaseIdCard(String idCardNumber,IdCardOCRVerificationResp idCardOCRVerificationResp) {
|
||||
IdCardAddressModel idCardAddressModel = IDCardValidatorUtils.getAddrInfo(idCardNumber);
|
||||
// 封装地址信息
|
||||
idCardOCRVerificationResp.setCountry(idCardAddressModel.getCountry());
|
||||
idCardOCRVerificationResp.setProvince(idCardAddressModel.getProvince());
|
||||
idCardOCRVerificationResp.setCity(idCardAddressModel.getCity());
|
||||
idCardOCRVerificationResp.setArea(idCardAddressModel.getCounty());
|
||||
idCardOCRVerificationResp.setDetailAddress(idCardAddressModel.getProvince() + idCardAddressModel.getCity() + idCardAddressModel.getCounty());
|
||||
|
||||
idCardOCRVerificationResp.setBirthday(idCardAddressModel.getBirthday());
|
||||
idCardOCRVerificationResp.setSex(idCardAddressModel.getSex());
|
||||
idCardOCRVerificationResp.setSexChar(idCardAddressModel.getSexChar());
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user