|
@@ -15,8 +15,10 @@ import com.example.fms.common.utils.RandomUtil;
|
|
|
import com.example.fms.domain.FileOperateRecord;
|
|
|
import com.example.fms.domain.FileVersion;
|
|
|
import com.example.fms.domain.Personnel;
|
|
|
+import com.example.fms.domain.SystemFile;
|
|
|
import com.example.fms.mapper.FileOperateRecordMapper;
|
|
|
import com.example.fms.mapper.FileVersionMapper;
|
|
|
+import com.example.fms.mapper.SystemFileMapper;
|
|
|
import com.example.fms.service.permissions.MessageService;
|
|
|
import com.example.fms.service.permissions.PermissionService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
@@ -50,7 +52,7 @@ public class FileVersionService {
|
|
|
private FileVersionMapper fileVersionMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private FileOperateRecordMapper fileOperateRecordMapper;
|
|
|
+ private final SystemFileService systemFileService;
|
|
|
|
|
|
/**
|
|
|
* onlyoffice回调函数(文件保存)
|
|
@@ -87,7 +89,6 @@ public class FileVersionService {
|
|
|
FileVersion fileVersion = fileVersionMapper.queryFileVersionByGuid(guid);
|
|
|
if (ObjectUtils.isEmpty(fileVersion)) {
|
|
|
this.addFirstFileVersion(guid, 1, fileName, fileType, user);
|
|
|
- previousVersion = "1";
|
|
|
}
|
|
|
MultipartFile multipartFile = FileUtils.urlToMultipartFile(url, fileName);
|
|
|
String replaceFile = fileMangerService.replaceFile(multipartFile, guid, 6);
|
|
@@ -139,7 +140,25 @@ public class FileVersionService {
|
|
|
|
|
|
public void addFirstFileVersion(String guid, Integer version, String fileName, String fileType, String user) throws IOException {
|
|
|
byte[] bytes = fileMangerService.downloadFile(guid);
|
|
|
- MultipartFile multipartFile = FileUtils.convertBytesToMultipartFile(bytes, fileName);
|
|
|
+ LambdaQueryWrapper<SystemFile> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SystemFile::getGuid, guid);
|
|
|
+ SystemFile systemFile = systemFileService.getOne(queryWrapper, false);
|
|
|
+ MultipartFile multipartFile = null;
|
|
|
+ if (ObjectUtils.isNotEmpty(systemFile)) {
|
|
|
+ String systemFileName = systemFile.getFileName();
|
|
|
+ if (StringUtils.isNotEmpty(systemFileName)) {
|
|
|
+ String str = systemFileName.substring(systemFileName.indexOf("."));
|
|
|
+ multipartFile = FileUtils.getMultipartFile(bytes, fileName + str);
|
|
|
+ } else {
|
|
|
+ multipartFile = FileUtils.getMultipartFile(bytes, fileName + "." + fileType);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if (!fileName.contains(".")) {
|
|
|
+ multipartFile = FileUtils.getMultipartFile(bytes, fileName + "." + fileType);
|
|
|
+ } else {
|
|
|
+ multipartFile = FileUtils.getMultipartFile(bytes, fileName);
|
|
|
+ }
|
|
|
+ }
|
|
|
List<String> list = fileMangerService.uploadFile(Collections.singletonList(multipartFile), 6);
|
|
|
FileVersion fileVersion1 = new FileVersion();
|
|
|
fileVersion1.setFileName(fileName);
|