Procházet zdrojové kódy

移动文件校验

lyhzzz před 2 roky
rodič
revize
120b1970c1

+ 10 - 0
src/main/java/com/fdkankan/ucenter/constant/ErrorConstant.java

@@ -0,0 +1,10 @@
+package com.fdkankan.ucenter.constant;
+
+public class ErrorConstant {
+
+    public static final int FAILURE_CODE_5050 = 5050;
+    public static final String FAILURE_MSG_5050 = "文件夹为空";
+
+    public static final int FAILURE_CODE_5051 = 5051;
+    public static final String FAILURE_MSG_5051 = "无法将上级目录移动到下级目录";
+}

+ 8 - 2
src/main/java/com/fdkankan/ucenter/service/impl/FolderServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.ucenter.constant.ErrorConstant;
 import com.fdkankan.ucenter.constant.LoginConstant;
 import com.fdkankan.ucenter.entity.Folder;
 import com.fdkankan.ucenter.entity.FolderScene;
@@ -131,9 +132,14 @@ public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implem
                 if(!folderEntity.getType().equals(param.getType())){
                     throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
                 }
-                if(folderEntity.getParentId().equals(param.getParentId())){
-                    throw new BusinessException(SceneConstant.FAILURE_CODE_5030, SceneConstant.FAILURE_MSG_5030);
+                Folder folder = this.getById(param.getParentId());
+                if(folder == null){
+                    throw new BusinessException(ErrorConstant.FAILURE_CODE_5050, ErrorConstant.FAILURE_MSG_5050);
+                }
+                if(folder.getParentId() != null && folder.getParentId().equals(folderEntity.getId())){
+                    throw new BusinessException(ErrorConstant.FAILURE_CODE_5051, ErrorConstant.FAILURE_MSG_5051);
                 }
+
                 List<Folder> byParentIdAndName = findByParentIdAndName(param.getParentId(), folderEntity.getName(), user.getId(),param.getType());
                 if(byParentIdAndName != null && byParentIdAndName.size() > 0){
                     //表示迁移回当前目录,不做处理