From ca7c1fed691645cacacf137a649dc688618c0b62 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Wed, 20 May 2026 17:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bankcard/BankCard2MetaController.java | 94 ++++++++++++++----- 1 file changed, 71 insertions(+), 23 deletions(-) diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/bankcard/BankCard2MetaController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/bankcard/BankCard2MetaController.java index f6f69b3..ee6af0f 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/bankcard/BankCard2MetaController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/bankcard/BankCard2MetaController.java @@ -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 + */ +/** + * 银行卡二要素核验控制器 + *

+ * 继承BaseController,提供银行卡二要素核验的HTTP接口 + * 主要用于验证用户输入的银行卡号和姓名是否匹配 + *

*/ @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=瞿贻晓 + /** + * 银行卡二要素核验接口 + *

+ * 测试地址: + * - 本地: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=瞿贻晓 + *

+ * + * @param bankCard2MetaRequest 银行卡核验请求对象,包含银行卡号和真实姓名 + * @return R 返回核验结果,包含核验状态和描述信息 + */ @EbAuthentication(tencent = ApiConstants.TENCENT_AUTH) @RequestMapping("/verify") public R verify(ABank4MetaVerifyRequest bankCard2MetaRequest) { return doVerifyBankCard2(bankCard2MetaRequest); } + /** + * 执行银行卡二要素核验业务逻辑 + *

+ * 核验结果码说明: + * - 0:银行卡号+姓名信息一致(核验通过) + * - 1:银行卡号+姓名信息不一致(核验失败) + * - 2:查无此卡(卡状态异常或已注销) + *

+ * + * @param bankCard2MetaRequest 银行卡核验请求对象 + * @return R 返回核验结果,包含核验状态码和描述信息 + */ public R doVerifyBankCard2(ABank4MetaVerifyRequest bankCard2MetaRequest) { BankCard2MetaResp bankCard2MetaResp = new BankCard2MetaResp(); - // //1 一致 0 不一致,2查无(卡状态异常或已注销) + + // 调用阿里云API进行银行卡二要素核验 ApiR 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());