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/service/FileInfoService.java | 21 ++++++++++
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/wechat/FileInfoWechatController.java | 23 +++++++++++
dyh-service/dyh-sys/src/main/java/cn/huge/module/file/controller/web/FileInfoWebController.java | 18 ++++++++
3 files changed, 61 insertions(+), 1 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 b91f202..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
@@ -100,7 +100,7 @@
FileInfoBaseDTO fileInfoBaseDTO = new FileInfoBaseDTO();
BeanUtils.copyProperties(fileInfo, fileInfoBaseDTO);
- // 如果是身份证,就采用ocr失败
+ // 如果是身份证,就调用ocr识别
if (FileOwnerTypeBaseEnum.OWNER_TYPE_202.getIndex().equals(ownerType)){
fileInfoBaseDTO.setIdcardOcrResult(BaiduOcrUtils.ocrIdcard(file.getBytes()));
}
@@ -220,5 +220,21 @@
}
}
+ /**
+ * 删除附件
+ * @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();
+ }
+ }
+
}
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 168fbcc..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
@@ -18,6 +18,7 @@
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;
@@ -96,6 +97,12 @@
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 {
@@ -175,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();
+ }
+ }
+
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
index 52b7bc8..659a334 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/file/service/FileInfoService.java
@@ -11,9 +11,11 @@
import cn.huge.module.file.domain.dto.FileForCatListDTO;
import cn.huge.module.file.domain.dto.UploaderDTO;
import cn.huge.module.file.domain.po.FileInfo;
+import cn.huge.module.file.domain.po.FileRelate;
import cn.huge.module.file.utils.FtpUtils;
import cn.huge.module.file.utils.FtpMultipartFileWrapper;
import cn.huge.module.sys.constant.FileOwnerTypeBaseEnum;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -252,4 +254,23 @@
return fileForCatListDTOList;
}
+ /**
+ * 根据编号删除附件
+ * @param id 附件编号
+ */
+ public void deleteFileById(String id) {
+ try{
+ // 删除关系表
+ QueryWrapper<FileRelate> fileRelateQueryWrapper = new QueryWrapper<>();
+ fileRelateQueryWrapper.eq("file_id", id);
+ fileRelateService.remove(fileRelateQueryWrapper);
+ // 删除附件信息表
+ mapper.deleteById(id);
+ // 删除ftp文件
+ }catch (Exception e){
+ log.error("service方法[FileInfoService.deleteFileById]调用失败,异常信息:"+e, e);
+ throw new ServiceException("FileInfoService.deleteFileById", e);
+ }
+ }
+
}
--
Gitblit v1.8.0