diff --git a/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/YidaoOcrProperty.java b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/YidaoOcrProperty.java new file mode 100644 index 00000000..199e5b95 --- /dev/null +++ b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/YidaoOcrProperty.java @@ -0,0 +1,24 @@ +package com.ke.bella.openapi.protocol.ocr; + +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.ke.bella.openapi.protocol.AuthorizationProperty; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@Data +@EqualsAndHashCode(callSuper = true) +public class YidaoOcrProperty extends OcrProperty { + + AuthorizationProperty auth; + + @Override + public Map description() { + Map map = super.description(); + map.put("auth", "鉴权配置"); + return map; + } +} diff --git a/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardRequest.java b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardRequest.java new file mode 100644 index 00000000..0776a62d --- /dev/null +++ b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardRequest.java @@ -0,0 +1,42 @@ +package com.ke.bella.openapi.protocol.ocr.tmp_idcard; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.ke.bella.openapi.protocol.IMemoryClearable; +import com.ke.bella.openapi.protocol.ITransfer; + +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class YidaoOcrTmpIdcardRequest implements IMemoryClearable, ITransfer { + + @JsonProperty("app_key") + private String appKey; + + @JsonProperty("app_secret") + private String appSecret; + + @JsonProperty("image_base64") + private String imageBase64; + + @JsonProperty("image_url") + private String imageUrl; + + @JsonIgnore + private volatile boolean cleared = false; + + @Override + public void clearLargeData() { + if(!cleared) { + this.imageBase64 = null; + this.cleared = true; + } + } + + @Override + public boolean isCleared() { + return cleared; + } +} diff --git a/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardResponse.java b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardResponse.java new file mode 100644 index 00000000..493e75d1 --- /dev/null +++ b/api/sdk/src/main/java/com/ke/bella/openapi/protocol/ocr/tmp_idcard/YidaoOcrTmpIdcardResponse.java @@ -0,0 +1,55 @@ +package com.ke.bella.openapi.protocol.ocr.tmp_idcard; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import lombok.Data; + +@Data +public class YidaoOcrTmpIdcardResponse { + + private Result result; + + @JsonProperty("error_code") + private Integer errorCode; + + private String description; + + @JsonProperty("request_id") + private String requestId; + + @JsonProperty("recognize_time") + private Integer recognizeTime; + + @JsonProperty("available_count") + private Integer availableCount; + + @Data + public static class Result { + private FieldInfo name; + private FieldInfo gender; + private FieldInfo nationality; + private FieldInfo birthdate; + private FieldInfo address; + private FieldInfo idno; + private FieldInfo issued; + private FieldInfo valid; + } + + @Data + public static class FieldInfo { + private String words; + private Float score; + private Position position; + @JsonProperty("chinese_key") + private String chineseKey; + private String quad; + } + + @Data + public static class Position { + private Integer left; + private Integer top; + private Integer width; + private Integer height; + } +}