提交修改

This commit is contained in:
quyixiao 2026-05-20 19:48:02 +08:00
parent ca7c1fed69
commit f50e9309b4

View File

@ -16,27 +16,68 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/*** /***
* 识别身份证 * 银行卡四要素核验控制器
* *
* https://market.aliyun.com/apimarket/detail/cmapi00066584#sku=yuncode60584000011 * 功能说明
* 提供银行卡号+姓名+身份证号+手机号四要素核验接口验证用户输入的完整银行卡信息是否真实匹配
* *
* 接口文档
* - 阿里云市场https://market.aliyun.com/apimarket/detail/cmapi00066584#sku=yuncode60584000011
* *
* 核验要素
* - 二要素银行卡号 + 姓名
* - 三要素银行卡号 + 姓名 + 身份证号
* - 四要素银行卡号 + 姓名 + 身份证号 + 手机号
* *
* 安全性
* 四要素核验相比二三要素提供更高级别的身份验证适用于金融支付实名认证等高安全场景
*
* @author 系统生成
* @version 1.0
*/
/**
* 银行卡四要素核验控制器
* <p>
* 继承BaseController提供银行卡四要素核验的HTTP接口
* 主要用于验证用户输入的银行卡号姓名身份证号和手机号是否完全匹配
* </p>
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/bank/card/4") @RequestMapping("/bank/card/4")
public class BankCard4MetaController extends BaseController { public class BankCard4MetaController extends BaseController {
/**
* 阿里云银行卡四要素核验处理器
*/
@Autowired @Autowired
private ABank4MetaVerifyHandle bank4MetaVerifyHandle; private ABank4MetaVerifyHandle bank4MetaVerifyHandle;
/**
* 四要素核验成功提示信息
*/
public static final String SUCCESS_MSG = "银⾏卡号+姓名+身份证号+手机号信息匹配"; public static final String SUCCESS_MSG = "银⾏卡号+姓名+身份证号+手机号信息匹配";
/**
* 四要素核验失败提示信息
*/
public static final String FAILED_MSG = "银⾏卡号+姓名+身份证号码+手机号信息不匹配"; public static final String FAILED_MSG = "银⾏卡号+姓名+身份证号码+手机号信息不匹配";
// http://localhost:8888/bank/card/4/verify?bankCard=6214855713516769&realName=瞿贻晓&idCardNumber=430529199209255030&mobile=18458195149 /**
// https://api.1024api.com/api-interface/bank/card/4/verify?bankCard=6214855713516761&realName=瞿贻晓&idCardNumber=430529199209255030&mobile=18458195149 * 银行卡四要素核验接口
* <p>
* 测试地址
* - 本地http://localhost:8888/bank/card/4/verify?bankCard=6214855713516769&realName=瞿贻晓&idCardNumber=430529199209255030&mobile=18458195149
* - 生产https://api.1024api.com/api-interface/bank/card/4/verify?bankCard=6214855713516761&realName=瞿贻晓&idCardNumber=430529199209255030&mobile=18458195149
* </p>
*
* @param bankCard4MetaRequest 银行卡四要素核验请求对象包含
* - bankCard: 银行卡号
* - realName: 真实姓名
* - idCardNumber: 身份证号
* - mobile: 手机号
* @return R 返回核验结果包含核验状态和描述信息
*/
@RequestMapping("/verify") @RequestMapping("/verify")
@EbAuthentication(tencent = ApiConstants.TENCENT_AUTH) @EbAuthentication(tencent = ApiConstants.TENCENT_AUTH)
public R verify(ABank4MetaVerifyRequest bankCard4MetaRequest) { public R verify(ABank4MetaVerifyRequest bankCard4MetaRequest) {
@ -44,28 +85,55 @@ public class BankCard4MetaController extends BaseController {
} }
/**
* 执行银行卡四要素核验业务逻辑
* <p>
* 核验结果码说明
* - 0银行卡号+姓名+身份证号+手机号信息一致核验通过
* - 1银行卡号+姓名+身份证号+手机号信息不一致核验失败
* - 2查无此卡卡状态异常或已注销
* </p>
* <p>
* 四要素核验相比二三要素核验提供更高级别的安全保障
* 适用于金融支付大额转账实名认证等对安全性要求较高的场景
* </p>
*
* @param bankCard4MetaRequest 银行卡四要素核验请求对象
* @return R 返回核验结果包含核验状态码和描述信息
*/
public R doVerifyBankCard4(ABank4MetaVerifyRequest bankCard4MetaRequest) { public R doVerifyBankCard4(ABank4MetaVerifyRequest bankCard4MetaRequest) {
BankCard2MetaResp bankCard2MetaResp = new BankCard2MetaResp(); BankCard2MetaResp bankCard2MetaResp = new BankCard2MetaResp();
// //1 一致 0 不一致2查无(卡状态异常或已注销)
// 调用阿里云API进行银行卡四要素核验
ApiR<TBankMetaVerifyResponse> aR = bank4MetaVerifyHandle.handle(bankCard4MetaRequest); ApiR<TBankMetaVerifyResponse> aR = bank4MetaVerifyHandle.handle(bankCard4MetaRequest);
// API调用成功
if (aR.isSuccess()) { if (aR.isSuccess()) {
TBankMetaVerifyResponse bankMetaVerifyResponse = aR.getData(); TBankMetaVerifyResponse bankMetaVerifyResponse = aR.getData();
if (bankMetaVerifyResponse != null) { if (bankMetaVerifyResponse != null) {
// 业务错误处理如参数错误服务异常等
if (bankMetaVerifyResponse.getCode() == 400) { if (bankMetaVerifyResponse.getCode() == 400) {
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED); bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getMsg()); bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getMsg());
return R.ok().setData(bankCard2MetaResp); return R.ok().setData(bankCard2MetaResp);
} }
// 业务成功处理解析核验结果
if (bankMetaVerifyResponse.getCode() == 200 && bankMetaVerifyResponse.getData() != null) { if (bankMetaVerifyResponse.getCode() == 200 && bankMetaVerifyResponse.getData() != null) {
int result = bankMetaVerifyResponse.getData().getResult(); int result = bankMetaVerifyResponse.getData().getResult();
// 核验通过四要素信息完全一致
if (result == 0) { if (result == 0) {
bankCard2MetaResp.setCheckResult(ApiConstants.SUCCESS); bankCard2MetaResp.setCheckResult(ApiConstants.SUCCESS);
bankCard2MetaResp.setDesc(SUCCESS_MSG); bankCard2MetaResp.setDesc(SUCCESS_MSG);
} else if (result == 1) { }
// 核验失败四要素信息不一致
else if (result == 1) {
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED); bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
bankCard2MetaResp.setDesc(FAILED_MSG); bankCard2MetaResp.setDesc(FAILED_MSG);
} else { }
// 其他情况查无此卡或其他异常状态
else {
bankCard2MetaResp.setCheckResult(result + ""); bankCard2MetaResp.setCheckResult(result + "");
bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getData().getMsg()); bankCard2MetaResp.setDesc(bankMetaVerifyResponse.getData().getMsg());
} }
@ -74,6 +142,7 @@ public class BankCard4MetaController extends BaseController {
} }
} }
// API调用失败返回错误信息
bankCard2MetaResp.setCheckResult(ApiConstants.FAILED); bankCard2MetaResp.setCheckResult(ApiConstants.FAILED);
bankCard2MetaResp.setDesc(aR.getErrorMsg()); bankCard2MetaResp.setDesc(aR.getErrorMsg());