This commit is contained in:
CD
2022-10-08 14:38:54 +08:00
parent 0b960424d7
commit 747861775f
4 changed files with 33 additions and 11 deletions
@@ -49,7 +49,7 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
@GetMapping(value = "/list")
public Result<ERFTreeDataVO> queryList() {
ERFTreeDataVO dataVO = new ERFTreeDataVO();
dataVO.setManager(extRepoFolderService.isManager());
//dataVO.setManager(extRepoFolderService.isManager());
dataVO.setList(extRepoFolderService.queryTreeList());
return Result.OK(dataVO);
}
@@ -56,6 +56,19 @@ public class ERFTreeData implements Comparable<ERFTreeData> {
*/
private String authManageIds = "";
/**
* 是否能点击右键
*/
private boolean rightClick;
public boolean isRightClick() {
return rightClick;
}
public void setRightClick(boolean rightClick) {
this.rightClick = rightClick;
}
/**
* 子文件夹
*/
@@ -3,19 +3,19 @@ package com.jero.modules.extRepo.entity;
import java.util.List;
public class ERFTreeDataVO {
boolean isManager;
// boolean isManager;
List<ERFTreeData> list;
public ERFTreeDataVO() {
}
public boolean isManager() {
return isManager;
}
// public boolean isManager() {
// return isManager;
// }
public void setManager(boolean manager) {
isManager = manager;
}
// public void setManager(boolean manager) {
// isManager = manager;
// }
public List<ERFTreeData> getList() {
return list;
@@ -244,11 +244,15 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
int childLevel = level + 1;
if (haveViewAuth(erf.getId())) {
ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId());
boolean parentRightClick = haveManageAuth(erf.getId());
if (parentRightClick) {
date.setRightClick(true);
}
date.setAuthManageIdsName(erf.getAuthManageIdsName());
date.setAuthManageIds(erf.getAuthManageIds());
date.setAuthViewIdsName(erf.getAuthViewIdsName());
date.setAuthViewIds(erf.getAuthViewIds());
date.setChildren(subFolderTree(erf.getId(),new ArrayList<ERFTreeData>(),childLevel));
date.setChildren(subFolderTree(erf.getId(),new ArrayList<ERFTreeData>(),childLevel,parentRightClick));
date.sortChildren();
resList.add(date);
} else {
@@ -265,12 +269,17 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
* @param level
* @return
*/
private List<ERFTreeData> subFolderTree(String folder,List<ERFTreeData> childTree,int level) {
private List<ERFTreeData> subFolderTree(String folder,List<ERFTreeData> childTree,int level,boolean parentRightClick) {
int childLevel = level + 1;
List<ExtRepoFolder> listBySupFolder = getListBySupFolder(folder);
ExtRepoFolder father = queryById(folder);
for (ExtRepoFolder extRepoFolder : listBySupFolder) {
ERFTreeData date = new ERFTreeData(extRepoFolder.getFolderName(), extRepoFolder.getId(), childLevel, extRepoFolder.getOrderId());
//是否有管理权限
boolean childRightClick = haveManageAuth(extRepoFolder.getId());
if (parentRightClick||childRightClick) {
date.setRightClick(true);
}
//如果参数为空则延续父文件夹权限,反之用自己的
if (ObjectUtils.isNotEmpty(extRepoFolder.getAuthManageIds()) && ObjectUtils.isNotEmpty(extRepoFolder.getAuthManageIdsName())) {
date.setAuthManageIdsName(extRepoFolder.getAuthManageIdsName());
@@ -286,7 +295,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
date.setAuthViewIdsName(father.getAuthViewIdsName());
date.setAuthViewIds(father.getAuthViewIds());
}
date.setChildren(subFolderTree(extRepoFolder.getId(), new ArrayList<ERFTreeData>(),childLevel));
date.setChildren(subFolderTree(extRepoFolder.getId(), new ArrayList<ERFTreeData>(),childLevel,childRightClick));
date.sortChildren();
childTree.add(date);
}