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/wechat/FileInfoWechatController.java |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/wechat/FileInfoWechatController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/wechat/FileInfoWechatController.java
index f077943..6967199 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/wechat/FileInfoWechatController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/wechat/FileInfoWechatController.java
@@ -8,14 +8,17 @@
 import cn.huge.module.client.api.impl.CustClientImpl;
 import cn.huge.module.constant.BaseConsts;
 import cn.huge.module.cust.dto.CtUserDTO;
+import cn.huge.module.cust.dto.PaUserDTO;
 import cn.huge.module.file.domain.dto.UploaderDTO;
 import cn.huge.module.file.domain.po.FileInfo;
 import cn.huge.module.file.service.FileInfoService;
 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 cn.huge.module.utils.BaiduOcrUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -59,22 +62,25 @@
 
     /**
      * 页面附件上传-文件流方式
-     * @url {ctx}/api/wechat/fileInfo/upload/{mainId}/{ownerId}/{ownerType}
+     * @url {ctx}/api/wechat/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);
+            PaUserDTO loginUser = custClient.paClientGetUserAll(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;
@@ -88,9 +94,15 @@
                         if (StringUtils.isEmpty(ownerType)) {
                             ownerType = FileOwnerTypeBaseEnum.OWNER_TYPE_000.getIndex();
                         }
-                        FileInfo fileInfo = service.webUploadFile(file, mainId, ownerId, ownerType, fileCount, uploaderDTO);
+                        FileInfo fileInfo = service.wechatUploadFile(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 {
@@ -170,6 +182,22 @@
         }
     }
 
+    /**
+     * 删除附件
+     * @url {ctx}/api/wechat/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