提交修改
This commit is contained in:
parent
2b54bc8222
commit
13fc3585de
@ -108,7 +108,6 @@ public class TIdCardOCRVerificationHandle extends TencentBaseHandle<TTIdCardOCRV
|
|||||||
|| "-6".equals(result)
|
|| "-6".equals(result)
|
||||||
|| "-7".equals(result)
|
|| "-7".equals(result)
|
||||||
) {
|
) {
|
||||||
|
|
||||||
enable = 0 ;
|
enable = 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,6 +118,7 @@ public class TIdCardOCRVerificationHandle extends TencentBaseHandle<TTIdCardOCRV
|
|||||||
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
||||||
apiIdCardEntity.setEnableStatus(enable);
|
apiIdCardEntity.setEnableStatus(enable);
|
||||||
apiIdCardEntity.setUseCount(1L);
|
apiIdCardEntity.setUseCount(1L);
|
||||||
|
|
||||||
apiIdCardDao.insertApiIdCard(apiIdCardEntity);
|
apiIdCardDao.insertApiIdCard(apiIdCardEntity);
|
||||||
|
|
||||||
return resp;
|
return resp;
|
||||||
|
|||||||
@ -33,7 +33,6 @@ import org.springframework.stereotype.Component;
|
|||||||
public class ThirdTIdCardVerificationHandle extends TencentBaseHandle<TTIdCardOCRVerificationRequest, ThirdIdCardResp> {
|
public class ThirdTIdCardVerificationHandle extends TencentBaseHandle<TTIdCardOCRVerificationRequest, ThirdIdCardResp> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApiIdCardDao apiIdCardDao;
|
private ApiIdCardDao apiIdCardDao;
|
||||||
|
|
||||||
@ -88,21 +87,21 @@ public class ThirdTIdCardVerificationHandle extends TencentBaseHandle<TTIdCardOC
|
|||||||
return resp;
|
return resp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ThirdIdCardResp thirdIdCardResp = ThirdUtils.getIdCard(ap.getIdCard(), ap.getName());
|
resp = ThirdUtils.getIdCard(ap.getIdCard(), ap.getName());
|
||||||
if(thirdIdCardResp ==null){
|
if (resp == null) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
int enable = 1 ;
|
int enable = 1;
|
||||||
if(!"0".equals(thirdIdCardResp.getErrorCode()+"")){
|
if (!"0".equals(resp.getErrorCode() + "")) {
|
||||||
enable = 0 ;
|
enable = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ApiIdCardEntity apiIdCardEntity = new ApiIdCardEntity();
|
ApiIdCardEntity apiIdCardEntity = new ApiIdCardEntity();
|
||||||
apiIdCardEntity.setIdCard(ap.getIdCard());
|
apiIdCardEntity.setIdCard(ap.getIdCard());
|
||||||
apiIdCardEntity.setRealName(ap.getName());
|
apiIdCardEntity.setRealName(ap.getName());
|
||||||
apiIdCardEntity.setChannel(ApiConstants.tencent);
|
apiIdCardEntity.setChannel(ApiConstants.third);
|
||||||
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
apiIdCardEntity.setApiResult(JSON.toJSONString(resp));
|
||||||
apiIdCardEntity.setEnableStatus(enable);
|
apiIdCardEntity.setEnableStatus(enable);
|
||||||
apiIdCardEntity.setUseCount(1L);
|
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.request.certificate.ApiIdentityCardSecondRequest;
|
||||||
import com.heyu.api.resp.card.IdCardOCRVerificationResp;
|
import com.heyu.api.resp.card.IdCardOCRVerificationResp;
|
||||||
import com.heyu.api.tencent.handle.TIdCardOCRVerificationHandle;
|
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.request.TTIdCardOCRVerificationRequest;
|
||||||
|
import com.heyu.api.tencent.resp.ThirdIdCardResp;
|
||||||
import com.tencentcloudapi.faceid.v20180301.models.IdCardOCRVerificationResponse;
|
import com.tencentcloudapi.faceid.v20180301.models.IdCardOCRVerificationResponse;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -33,25 +35,62 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/idcard")
|
@RequestMapping("/idcard")
|
||||||
public class IdCardOCRVerificationController {
|
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
|
@Autowired
|
||||||
private TIdCardOCRVerificationHandle tIdCardOCRVerificationHandle;
|
private TIdCardOCRVerificationHandle tIdCardOCRVerificationHandle;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ThirdTIdCardVerificationHandle thirdTIdCardVerificationHandle;
|
||||||
|
|
||||||
|
|
||||||
// http://localhost:8888/idcard/verification?idCardNumber=430529199209255030&realName=瞿贻晓
|
// http://localhost:8888/idcard/verification?idCardNumber=430529199209255030&realName=瞿贻晓
|
||||||
// https://api.1024api.com/api-interface/bank/card/2/verify?bankCardNumber=6214855713516769&realName=瞿贻晓
|
// https://api.1024api.com/api-interface/bank/card/2/verify?bankCardNumber=6214855713516769&realName=瞿贻晓
|
||||||
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
||||||
@RequestMapping("/verification")
|
@RequestMapping("/verification")
|
||||||
public R certification(ApiIdentityCardSecondRequest apiIdentityCardRequest) {
|
public R certification(ApiIdentityCardSecondRequest apiIdentityCardRequest) {
|
||||||
|
|
||||||
|
// 构建基本的返回参数
|
||||||
IdCardOCRVerificationResp idCardOCRVerificationResp = new IdCardOCRVerificationResp();
|
IdCardOCRVerificationResp idCardOCRVerificationResp = new IdCardOCRVerificationResp();
|
||||||
|
idCardOCRVerificationResp.setIdCardNumber(IDCardValidatorUtils.maskIdCard(apiIdentityCardRequest.getIdCardNumber()));
|
||||||
|
idCardOCRVerificationResp.setRealName(IDCardValidatorUtils.maskRealName(apiIdentityCardRequest.getRealName()));
|
||||||
|
|
||||||
|
// 封装请求参数
|
||||||
TTIdCardOCRVerificationRequest ttIdCardOCRVerificationRequest = new TTIdCardOCRVerificationRequest();
|
TTIdCardOCRVerificationRequest ttIdCardOCRVerificationRequest = new TTIdCardOCRVerificationRequest();
|
||||||
ttIdCardOCRVerificationRequest.setIdCard(apiIdentityCardRequest.getIdCardNumber());
|
ttIdCardOCRVerificationRequest.setIdCard(apiIdentityCardRequest.getIdCardNumber());
|
||||||
ttIdCardOCRVerificationRequest.setName(apiIdentityCardRequest.getRealName());
|
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);
|
ApiR<IdCardOCRVerificationResponse> apiR = tIdCardOCRVerificationHandle.handle(ttIdCardOCRVerificationRequest);
|
||||||
if (apiR.isSuccess()) {
|
if (apiR.isSuccess()) {
|
||||||
IdCardOCRVerificationResponse idCardOCRVerificationResponse = apiR.getData();
|
IdCardOCRVerificationResponse idCardOCRVerificationResponse = apiR.getData();
|
||||||
@ -71,37 +110,28 @@ public class IdCardOCRVerificationController {
|
|||||||
* 示例值:0
|
* 示例值:0
|
||||||
*/
|
*/
|
||||||
if ("0".equals(idCardOCRVerificationResponse.getResult())) {
|
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())) {
|
} 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: 证件库服务异常。
|
} else if ("-4".equals(idCardOCRVerificationResponse.getResult()) // -4: 证件库服务异常。
|
||||||
|| "-6".equals(idCardOCRVerificationResponse.getResult()) // -6: 权威比对系统升级中,请稍后再试。
|
|| "-6".equals(idCardOCRVerificationResponse.getResult()) // -6: 权威比对系统升级中,请稍后再试。
|
||||||
|| "-7".equals(idCardOCRVerificationResponse.getResult()) // -7: 认证次数超过当日限制。
|
|| "-7".equals(idCardOCRVerificationResponse.getResult()) // -7: 认证次数超过当日限制。
|
||||||
) {
|
) {
|
||||||
return R.error("服务异常,不会收费");
|
return R.error("服务异常,不会收费");
|
||||||
} else {
|
} else {
|
||||||
idCardOCRVerificationResp.setCode("0"); //其他情况
|
//其他失败情况
|
||||||
|
idCardOCRVerificationResp.setCode(FAILED_CODE);
|
||||||
idCardOCRVerificationResp.setDesc(idCardOCRVerificationResponse.getDescription()); //其他情况
|
idCardOCRVerificationResp.setDesc(idCardOCRVerificationResponse.getDescription()); //其他情况
|
||||||
}
|
}
|
||||||
|
|
||||||
idCardOCRVerificationResp.setIdCardNumber(IDCardValidatorUtils.maskIdCard(apiIdentityCardRequest.getIdCardNumber()));
|
|
||||||
idCardOCRVerificationResp.setRealName(IDCardValidatorUtils.maskRealName(apiIdentityCardRequest.getRealName()));
|
|
||||||
|
|
||||||
return R.ok().setData(idCardOCRVerificationResp);
|
return R.ok().setData(idCardOCRVerificationResp);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -109,4 +139,17 @@ public class IdCardOCRVerificationController {
|
|||||||
return R.error(apiR.getErrorMsg());
|
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