From a3b34f9f092e1aeacfe6bd4c9e80b7464dcd5912 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Tue, 07 Nov 2023 16:45:07 +0800
Subject: [PATCH] fix:小程序添加流程状态变更

---
 screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java
index 63915c5..4d17a57 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java
@@ -5,6 +5,7 @@
 import com.moral.api.exception.BusinessException;
 import com.moral.api.mapper.FileTableMapper;
 import com.moral.api.pojo.enums.FileType;
+import com.moral.api.pojo.enums.YesOrNo;
 import com.moral.api.pojo.vo.file.FileVo;
 import com.moral.api.pojo.vo.user.QxUser;
 import com.moral.api.service.FileTableService;
@@ -14,8 +15,12 @@
 import com.moral.util.DateUtils;
 import lombok.extern.slf4j.Slf4j;
 import net.coobird.thumbnailator.Thumbnails;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -23,6 +28,7 @@
 import java.io.*;
 import java.net.URLEncoder;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -59,7 +65,7 @@
             sysFile.setCreateId(user.getUserId()).setCreateName(user.getUserName());
         }
         save(sysFile);
-        return new FileVo().setFileId(sysFile.getFileId()).setFileName(originalFilename);
+        return new FileVo().setFileId(sysFile.getFileId()).setFileName(originalFilename).setFileType(fileType.getValue());
     }
 
     @Override
@@ -95,7 +101,7 @@
     }
 
     private String getFilePath(String sysCode) {
-        return sysCode.concat(StringUtils.SLASH).concat(StringUtils.SLASH).concat(DateUtils.dateToDateString(new Date(),DateUtils.yyyyMMdd_EN)).concat(StringUtils.SLASH);
+        return sysCode.concat(StringUtils.SLASH).concat(DateUtils.dateToDateString(new Date(),DateUtils.yyyyMMdd_EN)).concat(StringUtils.SLASH);
     }
 
     public void storageFile(MultipartFile file, String originalFilename, String targetFolder) {
@@ -185,4 +191,49 @@
             log.error("������������������!!! e={}", e.getMessage());
         }
     }
+
+    @Override
+    @Transactional
+    public void upDateResult(List<FileVo> list,int relationId,int fileModule) {
+        List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId)
+                .eq(FileTable::getFileModule, fileModule)
+                .eq(FileTable::getIsDel, YesOrNo.NO.value).list();
+
+        // ������������
+        if (!CollectionUtils.isEmpty(list)) {
+            List<FileTable> addList = new ArrayList();
+            // 2.2.������������������������������
+            list.forEach(it -> {
+               existsList.removeIf(file -> file.getFileId().equals(it.getFileId()));
+               FileTable file = new FileTable();
+               BeanUtils.copyProperties(it,file);
+               file.setRelationId(relationId);
+               addList.add(file);
+            });
+            if (!CollectionUtils.isEmpty(addList)) {
+                // ������
+                this.updateBatchById(addList);
+            }
+        }
+        // ������������
+        if (!CollectionUtils.isEmpty(existsList)) {
+            removeByIds(existsList.stream().map(FileTable::getFileId).collect(Collectors.toList()));
+        }
+    }
+
+    @Override
+    public List<FileVo> list(int relationId, int fileModule) {
+        List<FileVo> list = new ArrayList<>();
+        List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId)
+                .eq(FileTable::getFileModule, fileModule)
+                .eq(FileTable::getIsDel, YesOrNo.NO.value).orderByAsc(FileTable::getCreateTime).list();
+        existsList.forEach(it->{
+            FileVo fileVo = new FileVo();
+            fileVo.setFileId(it.getFileId());
+            fileVo.setFileName(it.getFileName());
+            fileVo.setFileType(it.getFileType());
+            list.add(fileVo);
+        });
+        return list;
+    }
 }

--
Gitblit v1.8.0