From 4107073950f459e051e5b9e828750ab57be3863b Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 15 Nov 2023 16:03:53 +0800
Subject: [PATCH] fix:补充提交
---
screen-api/src/main/java/com/moral/api/service/impl/FileTableServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++-
1 files changed, 72 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..d1e99f7 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,8 @@
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.FileAddressVo;
import com.moral.api.pojo.vo.file.FileVo;
import com.moral.api.pojo.vo.user.QxUser;
import com.moral.api.service.FileTableService;
@@ -14,8 +16,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 +29,7 @@
import java.io.*;
import java.net.URLEncoder;
import java.util.*;
+import java.util.stream.Collectors;
/**
* <p>
@@ -59,7 +66,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 +102,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 +192,67 @@
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;
+ }
+
+ @Override
+ public List<FileAddressVo> list(int relationId, int fileModule, int fileType) {
+ List<FileAddressVo> list = new ArrayList<>();
+ List<FileTable> existsList = this.lambdaQuery().eq(FileTable::getRelationId, relationId)
+ .eq(FileTable::getFileModule, fileModule)
+ .eq(Objects.nonNull(fileType),FileTable::getFileType,fileType)
+ .eq(FileTable::getIsDel, YesOrNo.NO.value).orderByAsc(FileTable::getCreateTime).list();
+ existsList.forEach(it->{
+ FileAddressVo fileVo = new FileAddressVo();
+ fileVo.setFileId(it.getFileId());
+ fileVo.setFileName(it.getFileName());
+ fileVo.setFileType(it.getFileType());
+ fileVo.setFileAddress(it.getFileAddress());
+ list.add(fileVo);
+ });
+ return list;
+ }
}
--
Gitblit v1.8.0