提交修改

This commit is contained in:
quyixiao 2025-03-13 23:41:56 +08:00
parent 7184b511d4
commit ec7e1b7a60
6 changed files with 319 additions and 2 deletions

View File

@ -13,7 +13,7 @@ public class ARecognizeCharacterRequest extends ACommonTextRequest {
* 10
* 取值 >= 5
*/
public Integer minHeight;
public Integer minHeight = 5 ;
/**
@ -24,7 +24,7 @@ public class ARecognizeCharacterRequest extends ACommonTextRequest {
* 示例值:
* true
*/
public Boolean outputProbability;
public Boolean outputProbability = true;
}

View File

@ -0,0 +1,84 @@
package com.heyu.api.controller.certificate;
import com.aliyun.ocr20191230.models.RecognizeDriverLicenseResponse;
import com.aliyun.ocr20191230.models.RecognizeDriverLicenseResponseBody;
import com.heyu.api.alibaba.handle.common.text.ARecognizeDriverLicenseHandle;
import com.heyu.api.alibaba.request.common.text.ARecognizeDriverLicenseRequest;
import com.heyu.api.controller.BaseController;
import com.heyu.api.controller.resp.RecognizeDriverLicenseBackResp;
import com.heyu.api.controller.resp.RecognizeDriverLicenseFaceResp;
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;
/**
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DEMO&lang=JAVA
* <p>
* 驾驶证识别
* <p>
* RecognizeDriverLicense
*/
@Slf4j
@RestController
@RequestMapping("/driver/license")
@NotIntercept
public class RecognizeDriverLicenseController extends BaseController {
@Autowired
private ARecognizeDriverLicenseHandle aRecognizeDriverLicenseHandle;
@RequestMapping("/recognize")
public R recognize(ARecognizeDriverLicenseRequest request) {
RecognizeDriverLicenseFaceResp faceResp = new RecognizeDriverLicenseFaceResp();
RecognizeDriverLicenseBackResp backResp = new RecognizeDriverLicenseBackResp();
ApiR<RecognizeDriverLicenseResponse> aR = aRecognizeDriverLicenseHandle.handle(request);
if (aR.isSuccess()) {
RecognizeDriverLicenseResponse response = aR.getData();
if (isSuccessStatusCode(response.getStatusCode())) {
RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyData
responseBodyData = response.getBody().getData();
if ("face".equals(request.getSide())) {
RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyDataFaceResult
faceResult = responseBodyData.getFaceResult();
faceResp.setVehicleType(faceResult.getVehicleType());
faceResp.setIssueDate(faceResult.getIssueDate());
faceResp.setEndDate(faceResult.getEndDate());
faceResp.setGender(faceResult.getGender());
faceResp.setAddress(faceResult.getAddress());
faceResp.setStartDate(faceResult.getStartDate());
faceResp.setLicenseNumber(faceResult.getLicenseNumber());
faceResp.setNationality(faceResult.getNationality());
faceResp.setIssueUnit(faceResult.getIssueUnit());
faceResp.setNationality(faceResult.getNationality());
faceResp.setBirthDate(faceResult.getBirthDate());
return R.ok().setData(faceResp);
}
if ("back".equals(request.getSide())) {
RecognizeDriverLicenseResponseBody.RecognizeDriverLicenseResponseBodyDataBackResult
backResult = responseBodyData.getBackResult();
backResp.setArchiveNumber(backResult.getArchiveNumber());
backResp.setName(backResult.getName());
backResp.setCardNumber(backResult.getCardNumber());
backResp.setRecord(backResult.getRecord());
return R.ok().setData(backResp);
}
}
}
return R.error("识别失败");
}
}

View File

@ -0,0 +1,43 @@
package com.heyu.api.controller.certificate.card;
import com.aliyun.ocr20191230.models.RecognizeCharacterResponse;
import com.heyu.api.alibaba.handle.common.text.ARecognizeCharacterHandle;
import com.heyu.api.alibaba.request.common.text.ARecognizeCharacterRequest;
import com.heyu.api.controller.BaseController;
import com.heyu.api.controller.request.card.CharacterRecognizeRequest;
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;
/**
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeCharacter?tab=DEMO&lang=JAVA
* 通用识别
* <p>
* RecognizeCharacter
*/
@Slf4j
@RestController
@RequestMapping("/character")
@NotIntercept
public class CharacterRecognizeController extends BaseController {
@Autowired
private ARecognizeCharacterHandle aRecognizeCharacterHandle;
@RequestMapping("/recognize")
@CacheResult
public R recognize(CharacterRecognizeRequest request) {
ARecognizeCharacterRequest arRecognizeCharacterRequest = new ARecognizeCharacterRequest();
arRecognizeCharacterRequest.setImageUrl(request.getImageUrl());
arRecognizeCharacterRequest.setImageBase64(request.getImageBase64());
ApiR<RecognizeCharacterResponse> aR = aRecognizeCharacterHandle.handle(arRecognizeCharacterRequest);
return R.ok().setData(aR.getData());
}
}

View File

@ -0,0 +1,29 @@
package com.heyu.api.controller.request.card;
import com.heyu.api.data.dto.BaseRequest;
import lombok.Data;
/***
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeCharacter?tab=DEMO&lang=JAVA
*通用识别
*
* RecognizeCharacter
*
*/
@Data
public class CharacterRecognizeRequest extends BaseRequest {
/**
* 文字图片的url
*/
private String imageUrl;
/**
* 文字图片 base 64 编码
*/
private String imageBase64;
}

View File

@ -0,0 +1,49 @@
package com.heyu.api.controller.resp;
import lombok.Data;
/***
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DOC&lang=JAVA
*/
@Data
public class RecognizeDriverLicenseBackResp {
/***
* 档案编号
*
* 示例值:
* 130601473955
*/
public String archiveNumber;
/**
* 证号
*
* 示例值:
* 210288898898898888
*/
public String cardNumber;
/**
* 姓名
*
* 示例值:
* 张三
*/
public String name;
/**
* 记录
*
* 示例值:
* 实习期至2019年05月06日
*/
public String record;
}

View File

@ -0,0 +1,112 @@
package com.heyu.api.controller.resp;
import lombok.Data;
/***
* https://next.api.aliyun.com/api/ocr/2019-12-30/RecognizeDriverLicense?tab=DOC&lang=JAVA
*/
@Data
public class RecognizeDriverLicenseFaceResp {
/***
* 驾驶证准驾车型
*
* 示例值:
* C1
*/
private String vehicleType;
/***
* 初次发证日期格式YYYYMMDD例如 19800101 1980 01 01
*
* 示例值:
* 20130208
*
*
*/
private String issueDate;
/***
*
*/
private String endDate;
/***
* 性别
*
* 示例值:
* 男der
*/
private String gender;
/***
* 地址
*
* 示例值:
* 江苏省徐州市铜山区棠张镇田河村1队129号
*/
private String address;
/***
*
*/
private String startDate;
/***
* 证号
*
* 示例值:
* 210288898898898888
*/
private String licenseNumber;
/***
* 姓名
*
* 示例值:
* 张三
*/
private String name;
/***
* 发证单位
*
* 示例值:
* 江苏省徐州市公安局交通巡逻警察支队
*/
private String issueUnit;
/***
* 国籍
*
* 示例值:
* 中国
*/
private String nationality;
/***
* 出生日期
*
* 示例值:
* 1992-05-20
*/
private String birthDate;
}