提交修改
This commit is contained in:
parent
a634e63ae3
commit
2fe680f3d1
@ -0,0 +1,76 @@
|
|||||||
|
package com.heyu.api.data.enums;
|
||||||
|
|
||||||
|
public enum BankCardTypeEnums {
|
||||||
|
|
||||||
|
|
||||||
|
_C("", "0", "", "0", "不能识别"),
|
||||||
|
|
||||||
|
_C1("", "1", "", "1", "借记卡"),
|
||||||
|
|
||||||
|
|
||||||
|
CC("CC", "2", "", "2", "贷记卡"),
|
||||||
|
|
||||||
|
SCC("SCC", "3", "", "3", "准贷记卡"),
|
||||||
|
|
||||||
|
PC("PC", "4", "", "4", "预付卡"),
|
||||||
|
|
||||||
|
DCC("DCC", "", "", "5", "存贷合一卡"),
|
||||||
|
|
||||||
|
DC("DC", "", "", "6", "储蓄卡"),
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
private String alibaba;
|
||||||
|
|
||||||
|
private String baidu;
|
||||||
|
|
||||||
|
private String tencent;
|
||||||
|
|
||||||
|
private String result;
|
||||||
|
|
||||||
|
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
|
||||||
|
BankCardTypeEnums(String alibaba, String baidu, String tencent, String result, String desc) {
|
||||||
|
this.alibaba = alibaba;
|
||||||
|
this.baidu = baidu;
|
||||||
|
this.tencent = tencent;
|
||||||
|
this.result = result;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static BankCardTypeEnums getBaidu(String key ) {
|
||||||
|
|
||||||
|
for (BankCardTypeEnums bankCardTypeEnums : BankCardTypeEnums.values()) {
|
||||||
|
if(bankCardTypeEnums.baidu.equals(key)) {
|
||||||
|
return bankCardTypeEnums;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return BankCardTypeEnums._C;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static BankCardTypeEnums getAlibbaba(String key ) {
|
||||||
|
for (BankCardTypeEnums bankCardTypeEnums : BankCardTypeEnums.values()) {
|
||||||
|
if(bankCardTypeEnums.alibaba.equals(key)) {
|
||||||
|
return bankCardTypeEnums;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return BankCardTypeEnums._C;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getResult() {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,22 +1,28 @@
|
|||||||
package com.heyu.api.data.utils;
|
package com.heyu.api.data.utils;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
public class MapUtils {
|
public class MapUtils {
|
||||||
|
|
||||||
|
|
||||||
public static <T> T getByExpr(Map<String, Object> map, String expression) {
|
public static <T> T getByExpr(Map<String, Object> map, String expression) {
|
||||||
String expressions[] = expression.split("\\.");
|
|
||||||
Object value = null;
|
Object value = null;
|
||||||
|
try {
|
||||||
|
String expressions[] = expression.split("\\.");
|
||||||
|
value = null;
|
||||||
for (int i = 0; i < expressions.length; i++) {
|
for (int i = 0; i < expressions.length; i++) {
|
||||||
String expr = expressions[i];
|
String expr = expressions[i];
|
||||||
if (expr.startsWith("[")) {
|
if (expr.startsWith("[")) {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
Integer exprVal = NumberUtil.objToIntDefault(expr.substring(1, expr.length() - 1), -1);
|
Integer exprVal = NumberUtil.objToIntDefault(expr.substring(1, expr.length() - 1), -1);
|
||||||
if(exprVal == -1){
|
if (exprVal == -1) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,6 +53,9 @@ public class MapUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("getByExpr error map:" + JSON.toJSONString(map) + ",expression:" + expression, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (T) value;
|
return (T) value;
|
||||||
@ -94,5 +103,10 @@ public class MapUtils {
|
|||||||
|
|
||||||
Map data = JSONObject.parseObject(a, Map.class);
|
Map data = JSONObject.parseObject(a, Map.class);
|
||||||
System.out.println(getByExpr(data, "words_result.账号.word.[0]"));
|
System.out.println(getByExpr(data, "words_result.账号.word.[0]"));
|
||||||
|
System.out.println(getByExpr(data, "words_result.公司名称.word.[0]"));
|
||||||
|
System.out.println(getByExpr(data, "words_result.核准号.word.[0]"));
|
||||||
|
System.out.println(getByExpr(data, "words_result.法人.word.[0]"));
|
||||||
|
System.out.println(getByExpr(data, "words_result.编号.word.[0]"));
|
||||||
|
System.out.println(getByExpr(data, "words_result.开户银行.word.[0]"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,4 +47,11 @@ import lombok.Data;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class BAccountOpeningResp {
|
public class BAccountOpeningResp {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,12 +5,16 @@ import com.aliyun.ocr20191230.models.RecognizeBankCardResponse;
|
|||||||
import com.aliyun.ocr20191230.models.RecognizeBankCardResponseBody;
|
import com.aliyun.ocr20191230.models.RecognizeBankCardResponseBody;
|
||||||
import com.heyu.api.alibaba.handle.common.text.ARecognizeBankCardHandle;
|
import com.heyu.api.alibaba.handle.common.text.ARecognizeBankCardHandle;
|
||||||
import com.heyu.api.alibaba.request.common.text.ARecognizeBankCardRequest;
|
import com.heyu.api.alibaba.request.common.text.ARecognizeBankCardRequest;
|
||||||
|
import com.heyu.api.baidu.handle.certificate.BBankcardHandle;
|
||||||
|
import com.heyu.api.baidu.request.certificate.BBankcardRequest;
|
||||||
|
import com.heyu.api.baidu.response.certificate.BBankcardResp;
|
||||||
import com.heyu.api.controller.BaseController;
|
import com.heyu.api.controller.BaseController;
|
||||||
import com.heyu.api.resp.certificate.BankCardRecognizeResp;
|
|
||||||
import com.heyu.api.data.annotation.CacheResult;
|
import com.heyu.api.data.annotation.CacheResult;
|
||||||
import com.heyu.api.data.annotation.NotIntercept;
|
import com.heyu.api.data.annotation.NotIntercept;
|
||||||
|
import com.heyu.api.data.enums.BankCardTypeEnums;
|
||||||
import com.heyu.api.data.utils.ApiR;
|
import com.heyu.api.data.utils.ApiR;
|
||||||
import com.heyu.api.data.utils.R;
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.resp.certificate.BankCardRecognizeResp;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -38,13 +42,37 @@ public class BankCardRecognizeController extends BaseController {
|
|||||||
private ARecognizeBankCardHandle recognizeBankCardHandle;
|
private ARecognizeBankCardHandle recognizeBankCardHandle;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BBankcardHandle bBankcardHandle;
|
||||||
|
|
||||||
public final static Map<String, String> resultDesc = new HashMap<>();
|
public final static Map<String, String> resultDesc = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/recognize")
|
@RequestMapping("/recognize")
|
||||||
@CacheResult
|
@CacheResult
|
||||||
public R recognize(ARecognizeBankCardRequest commonTextRequest) {
|
public R recognize(ARecognizeBankCardRequest commonTextRequest) {
|
||||||
|
BBankcardRequest bBankcardRequest = new BBankcardRequest();
|
||||||
|
bBankcardRequest.setImageUrl(commonTextRequest.getImageUrl());
|
||||||
|
bBankcardRequest.setImageBase64(commonTextRequest.getImageBase64());
|
||||||
BankCardRecognizeResp bankCardRecognizeResp = new BankCardRecognizeResp();
|
BankCardRecognizeResp bankCardRecognizeResp = new BankCardRecognizeResp();
|
||||||
|
|
||||||
|
ApiR<BBankcardResp> bR = bBankcardHandle.handle(bBankcardRequest);
|
||||||
|
if (bR.isSuccess()) {
|
||||||
|
BBankcardResp bBankcardResp = bR.getData();
|
||||||
|
if (bBankcardResp.getResult() != null) {
|
||||||
|
BBankcardResp.ResultDTO resultDTO = bBankcardResp.getResult();
|
||||||
|
bankCardRecognizeResp.setBankCardNumber(resultDTO.getBankCardNumber());
|
||||||
|
bankCardRecognizeResp.setBankName(resultDTO.getBankName());
|
||||||
|
bankCardRecognizeResp.setValidDate(resultDTO.getValidDate());
|
||||||
|
bankCardRecognizeResp.setHolderName(resultDTO.getHolderName());
|
||||||
|
BankCardTypeEnums bankCardTypeEnums = BankCardTypeEnums.getBaidu(resultDTO.getBankCardType() + "");
|
||||||
|
|
||||||
|
bankCardRecognizeResp.setBankCardType(bankCardTypeEnums.getResult());
|
||||||
|
bankCardRecognizeResp.setBankCardTypeDesc(bankCardTypeEnums.getDesc());
|
||||||
|
return R.ok().setData(bankCardRecognizeResp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ApiR<RecognizeBankCardResponse> aR = recognizeBankCardHandle.handle(commonTextRequest);
|
ApiR<RecognizeBankCardResponse> aR = recognizeBankCardHandle.handle(commonTextRequest);
|
||||||
if (aR.isSuccess()) {
|
if (aR.isSuccess()) {
|
||||||
RecognizeBankCardResponse response = aR.getData();
|
RecognizeBankCardResponse response = aR.getData();
|
||||||
@ -54,20 +82,16 @@ public class BankCardRecognizeController extends BaseController {
|
|||||||
bankCardRecognizeResp.setBankCardNumber(recognizeBankCardResponseBodyData.getCardNumber());
|
bankCardRecognizeResp.setBankCardNumber(recognizeBankCardResponseBodyData.getCardNumber());
|
||||||
bankCardRecognizeResp.setBankName(recognizeBankCardResponseBodyData.getBankName());
|
bankCardRecognizeResp.setBankName(recognizeBankCardResponseBodyData.getBankName());
|
||||||
bankCardRecognizeResp.setValidDate(recognizeBankCardResponseBodyData.getValidDate());
|
bankCardRecognizeResp.setValidDate(recognizeBankCardResponseBodyData.getValidDate());
|
||||||
bankCardRecognizeResp.setBankCardType(recognizeBankCardResponseBodyData.getCardType());
|
|
||||||
bankCardRecognizeResp.setBankCardTypeDesc(resultDesc.get(recognizeBankCardResponseBodyData.getCardType()));
|
BankCardTypeEnums bankCardTypeEnums = BankCardTypeEnums.getBaidu(recognizeBankCardResponseBodyData.getCardType() + "");
|
||||||
|
|
||||||
|
bankCardRecognizeResp.setBankCardType(bankCardTypeEnums.getResult());
|
||||||
|
bankCardRecognizeResp.setBankCardTypeDesc(bankCardTypeEnums.getDesc());
|
||||||
return R.ok().setData(bankCardRecognizeResp);
|
return R.ok().setData(bankCardRecognizeResp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return R.ok(aR.getErrorMsg());
|
|
||||||
}
|
|
||||||
|
|
||||||
static {
|
return R.ok(aR.getErrorMsg());
|
||||||
resultDesc.put("CC", "贷记卡");
|
|
||||||
resultDesc.put("SCC", "准贷记卡");
|
|
||||||
resultDesc.put("DCC", "存贷合一卡");
|
|
||||||
resultDesc.put("DC", "储蓄卡");
|
|
||||||
resultDesc.put("PC", "预付卡");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -43,10 +43,6 @@ public class BusinessLicenseRecognizeController extends BaseController {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/recognize")
|
@RequestMapping("/recognize")
|
||||||
@CacheResult
|
@CacheResult
|
||||||
public R recognize(BusinessLicenseRecognizeRequest request) {
|
public R recognize(BusinessLicenseRecognizeRequest request) {
|
||||||
|
|||||||
@ -6,7 +6,9 @@ import com.heyu.api.baidu.request.certificate.BAccountOpeningRequest;
|
|||||||
import com.heyu.api.data.annotation.CacheResult;
|
import com.heyu.api.data.annotation.CacheResult;
|
||||||
import com.heyu.api.data.annotation.NotIntercept;
|
import com.heyu.api.data.annotation.NotIntercept;
|
||||||
import com.heyu.api.data.utils.ApiR;
|
import com.heyu.api.data.utils.ApiR;
|
||||||
|
import com.heyu.api.data.utils.MapUtils;
|
||||||
import com.heyu.api.data.utils.R;
|
import com.heyu.api.data.utils.R;
|
||||||
|
import com.heyu.api.resp.certificate.AccountOpeningResp;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -14,6 +16,15 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://console.bce.baidu.com/support/?_=1740219852952×tamp=1740322721909#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E5%8D%A1%E8%AF%81OCR&api=rest%2F2.0%2Focr%2Fv1%2Faccount_opening&method=post
|
||||||
|
* <p>
|
||||||
|
* <p>
|
||||||
|
* 开户许可证识别
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/account")
|
@RequestMapping("/account")
|
||||||
@ -28,17 +39,18 @@ public class AccountOpeningController {
|
|||||||
@RequestMapping("/opening")
|
@RequestMapping("/opening")
|
||||||
@CacheResult
|
@CacheResult
|
||||||
public R recognize(BAccountOpeningRequest request) {
|
public R recognize(BAccountOpeningRequest request) {
|
||||||
|
AccountOpeningResp accountOpeningResp = new AccountOpeningResp();
|
||||||
ApiR<Map> bR = bAccountOpeningHandle.handle(request);
|
ApiR<Map> bR = bAccountOpeningHandle.handle(request);
|
||||||
|
|
||||||
if (bR.isSuccess()) {
|
if (bR.isSuccess()) {
|
||||||
Map<String, Object> data = bR.getData();
|
Map<String, Object> data = bR.getData();
|
||||||
|
accountOpeningResp.setAccount(MapUtils.getByExpr(data, "words_result.账号.word.[0]"));
|
||||||
|
accountOpeningResp.setCompanyName(MapUtils.getByExpr(data, "words_result.公司名称.word.[0]"));
|
||||||
|
accountOpeningResp.setCheckNumber(MapUtils.getByExpr(data, "words_result.核准号.word.[0]"));
|
||||||
|
accountOpeningResp.setLegalPerson(MapUtils.getByExpr(data, "words_result.法人.word.[0]"));
|
||||||
|
accountOpeningResp.setSerialNumber(MapUtils.getByExpr(data, "words_result.编号.word.[0]"));
|
||||||
|
accountOpeningResp.setOpenAccountBank(MapUtils.getByExpr(data, "words_result.开户银行.word.[0]"));
|
||||||
|
return R.ok().setData(accountOpeningResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return R.error();
|
return R.error();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,13 @@ public class BankCardRecognizeResp extends BaseResp {
|
|||||||
private String bankCardType;
|
private String bankCardType;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String bankCardTypeDesc;
|
private String bankCardTypeDesc;
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 持卡人姓名,不能识别时为空
|
||||||
|
*/
|
||||||
|
private String holderName;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user