From 2f9b3a368409fd8505087fc9d93cb62e0c6fb7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 26 Nov 2025 10:48:26 +0800 Subject: [PATCH] =?UTF-8?q?ocr=E8=AF=86=E5=88=AB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ConsStockFlowController.java | 12 +++++++++--- .../src/main/java/com/czg/product/dto/OcrDTO.java | 10 ++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/product/dto/OcrDTO.java diff --git a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java index 077c57b4c..eafe78993 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/admin/ConsStockFlowController.java @@ -1,7 +1,10 @@ package com.czg.controller.admin; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.URLUtil; import com.czg.log.annotation.OperationLog; import com.czg.product.dto.ConsStockFlowDTO; +import com.czg.product.dto.OcrDTO; import com.czg.product.param.ConsCheckStockParam; import com.czg.product.param.ConsInOutStockHeadParam; import com.czg.product.param.ConsReportDamageParam; @@ -18,6 +21,8 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.util.List; @@ -35,13 +40,14 @@ public class ConsStockFlowController { /** * 入库单识别 - * @param file 文件 * @return * @throws IOException */ @PostMapping("/ocr") - public CzgResult ocr(@RequestParam MultipartFile file) throws IOException { - return CzgResult.success(consStockFlowService.ocr(file.getOriginalFilename(), file.getInputStream())); + public CzgResult ocr(@RequestBody OcrDTO ocrDTO) throws IOException { + URL url = new URL(ocrDTO.getUrl()); + InputStream stream = URLUtil.getStream(url); + return CzgResult.success(consStockFlowService.ocr(FileUtil.getName(ocrDTO.getUrl()), stream)); } /** diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/dto/OcrDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/OcrDTO.java new file mode 100644 index 000000000..db10b9563 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/dto/OcrDTO.java @@ -0,0 +1,10 @@ +package com.czg.product.dto; + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +@Data +public class OcrDTO { + @NotBlank + private String url; +}