|
@@ -11,16 +11,15 @@ import cn.reghao.oss.sdk.model.constant.ObjectType;
|
|
|
import cn.reghao.oss.sdk.model.dto.ObjectInfo;
|
|
import cn.reghao.oss.sdk.model.dto.ObjectInfo;
|
|
|
import cn.reghao.tnb.common.auth.UserContext;
|
|
import cn.reghao.tnb.common.auth.UserContext;
|
|
|
import cn.reghao.tnb.common.util.StringUtil;
|
|
import cn.reghao.tnb.common.util.StringUtil;
|
|
|
-import cn.reghao.tnb.content.app.disk.db.mapper.NetDiskMapper;
|
|
|
|
|
-import cn.reghao.tnb.content.app.disk.model.dto.CreateDir;
|
|
|
|
|
|
|
+import cn.reghao.tnb.content.app.disk.db.mapper.DiskFileMapper;
|
|
|
import cn.reghao.tnb.content.app.disk.model.dto.CreateFile;
|
|
import cn.reghao.tnb.content.app.disk.model.dto.CreateFile;
|
|
|
import cn.reghao.tnb.content.app.disk.model.dto.MoveFile;
|
|
import cn.reghao.tnb.content.app.disk.model.dto.MoveFile;
|
|
|
-import cn.reghao.tnb.content.app.disk.model.po.NetDisk;
|
|
|
|
|
|
|
+import cn.reghao.tnb.content.app.disk.model.po.DiskFile;
|
|
|
import cn.reghao.tnb.content.app.disk.model.query.DiskQuery;
|
|
import cn.reghao.tnb.content.app.disk.model.query.DiskQuery;
|
|
|
import cn.reghao.tnb.content.app.disk.model.vo.FileInfo;
|
|
import cn.reghao.tnb.content.app.disk.model.vo.FileInfo;
|
|
|
import cn.reghao.tnb.content.app.disk.model.vo.NamePath;
|
|
import cn.reghao.tnb.content.app.disk.model.vo.NamePath;
|
|
|
-import cn.reghao.tnb.content.app.disk.model.vo.NetDiskCount;
|
|
|
|
|
-import cn.reghao.tnb.content.app.disk.model.vo.NetDiskDetail;
|
|
|
|
|
|
|
+import cn.reghao.tnb.content.app.disk.model.vo.DiskFileCount;
|
|
|
|
|
+import cn.reghao.tnb.content.app.disk.model.vo.DiskFileDetail;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -39,12 +38,12 @@ import java.util.stream.Collectors;
|
|
|
public class DiskFileService {
|
|
public class DiskFileService {
|
|
|
@DubboReference(check = false, timeout = 60_000)
|
|
@DubboReference(check = false, timeout = 60_000)
|
|
|
private OssService ossService;
|
|
private OssService ossService;
|
|
|
- private final NetDiskMapper netDiskMapper;
|
|
|
|
|
|
|
+ private final DiskFileMapper diskFileMapper;
|
|
|
private final DiskSyncService diskSyncService;
|
|
private final DiskSyncService diskSyncService;
|
|
|
private final ByteConverter byteConverter;
|
|
private final ByteConverter byteConverter;
|
|
|
|
|
|
|
|
- public DiskFileService(NetDiskMapper netDiskMapper, DiskSyncService diskSyncService) {
|
|
|
|
|
- this.netDiskMapper = netDiskMapper;
|
|
|
|
|
|
|
+ public DiskFileService(DiskFileMapper diskFileMapper, DiskSyncService diskSyncService) {
|
|
|
|
|
+ this.diskFileMapper = diskFileMapper;
|
|
|
this.diskSyncService = diskSyncService;
|
|
this.diskSyncService = diskSyncService;
|
|
|
this.byteConverter = new ByteConverter();
|
|
this.byteConverter = new ByteConverter();
|
|
|
}
|
|
}
|
|
@@ -55,14 +54,14 @@ public class DiskFileService {
|
|
|
String filename = createFile.getFilename();
|
|
String filename = createFile.getFilename();
|
|
|
String path = String.format("%s/%s", file.getAbsolutePath(), filename);
|
|
String path = String.format("%s/%s", file.getAbsolutePath(), filename);
|
|
|
|
|
|
|
|
- NetDisk netDisk1 = diskSyncService.checkFile(parentPath);
|
|
|
|
|
- if (netDisk1 == null) {
|
|
|
|
|
|
|
+ DiskFile diskFile1 = diskSyncService.checkFile(parentPath);
|
|
|
|
|
+ if (diskFile1 == null) {
|
|
|
return Result.fail("folder not exist");
|
|
return Result.fail("folder not exist");
|
|
|
}
|
|
}
|
|
|
- String pid = netDisk1.getFileId();
|
|
|
|
|
|
|
+ String pid = diskFile1.getFileId();
|
|
|
|
|
|
|
|
- NetDisk netDisk2 = diskSyncService.checkFile(path);
|
|
|
|
|
- if (netDisk2 != null) {
|
|
|
|
|
|
|
+ DiskFile diskFile2 = diskSyncService.checkFile(path);
|
|
|
|
|
+ if (diskFile2 != null) {
|
|
|
return Result.fail("file exist");
|
|
return Result.fail("file exist");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -73,8 +72,8 @@ public class DiskFileService {
|
|
|
long size = objectInfo.getSize();
|
|
long size = objectInfo.getSize();
|
|
|
int fileType = objectInfo.getFileType();
|
|
int fileType = objectInfo.getFileType();
|
|
|
String sha256sum = objectInfo.getSha256sum();
|
|
String sha256sum = objectInfo.getSha256sum();
|
|
|
- NetDisk netDisk = new NetDisk(channelCode, uploadId, pid, path, filename, fileType, sha256sum, size);
|
|
|
|
|
- netDiskMapper.save(netDisk);
|
|
|
|
|
|
|
+ DiskFile diskFile = new DiskFile(channelCode, uploadId, pid, path, filename, fileType, sha256sum, size);
|
|
|
|
|
+ diskFileMapper.save(diskFile);
|
|
|
return Result.success();
|
|
return Result.success();
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
@@ -87,8 +86,8 @@ public class DiskFileService {
|
|
|
.fileId(fileId)
|
|
.fileId(fileId)
|
|
|
.build();
|
|
.build();
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- NetDisk current = netDiskList.get(0);
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ DiskFile current = diskFileList.get(0);
|
|
|
if (current == null) {
|
|
if (current == null) {
|
|
|
String msg = String.format("file %s not exist", fileId);
|
|
String msg = String.format("file %s not exist", fileId);
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
@@ -102,18 +101,17 @@ public class DiskFileService {
|
|
|
.path(newPath)
|
|
.path(newPath)
|
|
|
.build();
|
|
.build();
|
|
|
page = new Page(1, 10);
|
|
page = new Page(1, 10);
|
|
|
- netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- NetDisk netDisk = netDiskList.get(0);
|
|
|
|
|
- if (netDisk != null) {
|
|
|
|
|
|
|
+ diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ DiskFile diskFile = diskFileList.get(0);
|
|
|
|
|
+ if (diskFile != null) {
|
|
|
String msg = String.format("filename %s exist", newFilename);
|
|
String msg = String.format("filename %s exist", newFilename);
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
current.setPath(newPath);
|
|
current.setPath(newPath);
|
|
|
current.setFilename(newFilename);
|
|
current.setFilename(newFilename);
|
|
|
- List<NetDisk> diskFileList = new ArrayList<>();
|
|
|
|
|
- diskFileList.add(current);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ List<DiskFile> diskFiles = new ArrayList<>();
|
|
|
|
|
+ diskFiles.add(current);
|
|
|
if (current.getFileType() == ObjectType.Dir.getCode()) {
|
|
if (current.getFileType() == ObjectType.Dir.getCode()) {
|
|
|
getChildren(current.getPath()).stream()
|
|
getChildren(current.getPath()).stream()
|
|
|
.filter(childFile -> !childFile.getFileId().equals(fileId))
|
|
.filter(childFile -> !childFile.getFileId().equals(fileId))
|
|
@@ -123,11 +121,11 @@ public class DiskFileService {
|
|
|
|
|
|
|
|
childFile.setPath(namePath.getPath());
|
|
childFile.setPath(namePath.getPath());
|
|
|
childFile.setFilename(namePath.getFilename());
|
|
childFile.setFilename(namePath.getFilename());
|
|
|
- diskFileList.add(childFile);
|
|
|
|
|
|
|
+ diskFiles.add(childFile);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (!diskFileList.isEmpty()) {
|
|
|
|
|
|
|
+ if (!diskFiles.isEmpty()) {
|
|
|
//diskFile1Repository.updateFilenames(diskFileList);
|
|
//diskFile1Repository.updateFilenames(diskFileList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -143,8 +141,8 @@ public class DiskFileService {
|
|
|
.fileId(pid)
|
|
.fileId(pid)
|
|
|
.build();
|
|
.build();
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- NetDisk parentFile = netDiskList.get(0);
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ DiskFile parentFile = diskFileList.get(0);
|
|
|
if (parentFile == null) {
|
|
if (parentFile == null) {
|
|
|
String msg = "文件被移动/复制到的位置不存在";
|
|
String msg = "文件被移动/复制到的位置不存在";
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
@@ -163,8 +161,8 @@ public class DiskFileService {
|
|
|
.fileId(pid1)
|
|
.fileId(pid1)
|
|
|
.build();
|
|
.build();
|
|
|
page = new Page(1, 10);
|
|
page = new Page(1, 10);
|
|
|
- netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- pid1 = netDiskList.get(0).getPid();
|
|
|
|
|
|
|
+ diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ pid1 = diskFileList.get(0).getPid();
|
|
|
parents.add(pid1);
|
|
parents.add(pid1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -175,7 +173,7 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> list = findByFileIdContains(fileIds);
|
|
|
|
|
|
|
+ List<DiskFile> list = findByFileIdContains(fileIds);
|
|
|
if (list.isEmpty()) {
|
|
if (list.isEmpty()) {
|
|
|
String msg = "被移动/复制的文件不存在";
|
|
String msg = "被移动/复制的文件不存在";
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
@@ -189,7 +187,7 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> copiedFiles = list.stream()
|
|
|
|
|
|
|
+ List<DiskFile> copiedFiles = list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
|
.peek(diskFile -> {
|
|
.peek(diskFile -> {
|
|
|
setRootPath(diskFile, parentFile, owner);
|
|
setRootPath(diskFile, parentFile, owner);
|
|
@@ -198,15 +196,15 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
- List<NetDisk> list1 = new ArrayList<>();
|
|
|
|
|
|
|
+ List<DiskFile> list1 = new ArrayList<>();
|
|
|
list.stream()
|
|
list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
|
.forEach(dirFile -> {
|
|
.forEach(dirFile -> {
|
|
|
- List<NetDisk> results = getChildren(dirFile.getPath());
|
|
|
|
|
- NetDisk diskFile = list2tree(dirFile.getFileId(), results);
|
|
|
|
|
|
|
+ List<DiskFile> results = getChildren(dirFile.getPath());
|
|
|
|
|
+ DiskFile diskFile = list2tree(dirFile.getFileId(), results);
|
|
|
|
|
|
|
|
moveRoot(diskFile, parentFile, copy, owner);
|
|
moveRoot(diskFile, parentFile, copy, owner);
|
|
|
- List<NetDisk> list2 = new ArrayList<>();
|
|
|
|
|
|
|
+ List<DiskFile> list2 = new ArrayList<>();
|
|
|
tree2List(diskFile, list2);
|
|
tree2List(diskFile, list2);
|
|
|
list1.addAll(list2);
|
|
list1.addAll(list2);
|
|
|
});
|
|
});
|
|
@@ -227,8 +225,8 @@ public class DiskFileService {
|
|
|
.fileId(pid)
|
|
.fileId(pid)
|
|
|
.build();
|
|
.build();
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- NetDisk parentFile = netDiskList.get(0);
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ DiskFile parentFile = diskFileList.get(0);
|
|
|
if (parentFile == null) {
|
|
if (parentFile == null) {
|
|
|
String msg = "文件被移动/复制到的位置不存在";
|
|
String msg = "文件被移动/复制到的位置不存在";
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
@@ -247,8 +245,8 @@ public class DiskFileService {
|
|
|
.fileId(pid1)
|
|
.fileId(pid1)
|
|
|
.build();
|
|
.build();
|
|
|
page = new Page(1, 10);
|
|
page = new Page(1, 10);
|
|
|
- netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- pid1 = netDiskList.get(0).getPid();
|
|
|
|
|
|
|
+ diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ pid1 = diskFileList.get(0).getPid();
|
|
|
parents.add(pid1);
|
|
parents.add(pid1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -259,7 +257,7 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> list = findByFileIdContains(fileIds);
|
|
|
|
|
|
|
+ List<DiskFile> list = findByFileIdContains(fileIds);
|
|
|
if (list.isEmpty()) {
|
|
if (list.isEmpty()) {
|
|
|
String msg = "被移动/复制的文件不存在";
|
|
String msg = "被移动/复制的文件不存在";
|
|
|
return Result.fail(msg);
|
|
return Result.fail(msg);
|
|
@@ -273,7 +271,7 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> copiedFiles = list.stream()
|
|
|
|
|
|
|
+ List<DiskFile> copiedFiles = list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
|
.peek(diskFile -> {
|
|
.peek(diskFile -> {
|
|
|
setRootPath(diskFile, parentFile, owner);
|
|
setRootPath(diskFile, parentFile, owner);
|
|
@@ -282,15 +280,15 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
- List<NetDisk> list1 = new ArrayList<>();
|
|
|
|
|
|
|
+ List<DiskFile> list1 = new ArrayList<>();
|
|
|
list.stream()
|
|
list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
|
.forEach(dirFile -> {
|
|
.forEach(dirFile -> {
|
|
|
- List<NetDisk> results = getChildren(dirFile.getPath());
|
|
|
|
|
- NetDisk diskFile = list2tree(dirFile.getFileId(), results);
|
|
|
|
|
|
|
+ List<DiskFile> results = getChildren(dirFile.getPath());
|
|
|
|
|
+ DiskFile diskFile = list2tree(dirFile.getFileId(), results);
|
|
|
|
|
|
|
|
moveRoot(diskFile, parentFile, copy, owner);
|
|
moveRoot(diskFile, parentFile, copy, owner);
|
|
|
- List<NetDisk> list2 = new ArrayList<>();
|
|
|
|
|
|
|
+ List<DiskFile> list2 = new ArrayList<>();
|
|
|
tree2List(diskFile, list2);
|
|
tree2List(diskFile, list2);
|
|
|
list1.addAll(list2);
|
|
list1.addAll(list2);
|
|
|
});
|
|
});
|
|
@@ -298,7 +296,7 @@ public class DiskFileService {
|
|
|
copiedFiles.addAll(list1);
|
|
copiedFiles.addAll(list1);
|
|
|
if (!copiedFiles.isEmpty()) {
|
|
if (!copiedFiles.isEmpty()) {
|
|
|
if (copy) {
|
|
if (copy) {
|
|
|
- netDiskMapper.saveAll(copiedFiles);
|
|
|
|
|
|
|
+ diskFileMapper.saveAll(copiedFiles);
|
|
|
} else {
|
|
} else {
|
|
|
//diskFile1Repository.updateDiskFiles(list1);
|
|
//diskFile1Repository.updateDiskFiles(list1);
|
|
|
}
|
|
}
|
|
@@ -306,37 +304,37 @@ public class DiskFileService {
|
|
|
return Result.success();
|
|
return Result.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void moveRoot(NetDisk current, NetDisk parent, boolean reset, long owner) {
|
|
|
|
|
|
|
+ private void moveRoot(DiskFile current, DiskFile parent, boolean reset, long owner) {
|
|
|
String oldParentPath1 = current.getPath();
|
|
String oldParentPath1 = current.getPath();
|
|
|
setRootPath(current, parent, owner);
|
|
setRootPath(current, parent, owner);
|
|
|
if (reset) {
|
|
if (reset) {
|
|
|
reinitDiskFile(current);
|
|
reinitDiskFile(current);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> list = current.getChildren();
|
|
|
|
|
|
|
+ List<DiskFile> list = current.getChildren();
|
|
|
if (!list.isEmpty()) {
|
|
if (!list.isEmpty()) {
|
|
|
- for (NetDisk child : list) {
|
|
|
|
|
|
|
+ for (DiskFile child : list) {
|
|
|
moveNode(child, current, oldParentPath1, reset);
|
|
moveNode(child, current, oldParentPath1, reset);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void moveNode(NetDisk current, NetDisk parent, String oldParentPath, boolean reset) {
|
|
|
|
|
|
|
+ private void moveNode(DiskFile current, DiskFile parent, String oldParentPath, boolean reset) {
|
|
|
String oldParentPath1 = current.getPath();
|
|
String oldParentPath1 = current.getPath();
|
|
|
setNodePath(current, parent, oldParentPath, reset);
|
|
setNodePath(current, parent, oldParentPath, reset);
|
|
|
if (reset) {
|
|
if (reset) {
|
|
|
reinitDiskFile(current);
|
|
reinitDiskFile(current);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<NetDisk> list = current.getChildren();
|
|
|
|
|
|
|
+ List<DiskFile> list = current.getChildren();
|
|
|
if (!list.isEmpty()) {
|
|
if (!list.isEmpty()) {
|
|
|
- for (NetDisk child : list) {
|
|
|
|
|
|
|
+ for (DiskFile child : list) {
|
|
|
moveNode(child, current, oldParentPath1, reset);
|
|
moveNode(child, current, oldParentPath1, reset);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void setRootPath(NetDisk current, NetDisk parent, long owner) {
|
|
|
|
|
|
|
+ private void setRootPath(DiskFile current, DiskFile parent, long owner) {
|
|
|
String pid = parent.getFileId();
|
|
String pid = parent.getFileId();
|
|
|
String parentPath = parent.getPath();
|
|
String parentPath = parent.getPath();
|
|
|
|
|
|
|
@@ -347,7 +345,7 @@ public class DiskFileService {
|
|
|
current.setFilename(namePath.getFilename());
|
|
current.setFilename(namePath.getFilename());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void setNodePath(NetDisk current, NetDisk parent, String oldParentPath, boolean resetPid) {
|
|
|
|
|
|
|
+ private void setNodePath(DiskFile current, DiskFile parent, String oldParentPath, boolean resetPid) {
|
|
|
String pid = parent.getFileId();
|
|
String pid = parent.getFileId();
|
|
|
String parentPath = parent.getPath();
|
|
String parentPath = parent.getPath();
|
|
|
String newPath = current.getPath().replace(oldParentPath, parentPath);
|
|
String newPath = current.getPath().replace(oldParentPath, parentPath);
|
|
@@ -365,7 +363,7 @@ public class DiskFileService {
|
|
|
* @return
|
|
* @return
|
|
|
* @date 2023-11-17 13:38:20
|
|
* @date 2023-11-17 13:38:20
|
|
|
*/
|
|
*/
|
|
|
- private void reinitDiskFile(NetDisk diskFile) {
|
|
|
|
|
|
|
+ private void reinitDiskFile(DiskFile diskFile) {
|
|
|
String fileId = UUID.randomUUID().toString().replace("-", "");
|
|
String fileId = UUID.randomUUID().toString().replace("-", "");
|
|
|
diskFile.setFileId(fileId);
|
|
diskFile.setFileId(fileId);
|
|
|
diskFile.setId(null);
|
|
diskFile.setId(null);
|
|
@@ -374,10 +372,10 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void delete(List<String> fileIds) {
|
|
public void delete(List<String> fileIds) {
|
|
|
- List<NetDisk> list = findByFileIdContains(fileIds);
|
|
|
|
|
|
|
+ List<DiskFile> list = findByFileIdContains(fileIds);
|
|
|
List<String> files = list.stream()
|
|
List<String> files = list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
|
- .map(NetDisk::getFileId)
|
|
|
|
|
|
|
+ .map(DiskFile::getFileId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
if (!files.isEmpty()) {
|
|
if (!files.isEmpty()) {
|
|
|
//diskFile1Repository.updateDeleteFiles(files);
|
|
//diskFile1Repository.updateDeleteFiles(files);
|
|
@@ -387,7 +385,7 @@ public class DiskFileService {
|
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() == ObjectType.Dir.getCode())
|
|
|
.map(diskFile1 -> getChildren(diskFile1.getPath()))
|
|
.map(diskFile1 -> getChildren(diskFile1.getPath()))
|
|
|
.flatMap(Collection::stream)
|
|
.flatMap(Collection::stream)
|
|
|
- .map(NetDisk::getFileId)
|
|
|
|
|
|
|
+ .map(DiskFile::getFileId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
if (!files1.isEmpty()) {
|
|
if (!files1.isEmpty()) {
|
|
|
//diskFile1Repository.updateDeleteFiles(files1);
|
|
//diskFile1Repository.updateDeleteFiles(files1);
|
|
@@ -395,10 +393,10 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void restore(List<String> fileIds) {
|
|
public void restore(List<String> fileIds) {
|
|
|
- List<NetDisk> list = findByFileIdContains(fileIds);
|
|
|
|
|
|
|
+ List<DiskFile> list = findByFileIdContains(fileIds);
|
|
|
List<String> files = list.stream()
|
|
List<String> files = list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
|
- .map(NetDisk::getFileId)
|
|
|
|
|
|
|
+ .map(DiskFile::getFileId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
list.stream()
|
|
list.stream()
|
|
@@ -415,10 +413,10 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void erase(List<String> fileIds) {
|
|
public void erase(List<String> fileIds) {
|
|
|
- List<NetDisk> list = findByFileIdContains(fileIds);
|
|
|
|
|
|
|
+ List<DiskFile> list = findByFileIdContains(fileIds);
|
|
|
List<String> files = list.stream()
|
|
List<String> files = list.stream()
|
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
.filter(diskFile -> diskFile.getFileType() != ObjectType.Dir.getCode())
|
|
|
- .map(NetDisk::getFileId)
|
|
|
|
|
|
|
+ .map(DiskFile::getFileId)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
list.stream()
|
|
list.stream()
|
|
@@ -434,18 +432,18 @@ public class DiskFileService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public List<NetDisk> getChildren(String path) {
|
|
|
|
|
|
|
+ public List<DiskFile> getChildren(String path) {
|
|
|
return findByPathPrefix(path);
|
|
return findByPathPrefix(path);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public NetDisk list2tree(String rootId, List<NetDisk> list) {
|
|
|
|
|
- Map<String, NetDisk> map = list.stream()
|
|
|
|
|
- .collect(Collectors.toMap(NetDisk::getFileId, diskFile -> diskFile));
|
|
|
|
|
|
|
+ public DiskFile list2tree(String rootId, List<DiskFile> list) {
|
|
|
|
|
+ Map<String, DiskFile> map = list.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(DiskFile::getFileId, diskFile -> diskFile));
|
|
|
list.forEach(diskFile -> {
|
|
list.forEach(diskFile -> {
|
|
|
String pid = diskFile.getPid();
|
|
String pid = diskFile.getPid();
|
|
|
String fileId = diskFile.getFileId();
|
|
String fileId = diskFile.getFileId();
|
|
|
if (!fileId.equals(rootId)) {
|
|
if (!fileId.equals(rootId)) {
|
|
|
- NetDisk parent = map.get(pid);
|
|
|
|
|
|
|
+ DiskFile parent = map.get(pid);
|
|
|
parent.getChildren().add(diskFile);
|
|
parent.getChildren().add(diskFile);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -453,9 +451,9 @@ public class DiskFileService {
|
|
|
return map.get(rootId);
|
|
return map.get(rootId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public void tree2List(NetDisk root, List<NetDisk> list) {
|
|
|
|
|
|
|
+ public void tree2List(DiskFile root, List<DiskFile> list) {
|
|
|
list.add(root);
|
|
list.add(root);
|
|
|
- for (NetDisk child : root.getChildren()) {
|
|
|
|
|
|
|
+ for (DiskFile child : root.getChildren()) {
|
|
|
tree2List(child, list);
|
|
tree2List(child, list);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -467,8 +465,8 @@ public class DiskFileService {
|
|
|
.path(path)
|
|
.path(path)
|
|
|
.build();
|
|
.build();
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- NetDisk diskFile = netDiskList.get(0);
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ DiskFile diskFile = diskFileList.get(0);
|
|
|
if (diskFile != null) {
|
|
if (diskFile != null) {
|
|
|
filename = getNewFilename(filename);
|
|
filename = getNewFilename(filename);
|
|
|
path = getPath(parentPath, filename);
|
|
path = getPath(parentPath, filename);
|
|
@@ -511,8 +509,8 @@ public class DiskFileService {
|
|
|
return path.substring(0, index);
|
|
return path.substring(0, index);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private List<NetDisk> findByPathPrefix(String pathPrefix) {
|
|
|
|
|
- /*Specification<NetDisk> specification = (root, query, cb) -> {
|
|
|
|
|
|
|
+ private List<DiskFile> findByPathPrefix(String pathPrefix) {
|
|
|
|
|
+ /*Specification<DiskFile> specification = (root, query, cb) -> {
|
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
|
predicates.add(cb.like(root.get("path"), "%" + pathPrefix + "%"));
|
|
predicates.add(cb.like(root.get("path"), "%" + pathPrefix + "%"));
|
|
|
|
|
|
|
@@ -520,10 +518,10 @@ public class DiskFileService {
|
|
|
return cb.and(predicates.toArray(new Predicate[0]));
|
|
return cb.and(predicates.toArray(new Predicate[0]));
|
|
|
};*/
|
|
};*/
|
|
|
|
|
|
|
|
- return netDiskMapper.findAll();
|
|
|
|
|
|
|
+ return diskFileMapper.findAll();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private List<NetDisk> findByFileIdContains(List<String> fileIds) {
|
|
|
|
|
|
|
+ private List<DiskFile> findByFileIdContains(List<String> fileIds) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -554,34 +552,34 @@ public class DiskFileService {
|
|
|
return pathList;
|
|
return pathList;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public NetDisk findByPath(String path) {
|
|
|
|
|
|
|
+ public DiskFile findByPath(String path) {
|
|
|
long owner = UserContext.getUserId();
|
|
long owner = UserContext.getUserId();
|
|
|
DiskQuery diskQuery = new DiskQuery.Builder()
|
|
DiskQuery diskQuery = new DiskQuery.Builder()
|
|
|
.path(path)
|
|
.path(path)
|
|
|
.owner(owner)
|
|
.owner(owner)
|
|
|
.build();
|
|
.build();
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- return netDiskList.isEmpty() ? null : netDiskList.get(0);
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ return diskFileList.isEmpty() ? null : diskFileList.get(0);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public PageList<FileInfo> findByDiskQuery(DiskQuery diskQuery) {
|
|
public PageList<FileInfo> findByDiskQuery(DiskQuery diskQuery) {
|
|
|
int pageNumber = diskQuery.getPageNumber();
|
|
int pageNumber = diskQuery.getPageNumber();
|
|
|
int pageSize = diskQuery.getPageSize();
|
|
int pageSize = diskQuery.getPageSize();
|
|
|
Page page = new Page(pageNumber, pageSize);
|
|
Page page = new Page(pageNumber, pageSize);
|
|
|
- int total = netDiskMapper.countByDiskQuery(diskQuery);
|
|
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
|
|
+ int total = diskFileMapper.countByDiskQuery(diskQuery);
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
|
|
|
- List<FileInfo> list = netDiskList.stream().map(netDisk -> {
|
|
|
|
|
- String sizeStr = byteConverter.convert(ByteType.Bytes, netDisk.getSize());
|
|
|
|
|
- return new FileInfo(netDisk, sizeStr);
|
|
|
|
|
|
|
+ List<FileInfo> list = diskFileList.stream().map(diskFile -> {
|
|
|
|
|
+ String sizeStr = byteConverter.convert(ByteType.Bytes, diskFile.getSize());
|
|
|
|
|
+ return new FileInfo(diskFile, sizeStr);
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
return PageList.pageList(pageNumber, pageSize, total, list);
|
|
return PageList.pageList(pageNumber, pageSize, total, list);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // @Cacheable(cacheNames = "netdisk", key = "#owner + '-' + #path")
|
|
|
|
|
- public NetDiskDetail getNetDiskDetail(String fileId) {
|
|
|
|
|
|
|
+ // @Cacheable(cacheNames = "diskFiles", key = "#owner + '-' + #path")
|
|
|
|
|
+ public DiskFileDetail getDiskFileDetail(String fileId) {
|
|
|
long loginUser = UserContext.getUserId();
|
|
long loginUser = UserContext.getUserId();
|
|
|
DiskQuery diskQuery = new DiskQuery.Builder()
|
|
DiskQuery diskQuery = new DiskQuery.Builder()
|
|
|
.fileId(fileId)
|
|
.fileId(fileId)
|
|
@@ -589,27 +587,27 @@ public class DiskFileService {
|
|
|
.build();
|
|
.build();
|
|
|
|
|
|
|
|
Page page = new Page(1, 10);
|
|
Page page = new Page(1, 10);
|
|
|
- List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
- if (!netDiskList.isEmpty()) {
|
|
|
|
|
- NetDisk netDisk = netDiskList.get(0);
|
|
|
|
|
- long owner = netDisk.getOwner();
|
|
|
|
|
|
|
+ List<DiskFile> diskFileList = diskFileMapper.findDiskQueryByPage(page, diskQuery);
|
|
|
|
|
+ if (!diskFileList.isEmpty()) {
|
|
|
|
|
+ DiskFile diskFile = diskFileList.get(0);
|
|
|
|
|
+ long owner = diskFile.getOwner();
|
|
|
if (owner != loginUser) {
|
|
if (owner != loginUser) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
int channelCode = 111;
|
|
int channelCode = 111;
|
|
|
- String objectId = netDisk.getFileId();
|
|
|
|
|
- return getNetDiskDetail(channelCode, objectId);
|
|
|
|
|
|
|
+ String objectId = diskFile.getFileId();
|
|
|
|
|
+ return getDiskFileDetail(channelCode, objectId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public NetDiskDetail getNetDiskDetail(int channelCode, String objectId) {
|
|
|
|
|
|
|
+ public DiskFileDetail getDiskFileDetail(int channelCode, String objectId) {
|
|
|
try {
|
|
try {
|
|
|
ObjectInfo objectInfo = ossService.getObjectInfo(channelCode, objectId);
|
|
ObjectInfo objectInfo = ossService.getObjectInfo(channelCode, objectId);
|
|
|
String signedUrl = ossService.getSignedUrl(channelCode, objectId);
|
|
String signedUrl = ossService.getSignedUrl(channelCode, objectId);
|
|
|
- return new NetDiskDetail(objectInfo, signedUrl);
|
|
|
|
|
|
|
+ return new DiskFileDetail(objectInfo, signedUrl);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
@@ -617,9 +615,9 @@ public class DiskFileService {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public Map<Integer, NetDiskCount> getFileTypeCount() {
|
|
|
|
|
|
|
+ public Map<Integer, DiskFileCount> getFileTypeCount() {
|
|
|
long loginUser = UserContext.getUserId();
|
|
long loginUser = UserContext.getUserId();
|
|
|
- List<NetDiskCount> list = netDiskMapper.findFileTypeCountByGroup(loginUser);
|
|
|
|
|
- return list.stream().collect(Collectors.toMap(NetDiskCount::getFileType, k -> k));
|
|
|
|
|
|
|
+ List<DiskFileCount> list = diskFileMapper.findFileTypeCountByGroup(loginUser);
|
|
|
|
|
+ return list.stream().collect(Collectors.toMap(DiskFileCount::getFileType, k -> k));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|