提交修改

This commit is contained in:
quyixiao 2025-03-09 23:29:56 +08:00
parent dce1433fdd
commit f63df1a9ef
2 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,66 @@
package com.heyu.api.controller.certificate.bankcard;
import com.aliyun.ocr20191230.models.RecognizeBankCardResponse;
import com.aliyun.ocr20191230.models.RecognizeBankCardResponseBody;
import com.heyu.api.alibaba.handle.common.text.ARecognizeBankCardHandle;
import com.heyu.api.alibaba.request.common.text.ARecognizeBankCardRequest;
import com.heyu.api.controller.BaseController;
import com.heyu.api.controller.resp.certificate.BankCardRecognizeResp;
import com.heyu.api.data.annotation.CacheResult;
import com.heyu.api.data.annotation.NotIntercept;
import com.heyu.api.data.utils.ApiR;
import com.heyu.api.data.utils.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/bank/card")
@NotIntercept
public class BankCardRecognizeController extends BaseController {
@Autowired
private ARecognizeBankCardHandle recognizeBankCardHandle;
public final static Map<String, String> resultDesc = new HashMap<>();
@RequestMapping("/recognize")
@CacheResult
public R recognize(ARecognizeBankCardRequest commonTextRequest) {
BankCardRecognizeResp bankCardRecognizeResp = new BankCardRecognizeResp();
ApiR<RecognizeBankCardResponse> aR = recognizeBankCardHandle.handle(commonTextRequest);
if (aR.isSuccess()) {
RecognizeBankCardResponse response = aR.getData();
if (isSuccessStatusCode(response.getStatusCode())) {
RecognizeBankCardResponseBody body = response.getBody();
RecognizeBankCardResponseBody.RecognizeBankCardResponseBodyData recognizeBankCardResponseBodyData = body.getData();
bankCardRecognizeResp.setBankCardNumber(recognizeBankCardResponseBodyData.getCardNumber());
bankCardRecognizeResp.setBankName(recognizeBankCardResponseBodyData.getBankName());
bankCardRecognizeResp.setValidDate(recognizeBankCardResponseBodyData.getValidDate());
bankCardRecognizeResp.setBankCardType(recognizeBankCardResponseBodyData.getCardType());
bankCardRecognizeResp.setBankCardTypeDesc(resultDesc.get(recognizeBankCardResponseBodyData.getCardType()));
return R.ok().setData(bankCardRecognizeResp);
}
}
return R.ok(aR.getErrorMsg());
}
static {
resultDesc.put("CC", "贷记卡");
resultDesc.put("SCC", "准贷记卡");
resultDesc.put("DCC", "存贷合一卡");
resultDesc.put("DC", "储蓄卡");
resultDesc.put("PC", "预付卡");
}
}

View File

@ -0,0 +1,53 @@
package com.heyu.api.controller.resp.certificate;
import com.heyu.api.data.dto.BaseResp;
import lombok.Data;
@Data
public class BankCardRecognizeResp extends BaseResp {
/**
* 银行卡号
*
* 示例值:
* 6212262315007683105
*/
private String bankCardNumber;
/***
* 有效日期识别失败则返回空字符串如有多个则用逗号分隔例如03/17,04/05
*
* 示例值:
* 07/26
*/
private String validDate;
/***
* 银行名称识别失败则返回空字符串
*
* 示例值:
* 中国工商银行
*/
private String bankName;
/***
* 银行卡类型取值如下
*
* CC贷记卡
* SCC准贷记卡
* DCC存贷合一卡
* DC储蓄卡
* PC预付卡
* 示例值:
* CC
*/
private String bankCardType;
private String bankCardTypeDesc;
}