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 | 85 +++++++++++++++++++++++++++++++++++------- 1 files changed, 71 insertions(+), 14 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 1d1ab60..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,22 +64,25 @@ /** * 页面附件上传-文件流方式 - * @url {ctx}/api/web/fileInfo/upload/{mainId}/{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 = "mainId") String mainId, - @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; @@ -98,6 +99,12 @@ 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 { @@ -112,7 +119,7 @@ } /** - * 在线查附件 + * 在线查附件-文件流方式 * @url {ctx}/api/web/fileInfo/show/{id} * @param id 附件编号 * @param response 响应头 @@ -145,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); } } @@ -172,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