|
@@ -79,7 +79,16 @@ public class FileVersionService {
|
|
|
if (ObjectUtils.isNotEmpty(params.get("changesurl"))) {
|
|
|
changesUrl = params.get("changesurl").toString();
|
|
|
}
|
|
|
+ String fileType = "";
|
|
|
+ if (ObjectUtils.isNotEmpty(params.get("filetype"))) {
|
|
|
+ fileType = params.get("filetype").toString();
|
|
|
+ }
|
|
|
if (status == 6 && StringUtils.isNotEmpty(url)) {
|
|
|
+ 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);
|
|
|
if (StringUtils.isEmpty(replaceFile)) {
|
|
@@ -118,7 +127,7 @@ public class FileVersionService {
|
|
|
if (StringUtils.equals(previousVersion, "undefined")) {
|
|
|
previousVersion = "";
|
|
|
}
|
|
|
- this.addFileVersion(params, guid, fileName, user, previousVersion, url, changesUrl);
|
|
|
+ this.addFileVersion(params, guid, fileName, user, previousVersion, url, changesUrl,fileType);
|
|
|
}
|
|
|
}
|
|
|
if (flag) {
|
|
@@ -128,13 +137,27 @@ 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);
|
|
|
+ List<String> list = fileMangerService.uploadFile(Collections.singletonList(multipartFile), 6);
|
|
|
+ FileVersion fileVersion1 = new FileVersion();
|
|
|
+ fileVersion1.setFileName(fileName);
|
|
|
+ fileVersion1.setFileType(fileType);
|
|
|
+ fileVersion1.setFileKey(RandomUtil.generateInvitationCode());
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ String newGuid = list.get(0);
|
|
|
+ fileVersion1.setUrl(newGuid);
|
|
|
+ }
|
|
|
+ fileVersion1.setVersion(version);
|
|
|
+ fileVersion1.setOriginalFile(guid);
|
|
|
+ fileVersion1.setUser(user);
|
|
|
+ fileVersion1.insert();
|
|
|
+ }
|
|
|
+
|
|
|
public void addFileVersion(Map<String, Object> params, String guid, String fileName,
|
|
|
String user, String previousVersion, String url,
|
|
|
- String changesUrl) throws IOException {
|
|
|
- String fileType = "";
|
|
|
- if (ObjectUtils.isNotEmpty(params.get("filetype"))) {
|
|
|
- fileType = params.get("filetype").toString();
|
|
|
- }
|
|
|
+ String changesUrl,String fileType) throws IOException {
|
|
|
String changes = "";
|
|
|
String serverVersion = "";
|
|
|
String history = "";
|
|
@@ -156,15 +179,7 @@ public class FileVersionService {
|
|
|
version = fileVersion.getVersion();
|
|
|
originalFile = fileVersion.getOriginalFile();
|
|
|
} else {
|
|
|
- FileVersion fileVersion1 = new FileVersion();
|
|
|
- fileVersion1.setFileName(fileName);
|
|
|
- fileVersion1.setFileType(fileType);
|
|
|
- fileVersion1.setFileKey(RandomUtil.generateInvitationCode());
|
|
|
- fileVersion1.setUrl(guid);
|
|
|
- fileVersion1.setVersion(version);
|
|
|
- fileVersion1.setOriginalFile(guid);
|
|
|
- fileVersion1.setUser(user);
|
|
|
- fileVersion1.insert();
|
|
|
+ this.addFirstFileVersion(guid, version, fileName, fileType, user);
|
|
|
previousVersion = "1";
|
|
|
}
|
|
|
version += 1;
|