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") @GetMapping(value = "/list")
public Result<ERFTreeDataVO> queryList() { public Result<ERFTreeDataVO> queryList() {
ERFTreeDataVO dataVO = new ERFTreeDataVO(); ERFTreeDataVO dataVO = new ERFTreeDataVO();
dataVO.setManager(extRepoFolderService.isManager()); //dataVO.setManager(extRepoFolderService.isManager());
dataVO.setList(extRepoFolderService.queryTreeList()); dataVO.setList(extRepoFolderService.queryTreeList());
return Result.OK(dataVO); return Result.OK(dataVO);
} }
@@ -56,6 +56,19 @@ public class ERFTreeData implements Comparable<ERFTreeData> {
*/ */
private String authManageIds = ""; 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; import java.util.List;
public class ERFTreeDataVO { public class ERFTreeDataVO {
boolean isManager; // boolean isManager;
List<ERFTreeData> list; List<ERFTreeData> list;
public ERFTreeDataVO() { public ERFTreeDataVO() {
} }
public boolean isManager() { // public boolean isManager() {
return isManager; // return isManager;
} // }
public void setManager(boolean manager) { // public void setManager(boolean manager) {
isManager = manager; // isManager = manager;
} // }
public List<ERFTreeData> getList() { public List<ERFTreeData> getList() {
return list; return list;
@@ -244,11 +244,15 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
int childLevel = level + 1; int childLevel = level + 1;
if (haveViewAuth(erf.getId())) { if (haveViewAuth(erf.getId())) {
ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId()); 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.setAuthManageIdsName(erf.getAuthManageIdsName());
date.setAuthManageIds(erf.getAuthManageIds()); date.setAuthManageIds(erf.getAuthManageIds());
date.setAuthViewIdsName(erf.getAuthViewIdsName()); date.setAuthViewIdsName(erf.getAuthViewIdsName());
date.setAuthViewIds(erf.getAuthViewIds()); 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(); date.sortChildren();
resList.add(date); resList.add(date);
} else { } else {
@@ -265,12 +269,17 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
* @param level * @param level
* @return * @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; int childLevel = level + 1;
List<ExtRepoFolder> listBySupFolder = getListBySupFolder(folder); List<ExtRepoFolder> listBySupFolder = getListBySupFolder(folder);
ExtRepoFolder father = queryById(folder); ExtRepoFolder father = queryById(folder);
for (ExtRepoFolder extRepoFolder : listBySupFolder) { for (ExtRepoFolder extRepoFolder : listBySupFolder) {
ERFTreeData date = new ERFTreeData(extRepoFolder.getFolderName(), extRepoFolder.getId(), childLevel, extRepoFolder.getOrderId()); 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())) { if (ObjectUtils.isNotEmpty(extRepoFolder.getAuthManageIds()) && ObjectUtils.isNotEmpty(extRepoFolder.getAuthManageIdsName())) {
date.setAuthManageIdsName(extRepoFolder.getAuthManageIdsName()); date.setAuthManageIdsName(extRepoFolder.getAuthManageIdsName());
@@ -286,7 +295,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
date.setAuthViewIdsName(father.getAuthViewIdsName()); date.setAuthViewIdsName(father.getAuthViewIdsName());
date.setAuthViewIds(father.getAuthViewIds()); 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(); date.sortChildren();
childTree.add(date); childTree.add(date);
} }