REQ-3540: 添加校验
This commit is contained in:
parent
a5bf127774
commit
940986c75a
@ -163,8 +163,7 @@ public class IndexManager {
|
||||
IndexNode srcNode = getOrThrow(srcCode);
|
||||
BizAssertions.assertTrue(indexNodeDao.validSubtreeFileCount(srcNode) <= docProps.getIndexNodeMaxCopyFileSize(),
|
||||
"拷贝文件数超过限制: {}", docProps.getIndexNodeMaxCopyFileSize());
|
||||
IndexNode destParentNode = findOrNull(destParentCode);
|
||||
checkBeforeMoveOrCopy(srcNode, destParentNode, "克隆");
|
||||
IndexNode destParentNode = determineDestParentNode(srcNode, destParentCode, "克隆");
|
||||
return async(() -> {
|
||||
// don't inline in transaction
|
||||
CopyFileVisitor copyNodeVisitor = new CopyFileVisitor(copySubtreeOssFiles(srcNode));
|
||||
@ -178,8 +177,7 @@ public class IndexManager {
|
||||
*/
|
||||
public Future<IndexNode> asyncMove(String srcCode, @Nullable String destParentCode) {
|
||||
IndexNode srcNode = getOrThrow(srcCode);
|
||||
IndexNode destParentNode = StringUtils.isBlank(destParentCode) ? null : getOrThrow(destParentCode);
|
||||
checkBeforeMoveOrCopy(srcNode, destParentNode, "移动");
|
||||
IndexNode destParentNode = determineDestParentNode(srcNode, destParentCode, "移动");
|
||||
return async(() -> {
|
||||
RootNode<IndexNode> moveRoot = TreeBuilder.build(collectValidSubtreeAsValueRoot(srcNode));
|
||||
return transaction.execute(unused -> {
|
||||
@ -189,13 +187,15 @@ public class IndexManager {
|
||||
});
|
||||
}
|
||||
|
||||
private static void checkBeforeMoveOrCopy(IndexNode srcNode, IndexNode destParentNode, String op) {
|
||||
if (destParentNode == null)
|
||||
return;
|
||||
private IndexNode determineDestParentNode(IndexNode srcNode, String destParentCode, String op) {
|
||||
IndexNode destParentNode = StringUtils.isBlank(destParentCode) ? null : getOrThrow(destParentCode);
|
||||
if (destParentNode != null) {
|
||||
BizAssertions.assertFalse(srcNode.isDirectory() && destParentNode.isFile(), "不能{}文件夹到文件下", op);
|
||||
BizAssertions.assertFalse(srcNode.isSameNodeWith(destParentNode), "不能{}到同一节点下", op);
|
||||
BizAssertions.assertFalse(srcNode.isParentOf(destParentNode), "不能{}到子节点下", op);
|
||||
}
|
||||
return destParentNode;
|
||||
}
|
||||
|
||||
@BizTransactional
|
||||
public IndexNode copySubTree(IndexNode src, @Nullable IndexNode destParent, CopyNodeVisitor copyNodeVisitor) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user