Bläddra i källkod

Merge remote-tracking branch 'origin/dev2' into dev2

lwhhszx 2 år sedan
förälder
incheckning
30491bf9bc

+ 3 - 2
PAS/src/main/java/cn/cslg/pas/common/model/dto/FMSDeleteFileDTO.java

@@ -6,18 +6,19 @@ import java.util.List;
 
 /**
  * 调用FMS系统删除文件接口
+ *
  * @Author xiexiang
  * @Date 2023/8/14
  */
 @Data
 public class FMSDeleteFileDTO {
     /**
-     * 需删除的ids
+     * 文件ids
      */
     private List<Integer> ids;
 
     /**
-     * 删除类型
+     * 删除类型(2物理删除 1逻辑删除)
      */
     private Integer type;
 }

+ 1 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/SystemFile.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.common.model.vo;
 import lombok.Data;
 
 import java.util.Date;
+
 @Data
 public class SystemFile {
     private Integer id;

+ 17 - 16
PAS/src/main/java/cn/cslg/pas/service/AsInvalidReasonHistoryService.java

@@ -45,8 +45,7 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
     private final FileManagerService fileManagerService;
     private final AssoInvalidReasonHistoryFileService assoInvalidReasonHistoryFileService;
     private final LoginUtils loginUtils;
-    @Value("${FileSource}")
-    private Integer FileSource;
+
     /**
      * 添加无效证据历史
      *
@@ -79,17 +78,18 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
             //删除远程文件
             List<AssoInvalidReasonHistoryFile> assoFiles = assoInvalidReasonHistoryFileService.list(queryWrapper);
             List<Integer> deleteIds = assoFiles.stream().map(AssoInvalidReasonHistoryFile::getFileId).collect(Collectors.toList());
-           if(deleteIds.size()!=0){
-               FMSDeleteFileDTO fmsDeleteFileDTO = new FMSDeleteFileDTO();
-               fmsDeleteFileDTO.setIds(deleteIds);
-               fmsDeleteFileDTO.setType(2);
-               fileManagerService.deleteFileFromFMS(fmsDeleteFileDTO);
-           }
+            if (deleteIds.size() != 0) {
+//               FMSDeleteFileDTO fmsDeleteFileDTO = new FMSDeleteFileDTO();
+//               fmsDeleteFileDTO.setIds(deleteIds);
+//               fmsDeleteFileDTO.setType(2);
+//               fileManagerService.deleteFileFromFMS(fmsDeleteFileDTO);
+                fileManagerService.deleteFileFromFMS(deleteIds);
+            }
             assoInvalidReasonHistoryFileService.remove(queryWrapper);
         }
         //上传附件到文件系统
         if (files != null && files.size() > 0) {
-            String res = fileManagerService.uploadFile(files, FileSource);
+            String res = fileManagerService.uploadFile(files);
             JSONObject jsonObject = JSONObject.parseObject(res);
             List<Integer> fileIds = JSONArray.parseArray(jsonObject.get("data").toString(), Integer.class);
             //保存和对象关联
@@ -119,10 +119,11 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
         //提取出文件id
         List<Integer> fileIds = files.stream().map(AssoInvalidReasonHistoryFile::getFileId).collect(Collectors.toList());
         //根据文件id删除文件
-        FMSDeleteFileDTO fmsDeleteFileDTO = new FMSDeleteFileDTO();
-        fmsDeleteFileDTO.setIds(fileIds);
-        fmsDeleteFileDTO.setType(2);
-        fileManagerService.deleteFileFromFMS(fmsDeleteFileDTO);
+//        FMSDeleteFileDTO fmsDeleteFileDTO = new FMSDeleteFileDTO();
+//        fmsDeleteFileDTO.setIds(fileIds);
+//        fmsDeleteFileDTO.setType(2);
+//        fileManagerService.deleteFileFromFMS(fmsDeleteFileDTO);
+        fileManagerService.deleteFileFromFMS(fileIds);
         //删除文件无效历史关联
         assoInvalidReasonHistoryFileService.remove(fileWrapper);
         //删除无效历史
@@ -190,9 +191,9 @@ public class AsInvalidReasonHistoryService extends ServiceImpl<AsInvalidReasonHi
             List<SystemFile> partSystemFiles = new ArrayList<>();
             if (partFileIds.size() > 0) {
                 partSystemFiles = systemFiles.stream().filter(item -> partFileIds.contains(item.getId())).collect(Collectors.toList());
-                partSystemFiles.forEach(item->{
-                    String[] suffix =item.getFileName().split("\\.");
-                    if(suffix.length>0) {
+                partSystemFiles.forEach(item -> {
+                    String[] suffix = item.getFileName().split("\\.");
+                    if (suffix.length > 0) {
                         item.setSuffix(suffix[suffix.length - 1]);
                     }
 

+ 17 - 23
PAS/src/main/java/cn/cslg/pas/service/FileManagerService.java

@@ -30,18 +30,17 @@ import static cn.hutool.core.io.FileUtil.getMimeType;
 @Slf4j
 @Service
 public class FileManagerService {
-    @Value("${authorUrl}")
-    private String PCSUrl;
-    @Value("${OPSUrl}")
-    private String OPSUrl;
-    @Value("${PASUrl}")
-    private String PASUrl;
-    @Value("${RMSUrl}")
-    private String RMSUrl;
     @Value("${FMSUrl}")
     private String FMSUrl;
+    @Value("${FileSource}")
+    private Integer FileSource;
 
-    public String uploadFile(List<MultipartFile> multipartFiles, Integer sourceId) throws IOException {
+    /**
+     * 调用文件系统上传文件接口
+     *
+     * @param multipartFiles 文件
+     */
+    public String uploadFile(List<MultipartFile> multipartFiles) throws IOException {
         List<File> files = new ArrayList<>();
         for (MultipartFile multipartFile : multipartFiles) {
             File file = new File(multipartFile.getOriginalFilename());
@@ -56,7 +55,7 @@ public class FileManagerService {
             multipartBodyBuilder.addFormDataPart("files", file.getName(), RequestBody.create(MediaType.parse(mimeType), file));
         }
         RequestBody requestBody = multipartBodyBuilder
-                .addFormDataPart("sourceId", String.valueOf(sourceId))
+                .addFormDataPart("sourceId", String.valueOf(FileSource))
                 .build();
         OkHttpClient okHttpClient = new OkHttpClient.Builder()
                 .connectTimeout(60, TimeUnit.SECONDS)
@@ -67,13 +66,7 @@ public class FileManagerService {
                 .url(FMSUrl + "/fileManager/uploadSystemFile")
                 .post(requestBody)
                 .build();
-        Response response = null;
-        response = okHttpClient.newCall(request).execute();
-        // 最后记得删除临时文件
-        for(File file:files){
-            FileUtils.deleteQuietly(file);
-        }
-        return Objects.requireNonNull(response.body()).string();
+        return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
 
     /**
@@ -97,8 +90,7 @@ public class FileManagerService {
     /**
      * 调用文件系统获取文件信息接口
      *
-     * @return
-     * @throws IOException
+     * @param fileIds 文件ids
      */
     public String getSystemFileFromFMS(List<Integer> fileIds) throws IOException {
         String param = new Gson().toJson(fileIds);
@@ -116,12 +108,14 @@ public class FileManagerService {
     }
 
     /**
-     * 调用文件系统删除接口
+     * 调用文件系统删除文件接口
      *
-     * @return
-     * @throws IOException
+     * @param ids 需要删除的文件ids
      */
-    public String deleteFileFromFMS(FMSDeleteFileDTO fmsDeleteFileDTO) throws IOException {
+    public String deleteFileFromFMS(List<Integer> ids) throws IOException {
+        FMSDeleteFileDTO fmsDeleteFileDTO = new FMSDeleteFileDTO();
+        fmsDeleteFileDTO.setIds(ids);
+        fmsDeleteFileDTO.setType(2);
         String param = new Gson().toJson(fmsDeleteFileDTO);
         RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
         OkHttpClient okHttpClient = new OkHttpClient.Builder()

+ 1 - 3
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/UploadTaskService.java

@@ -54,8 +54,6 @@ public class UploadTaskService {
     private final ProjectService projectService;
     private final PatentService patentService;
     private final FileManagerService fileManagerService;
-    @Value("${FileSource}")
-    private Integer fileSource;
 
     /**
      * 新增Excel导入任务
@@ -84,7 +82,7 @@ public class UploadTaskService {
         //将文件file上传至服务器,并返回文件fileId
         ArrayList<MultipartFile> files = new ArrayList<>();
         files.add(file);
-        String res = fileManagerService.uploadFile(files, fileSource);
+        String res = fileManagerService.uploadFile(files);
         JSONObject jsonObject = JSONObject.parseObject(res);
         List<Integer> fileIds = JSONArray.parseArray(jsonObject.get("data").toString(), Integer.class);
         if (fileIds == null || fileIds.size() == 0) {