diff --git a/docus-client-interface/src/main/java/com/docus/server/api/ocr/OcrApi.java b/docus-client-interface/src/main/java/com/docus/server/api/ocr/OcrApi.java new file mode 100644 index 0000000..04be6c1 --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/api/ocr/OcrApi.java @@ -0,0 +1,35 @@ +package com.docus.server.api.ocr; + +import com.docus.server.vo.ocr.OcrResponse; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + + +/** + * ocr + * + * @author AutoGenerator + * @since 2023-07-15 + */ +@Api(value = "OCR接口", tags = "OCR接口") +@FeignClient(url = "${ocr.api-url:http://192.168.16.85:9999}", name = "docus-segmentation.OcrApi") +public interface OcrApi { + + /** + * ocr文件上传识别 + */ + @ApiOperation("ocr文件上传识别") + @PostMapping("/uploadfile") + @ApiImplicitParams({ + @ApiImplicitParam(name = "file", value = "文件", required = true, dataTypeClass = MultipartFile.class) + }) + OcrResponse uploadFile(@RequestParam(value = "filetype") String fileType, @RequestPart("file") MultipartFile[] multipartFiles); + +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/ocr/BoxResult.java b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/BoxResult.java new file mode 100644 index 0000000..fd72f0e --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/BoxResult.java @@ -0,0 +1,15 @@ +package com.docus.server.vo.ocr; + +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +@ApiModel(value = "BoxResult", description = "BoxResult") +public class BoxResult { +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrResponse.java b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrResponse.java new file mode 100644 index 0000000..10bd6da --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrResponse.java @@ -0,0 +1,30 @@ +package com.docus.server.vo.ocr; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +@ApiModel(value = "OcrResponse", description = "OcrResponse") +public class OcrResponse { + + @ApiModelProperty(value = "是否成功") + private boolean success; + + @ApiModelProperty(value = "响应结果") + private List datas; + + @ApiModelProperty(value = "响应结果") + private Long time; + + @ApiModelProperty(value = "响应消息") + private String message; +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrVO.java b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrVO.java new file mode 100644 index 0000000..811ba4a --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/OcrVO.java @@ -0,0 +1,39 @@ +package com.docus.server.vo.ocr; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +@ApiModel(value = "OcrVO", description = "OcrVO") +public class OcrVO { + + @ApiModelProperty(value = "索引") + private Long index; + + @ApiModelProperty(value = "文件类型") + @JsonProperty(value = "file_type") + private String fileType; + + @ApiModelProperty(value = "旋转角度") + private String angle; + + @ApiModelProperty(value = "下降") + private boolean decline; + + @ApiModelProperty(value = "手动阴影") + @JsonProperty(value = "hand_shadow") + private boolean handShadow; + + @ApiModelProperty(value = "排序") + private List sort; +} diff --git a/docus-client-interface/src/main/java/com/docus/server/vo/ocr/SortResult.java b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/SortResult.java new file mode 100644 index 0000000..d1b9c0d --- /dev/null +++ b/docus-client-interface/src/main/java/com/docus/server/vo/ocr/SortResult.java @@ -0,0 +1,21 @@ +package com.docus.server.vo.ocr; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +@ApiModel(value = "SortResult", description = "SortResult") +public class SortResult { + + @ApiModelProperty(value = "排序") + private List box; +} diff --git a/docus-segmentation/src/main/resources/bootstrap.yml b/docus-segmentation/src/main/resources/bootstrap.yml index a4665d3..57e42cf 100644 --- a/docus-segmentation/src/main/resources/bootstrap.yml +++ b/docus-segmentation/src/main/resources/bootstrap.yml @@ -54,6 +54,9 @@ file: uploadFolder: D://docus/source/ uploadCutFolder: D://docus/cut/ +ocr: + api-url: 192.168.16.85:9999 + docus: vm-task-cron: 0/30 * * * * ? collector-package-download-url: http://192.168.16.110:9113