From 9b8159c0adc5de7a64bf39ae53c88474a9f98bdb Mon Sep 17 00:00:00 2001
From: xusd <hugeinfo123>
Date: Sat, 07 Sep 2024 14:10:42 +0800
Subject: [PATCH] AI相关接口
---
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java | 61 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
index 463a767..8820dc0 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java
@@ -1,7 +1,7 @@
package cn.huge.module.file.controller.web;
import cn.huge.base.common.exception.ClientException;
-import cn.huge.module.sys.dto.IdcardOcrResultDTO;
+import cn.huge.module.file.domain.dto.IdFileDTO;
import cn.huge.module.utils.BaiduOcrUtils;
import cn.huge.base.common.utils.ContentTypeUtils;
import cn.huge.base.common.utils.ReturnFailUtils;
@@ -34,10 +34,8 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* @title: 附件信息表接口api-web端
@@ -185,6 +183,33 @@
}
/**
+ * ocr识别文字
+ * @url {ctx}/api/web/fileInfo/recognitionText?ownerId=&ownerType=
+ * @param request
+ * @return Object
+ */
+ @PostMapping(value = "/recognitionText")
+ public Object recognitionText(MultipartHttpServletRequest request){
+ try{
+ Map<String , Object> result = Maps.newHashMap();
+ Iterator<String> itr = request.getFileNames();
+ while (itr.hasNext()) {
+ MultipartFile file = request.getFile(itr.next());
+ try{
+ Map<String , Object> map = BaiduOcrUtils.ocrText(file.getBytes());
+ result.put("ocrResult", map);
+ }catch (Exception e){
+ log.error("Controller接口[FileInfoController.recognitionText]请求异常:"+e, e);
+ return ReturnFailUtils.getRepInfo("OCR失败!");
+ }
+ }
+ return ReturnSucUtils.getRepInfo("识别成功", result);
+ }catch (Exception e){
+ return ReturnFailUtils.getRepInfo(e.getMessage());
+ }
+ }
+
+ /**
* 查看附件组件-分类查询附件
* @url {ctx}/api/web/fileInfo/listFileByCat
* @param mainId 所属业务主体编号
@@ -236,5 +261,29 @@
}
}
-
+ /**
+ * 根据多个所属编号查询附件并根据先根据ownerId再根据附件类型分组
+ * @url {ctx}/api/web/fileInfo/listIdTypeInfo
+ * @return Object
+ */
+ @PostMapping("/listIdTypeInfo")
+ public Object listIdTypeInfo(@RequestBody IdFileDTO idFileDTO) {
+ try {
+ Map<String, Object> term = new HashMap<>();
+ String ownerIds = idFileDTO.getOwnerIdList().stream().map(String:: valueOf).collect(Collectors.joining("','"));
+ String types = idFileDTO.getTypeList().stream().map(String:: valueOf).collect(Collectors.joining("','"));
+ if(StringUtils.isNotBlank(ownerIds)){
+ ownerIds = "'" + ownerIds + "'";
+ }
+ if(StringUtils.isNotBlank(types)){
+ types = "'" + types + "'";
+ }
+ term.put("ownerIds", ownerIds);
+ term.put("types", types);
+ term.put("mainId", idFileDTO.getMainId());
+ return ReturnSucUtils.getRepInfo(service.listIdTypeInfoByOwnerIdList(term));
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
--
Gitblit v1.8.0