diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileInfoController.java similarity index 99% rename from electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java rename to electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileInfoController.java index 8cd1aaf..11546ea 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileInfoController.java @@ -25,7 +25,7 @@ import java.io.IOException; @RestController @RequestMapping("/data/ed/file") -public class EdFileInfoController { +public class SysEdFileInfoController { @Resource private EdFileInfoService edFileInfoService; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysProjectController.java similarity index 99% rename from electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java rename to electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysProjectController.java index 9206e3f..1551992 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysProjectController.java @@ -21,7 +21,7 @@ import java.util.List; @RestController @RequestMapping("/data/ed/prj") -public class ProjectController { +public class SysProjectController { @Resource private EdPrjService edPrjService; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index 1327ec7..9f5e4c0 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -311,6 +311,7 @@ public class CommonService { LambdaQueryWrapper prjQueryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code) .likeRight(EdFileInfo::getFilePath, id); if (querySource == PrjQuerySource.SYS_DB.value) { @@ -377,7 +378,7 @@ public class CommonService { return map; } - public Map> queryRepoPrjTree(int querySource, Object returnType) { + public Map> queryRepoPrjTree(int querySource, List accessibleIds, Object returnType) { Map> map = new HashMap<>(); try { @@ -387,6 +388,10 @@ public class CommonService { .eq(EdFileInfo::getDataOwn, DataOwnEnum.REPO_PRJ.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID); + if (CollUtil.isNotEmpty(accessibleIds)) { + queryWrapper.in(EdFileInfo::getId, accessibleIds); + } + List prjIds = edFileInfoMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList()); for (String id : prjIds) { @@ -395,6 +400,9 @@ public class CommonService { .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .likeRight(EdFileInfo::getFilePath, id); + if (CollUtil.isNotEmpty(accessibleIds)) { + queryWrapper.in(EdFileInfo::getId, accessibleIds); + } if (querySource == PrjQuerySource.REPO_DB.value) { prjQueryWrapper.and(qr -> qr.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.WAIT_DELETED.code) @@ -508,7 +516,7 @@ public class CommonService { } else if (DataOwnEnum.isUserCode(dataOwnCode)) { prjInfo = queryUserPrjTree(PrjQuerySource.USER_DB.value, new FileProjectVO()).getOrDefault(PrjQuerySource.USER_DB.value, new ArrayList<>()); } else { - prjInfo = queryRepoPrjTree(PrjQuerySource.REPO_DB.value, new FileProjectVO()).getOrDefault(PrjQuerySource.REPO_DB.value, new ArrayList<>()); + prjInfo = queryRepoPrjTree(PrjQuerySource.REPO_DB.value, accessibleIds, new FileProjectVO()).getOrDefault(PrjQuerySource.REPO_DB.value, new ArrayList<>()); } for (String info : prjInfo) { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index ebf9c5e..4a17d27 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -109,7 +109,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl strings = map.getOrDefault(querySource, new ArrayList<>()); List res = new ArrayList<>(); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index abac649..f42dd94 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -230,12 +230,15 @@ public class EdPrjServiceImpl extends ServiceImpl Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG); // 检查当前目录下有文件,如果有则不允许添加 long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) - .eq(EdFileInfo::getFileType, EleDataTypeEnum.FILE.code) - .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); - Assert.isTrue(count == 0, StrFormatter.format("该层级目录下存在文件,不允许再定义层级目录。父目录id {},子集名称 {}", parentId, folderName)); - Assert.isTrue(commonService.notExistSameFolder(parentId, folderName, dataOwnCode), "子集名已经存在"); + + if (count > 0) { + return ElectromagneticResultUtil.fail("-1", StrFormatter.format("该层级目录下存在文件或者文件夹,不允许再定义层级目录。父目录id {},子集名称 {}", parentId, folderName)); + } + if (!commonService.notExistSameFolder(parentId, folderName, dataOwnCode)) { + return ElectromagneticResultUtil.fail("-1", StrFormatter.format("子集名称 {} 已经存在,parent id {}", folderName, parentId)); + } int id = Integer.parseInt(this.baseMapper.maxPrjId()); String folderId = String.valueOf(id + 1); ElectromagneticResult electromagneticResult = commonService.addFolder(parentId, folderName, true, folderId, null, dataOwnCode); @@ -256,11 +259,11 @@ public class EdPrjServiceImpl extends ServiceImpl */ Map> map; if (querySource == PrjQuerySource.SYS_PRJ.value) { - map = commonService.querySysPrjTree(querySource, null, new ProjectVO()); + map = commonService.querySysPrjTree(PrjQuerySource.SYS_PRJ.value, null, new ProjectVO()); } else if (querySource == PrjQuerySource.USER_PRJ.value) { - map = commonService.queryUserPrjTree(querySource, new ProjectVO()); + map = commonService.queryUserPrjTree(PrjQuerySource.USER_PRJ.value, new ProjectVO()); } else { - map = commonService.queryRepoPrjTree(querySource, new ProjectVO()); + map = commonService.queryRepoPrjTree(PrjQuerySource.REPO_PRJ.value, null, new ProjectVO()); } List res = map.getOrDefault(querySource, new ArrayList<>()); List projectVOS = new ArrayList<>();