lyhzzz il y a 3 mois
Parent
commit
392a033027

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/common/ResultCode.java

@@ -63,6 +63,8 @@ public enum ResultCode  {
 
     FOLDER_NOT_EXSIT(5038, "文件夹不存在"),
 
+    FOLDER_NAME_ERROR(5039, "文件夹不能同名"),
+
     ;
 
     private Integer code;

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/controller/ManageFolderController.java

@@ -33,6 +33,7 @@ public class ManageFolderController extends BaseController{
             manageFolder.setCreateId(user.getId());
             manageFolder.setCompanyId(user.getCompanyId());
         }
+        manageFolderService.checkFolderName(manageFolder.getId(),manageFolder.getName(),manageFolder.getParentId());
         manageFolderService.saveOrUpdate(manageFolder);
         return Result.success();
     }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/IManageFolderService.java

@@ -24,4 +24,6 @@ public interface IManageFolderService extends IService<ManageFolder> {
     List<ManageFolder>  tree(User user,Integer tyep);
 
     void moveScene(ManageFolderSceneVo param);
+
+    void checkFolderName(Integer id,String name, Integer parentId);
 }

+ 20 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ManageFolderServiceImpl.java

@@ -133,4 +133,24 @@ public class ManageFolderServiceImpl extends ServiceImpl<IManageFolderMapper, Ma
     }
 
 
+    @Override
+    public void checkFolderName(Integer id,String name, Integer parentId) {
+        LambdaQueryWrapper<ManageFolder> wrapper = new LambdaQueryWrapper<>();
+        if(parentId == null){
+            wrapper.isNull(ManageFolder::getParentId);
+        }else {
+            wrapper.eq(ManageFolder::getParentId,parentId);
+        }
+        wrapper.eq(ManageFolder::getName,name);
+        List<ManageFolder> list = this.list(wrapper);
+        if(id == null && !list.isEmpty()){
+            throw new BusinessException(ResultCode.FOLDER_NAME_ERROR);
+        }
+        if(id != null && !list.isEmpty()){
+            List<Integer> collect = list.stream().map(ManageFolder::getId).collect(Collectors.toList());
+            if(!collect.contains(id)){
+                throw new BusinessException(ResultCode.FOLDER_NAME_ERROR);
+            }
+        }
+    }
 }