提交修改
This commit is contained in:
parent
fe454c4ea7
commit
ca7c1fed69
@ -16,73 +16,120 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/***
|
||||
* 识别身份证
|
||||
* https://next.api.aliyun.com/api/Cloudauth/2019-03-07/BankMetaVerify?tab=DOC&lang=JAVA
|
||||
* 银行卡二要素核验控制器
|
||||
*
|
||||
* 功能说明:
|
||||
* 提供银行卡号+姓名二要素核验接口,验证用户输入的银行卡信息是否真实匹配
|
||||
*
|
||||
* https://console.cloud.tencent.com/api/explorer?Product=faceid&Version=2018-03-01&Action=BankCard2EVerification
|
||||
* 接口文档:
|
||||
* - 阿里云:https://next.api.aliyun.com/api/Cloudauth/2019-03-07/BankMetaVerify?tab=DOC&lang=JAVA
|
||||
* - 腾讯云:https://console.cloud.tencent.com/api/explorer?Product=faceid&Version=2018-03-01&Action=BankCard2EVerification
|
||||
*
|
||||
* 购买链接:
|
||||
* - 腾讯云:https://buy.cloud.tencent.com/iai_faceid
|
||||
* - 阿里云:https://www.aliyun.com/product/id-verification
|
||||
*
|
||||
* 核验要素:
|
||||
* - 二要素:银行卡号 + 姓名
|
||||
* - 三要素:银行卡号 + 姓名 + 身份证号
|
||||
* - 四要素:银行卡号 + 姓名 + 身份证号 + 手机号
|
||||
*
|
||||
* https://buy.cloud.tencent.com/iai_faceid
|
||||
*
|
||||
*
|
||||
*
|
||||
* https://www.aliyun.com/product/id-verification?spm=5176.29677750.nav-v2-dropdown-menu-1.d_searchresult_0.6cfb154ad4HNbv&scm=20140722.S_product@@%E4%BA%91%E4%BA%A7%E5%93%81@@3152909._.RL_%E6%A0%B8%E9%AA%8C-LOC_menu~UND~product-OR_ser-PAR1_213e36cb17449009328204518ef754-V_4-RE_productNew-P0_0-P1_0
|
||||
*
|
||||
*
|
||||
* 银行卡二要素核验
|
||||
*
|
||||
*
|
||||
* 银行卡二,三,四要素核验
|
||||
*
|
||||
* BankMetaVerify
|
||||
* @author 系统生成
|
||||
* @version 1.0
|
||||
*/
|
||||
/**
|
||||
* 银行卡二要素核验控制器
|
||||
* <p>
|
||||
* 继承BaseController,提供银行卡二要素核验的HTTP接口
|
||||
* 主要用于验证用户输入的银行卡号和姓名是否匹配
|
||||
* </p>
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/bank/card/2")
|
||||
public class BankCard2MetaController extends BaseController {
|
||||
|
||||
/**
|
||||
* 阿里云银行卡二要素核验处理器
|
||||
*/
|
||||
@Autowired
|
||||
private ABank2MetaVerifyHandle aBankMetaVerifyHandle;
|
||||
|
||||
|
||||
/**
|
||||
* 核验成功提示信息
|
||||
*/
|
||||
public static final String SUCCESS_MSG = "银⾏卡号+姓名信息匹配";
|
||||
|
||||
/**
|
||||
* 核验失败提示信息
|
||||
*/
|
||||
public static final String FAILED_MSG = "银⾏卡号+姓名信息不匹配";
|
||||
|
||||
|
||||
|
||||
// http://localhost:8888/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
// http://172.16.5.230:7848/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
// https://api.1024api.com/api-interface/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
/**
|
||||
* 银行卡二要素核验接口
|
||||
* <p>
|
||||
* 测试地址:
|
||||
* - 本地:http://localhost:8888/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
* - 内网:http://172.16.5.230:7848/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
* - 生产:https://api.1024api.com/api-interface/bank/card/2/verify?bankCard=6214855713516769&realName=瞿贻晓
|
||||
* </p>
|
||||
*
|
||||
* @param bankCard2MetaRequest 银行卡核验请求对象,包含银行卡号和真实姓名
|
||||
* @return R 返回核验结果,包含核验状态和描述信息
|
||||
*/
|
||||
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
|
||||
@RequestMapping("/verify")
|
||||
public R verify(ABank4MetaVerifyRequest bankCard2MetaRequest) {
|
||||
return doVerifyBankCard2(bankCard2MetaRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行银行卡二要素核验业务逻辑
|
||||
* <p>
|
||||
* 核验结果码说明:
|
||||
* - 0:银行卡号+姓名信息一致(核验通过)
|
||||
* - 1:银行卡号+姓名信息不一致(核验失败)
|
||||
* - 2:查无此卡(卡状态异常或已注销)
|
||||
* </p>
|
||||
*
|
||||
* @param bankCard2MetaRequest 银行卡核验请求对象
|
||||
* @return R 返回核验结果,包含核验状态码和描述信息
|
||||
*/
|
||||
public R doVerifyBankCard2(ABank4MetaVerifyRequest bankCard2MetaRequest) {
|
||||
BankCard2MetaResp bankCard2MetaResp = new BankCard2MetaResp();
|
||||
// //1 一致 0 不一致,2查无(卡状态异常或已注销)
|
||||
|
||||
// 调用阿里云API进行银行卡二要素核验
|
||||
ApiR<TBankMetaVerifyResponse> aR = aBankMetaVerifyHandle.handle(bankCard2MetaRequest);
|
||||
|
||||
// API调用成功
|
||||
if (aR.isSuccess()) {
|
||||
TBankMetaVerifyResponse bankMetaVerifyResponse = aR.getData();
|
||||
if (bankMetaVerifyResponse != null) {
|
||||
// 业务错误处理(如参数错误、服务异常等)
|
||||
if (bankMetaVerifyResponse.getCode() == 400) {
|
||||
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
|
||||
bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getMsg());
|
||||
return R.ok().setData(bankCard2MetaResp);
|
||||
}
|
||||
|
||||
// 业务成功处理,解析核验结果
|
||||
if (bankMetaVerifyResponse.getCode() == 200 && bankMetaVerifyResponse.getData() != null) {
|
||||
int result = bankMetaVerifyResponse.getData().getResult();
|
||||
|
||||
// 核验通过:银行卡号和姓名信息一致
|
||||
if (result == 0) {
|
||||
bankCard2MetaResp.setCheckResult(ApiConstants.SUCCESS);
|
||||
bankCard2MetaResp.setDesc(SUCCESS_MSG);
|
||||
} else if (result == 1) {
|
||||
}
|
||||
// 核验失败:银行卡号和姓名信息不一致
|
||||
else if (result == 1) {
|
||||
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
|
||||
bankCard2MetaResp.setDesc(FAILED_MSG);
|
||||
} else {
|
||||
}
|
||||
// 其他情况:查无此卡或其他异常状态
|
||||
else {
|
||||
bankCard2MetaResp.setCheckResult(result + "");
|
||||
bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getData().getMsg());
|
||||
}
|
||||
@ -91,6 +138,7 @@ public class BankCard2MetaController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
// API调用失败,返回错误信息
|
||||
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
|
||||
bankCard2MetaResp.setDesc(aR.getErrorMsg());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user