From c8d79abfc012de3d5cd6749866067b04613276c8 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Mon, 02 Sep 2024 19:50:36 +0800
Subject: [PATCH] 1、新增sys服务删除附件接口
---
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java | 86 ++++++++++++++++++++++++++++++++++++------
1 files changed, 73 insertions(+), 13 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 340bf13..463a767 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,6 +1,8 @@
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.utils.BaiduOcrUtils;
import cn.huge.base.common.utils.ContentTypeUtils;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
@@ -14,6 +16,7 @@
import cn.huge.module.file.service.FileRelateService;
import cn.huge.module.file.utils.FileUtils;
import cn.huge.module.file.utils.FtpUtils;
+import cn.huge.module.sys.constant.FileBaseConsts;
import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
import cn.huge.module.sys.dto.FileInfoBaseDTO;
import com.google.common.collect.Maps;
@@ -22,9 +25,6 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -38,8 +38,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
/**
* @title: 附件信息表接口api-web端
@@ -66,19 +64,25 @@
/**
* 页面附件上传-文件流方式
- * @url {ctx}/api/web/fileInfo/upload/{ownerId}/{ownerType}
+ * @url {ctx}/api/web/fileInfo/upload?mainId=&ownerId=&ownerType=
+ * @param mainId 所属业务主体编号
* @param ownerId 所属业务编号
* @param ownerType 所属业务类型
* @param request 请求头
* @return Object
*/
- @PostMapping("/upload/{ownerId}/{ownerType}")
- public Object upload(@PathVariable(value = "ownerId") String ownerId, @PathVariable(value = "ownerType") String ownerType,
+ @PostMapping("/upload")
+ public Object upload(@RequestParam(value = "mainId") String mainId,
+ @RequestParam(value = "ownerId") String ownerId,
+ @RequestParam(value = "ownerType") String ownerType,
@CurrentUser String userId, MultipartHttpServletRequest request) {
try{
CtUserDTO loginUser = custClient.clientGetUser(userId);
UploaderDTO uploaderDTO = new UploaderDTO();
- BeanUtils.copyProperties(loginUser, uploaderDTO);
+ uploaderDTO.setUploaderId(loginUser.getId());
+ uploaderDTO.setUploaderName(loginUser.getTrueName());
+ uploaderDTO.setUploaderType(FileBaseConsts.UPLOADER_TYPE_1);
+ uploaderDTO.setCustId(loginUser.getCustId());
List<FileInfoBaseDTO> files = new ArrayList<>();
Iterator<String> itr = request.getFileNames();
int fileCount = fileRelateService.countByOwnerIdAndType(ownerId, ownerType)+1;
@@ -92,9 +96,15 @@
if (StringUtils.isEmpty(ownerType)) {
ownerType = FileOwnerTypeBaseEnum.OWNER_TYPE_000.getIndex();
}
- FileInfo fileInfo = service.webPploadFile(file, ownerId, ownerType, fileCount, uploaderDTO);
+ FileInfo fileInfo = service.webUploadFile(file, mainId, ownerId, ownerType, fileCount, uploaderDTO);
FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO();
BeanUtils.copyProperties(fileInfo, fileInfoBaseDTO);
+
+ // 如果是身份证,就调用ocr识别
+ if (FileOwnerTypeBaseEnum.OWNER_TYPE_202.getIndex().equals(ownerType)){
+ fileInfoBaseDTO.setIdcardOcrResult(BaiduOcrUtils.ocrIdcard(file.getBytes()));
+ }
+
files.add(fileInfoBaseDTO);
fileCount++;
} else {
@@ -109,7 +119,7 @@
}
/**
- * 在线查附件
+ * 在线查附件-文件流方式
* @url {ctx}/api/web/fileInfo/show/{id}
* @param id 附件编号
* @param response 响应头
@@ -142,7 +152,7 @@
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
} catch (Exception e) {
- log.error("controller接口[FileInfoWebController.show]请求异常:"+e, e);
+ log.error("controller接口[FileInfoWebController.show]请求失败,异常信息:"+e, e);
throw new ClientException("FileInfoWebController.show", e);
}
}
@@ -169,12 +179,62 @@
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
} catch (Exception e) {
- log.error("controller接口[FileInfoWebController.down]请求异常:"+e, e);
+ log.error("controller接口[FileInfoWebController.down]请求失败,异常信息:"+e, e);
throw new ClientException("FileInfoWebController.down", e);
}
}
+ /**
+ * 查看附件组件-分类查询附件
+ * @url {ctx}/api/web/fileInfo/listFileByCat
+ * @param mainId 所属业务主体编号
+ * @return Object
+ */
+ @GetMapping("/listFileByCat")
+ public Object listFileByCat(@RequestParam(value = "mainId") String mainId, @CurrentUser String userId) {
+ try{
+ Map<String, Object> terms = Maps.newHashMap();
+ // 材料大类
+ String fileOwnerCat = request.getParameter("fileOwnerCat");
+ if (StringUtils.isNotBlank(fileOwnerCat)){
+ terms.put("ownerCat", fileOwnerCat);
+ }
+ // 上传时间区间
+ String createStart = request.getParameter("createStart");
+ String createEnd = request.getParameter("createEnd");
+ if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) {
+ terms.put("createStart", createStart);
+ terms.put("createEnd", createEnd);
+ }
+ // 上传人类型
+ String uploaderType = request.getParameter("uploaderType");
+ if (StringUtils.isNotBlank(uploaderType)){
+ terms.put("uploaderType", uploaderType);
+ }
+ // 所属主体编号
+ terms.put("mainId", mainId);
+ return ReturnSucUtils.getRepInfo(service.webListFileByCat(terms));
+ } catch (Exception e) {
+ log.error("service方法[FileInfoWebController.listFileByCat]请求失败,异常信息:"+e, e);
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
+ /**
+ * 删除附件
+ * @url {ctx}/api/web/fileInfo/deleteFileById?id=
+ * @param id 附件编号
+ * @return Object
+ */
+ @GetMapping("/deleteFileById")
+ public Object deleteFileById(@RequestParam(value = "id") String id) {
+ try {
+ service.deleteFileById(id);
+ return ReturnSucUtils.getRepInfo();
+ } catch (Exception e) {
+ return ReturnFailUtils.getRepInfo();
+ }
+ }
}
--
Gitblit v1.8.0