提交修改

This commit is contained in:
quyixiao 2026-05-20 17:46:23 +08:00
parent fe454c4ea7
commit ca7c1fed69

View File

@ -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());