From 9cb0b88fcda6e8f1d286cc57366072a1cd2b1d2a Mon Sep 17 00:00:00 2001 From: gaosong Date: Thu, 11 Aug 2022 00:22:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E5=A4=96=E6=8A=A5?= =?UTF-8?q?=E5=91=8A-=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ExtRepoFolderController.java | 10 +- .../modules/extRepo/entity/ERFTreeData.java | 15 --- .../modules/extRepo/entity/ERFTreeDataVO.java | 27 +++++ .../impl/ExtRepoFolderServiceImpl.java | 105 ++++++------------ 4 files changed, 66 insertions(+), 91 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeDataVO.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java index abb0c0d96..37be9b9e1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java @@ -4,7 +4,7 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; -import com.jero.modules.extRepo.entity.ERFTreeData; +import com.jero.modules.extRepo.entity.ERFTreeDataVO; import com.jero.modules.extRepo.entity.ExtRepoData; import com.jero.modules.extRepo.entity.ExtRepoFolder; import com.jero.modules.extRepo.service.IExtRepoDataService; @@ -44,9 +44,11 @@ public class ExtRepoFolderController extends JeroController> queryList() { - List list = extRepoFolderService.queryTreeList(); - return Result.OK(list); + public Result queryList() { + ERFTreeDataVO dataVO = new ERFTreeDataVO(); + dataVO.setManager(extRepoFolderService.isManager()); + dataVO.setList(extRepoFolderService.queryTreeList()); + return Result.OK(dataVO); } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java index d9d65aecd..0b0152705 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java @@ -36,13 +36,6 @@ public class ERFTreeData implements Comparable { */ private int orderId; - - /** - * 是否显示 - */ - private boolean display = false; - - /** * 查看权限人员 */ @@ -119,14 +112,6 @@ public class ERFTreeData implements Comparable { this.orderId = orderId; } - public boolean isDisplay() { - return display; - } - - public void setDisplay(boolean display) { - this.display = display; - } - public String getFolderName() { return folderName; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeDataVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeDataVO.java new file mode 100644 index 000000000..ba073d51e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeDataVO.java @@ -0,0 +1,27 @@ +package com.jero.modules.extRepo.entity; + +import java.util.List; + +public class ERFTreeDataVO { + boolean isManager; + List list; + + public ERFTreeDataVO() { + } + + public boolean isManager() { + return isManager; + } + + public void setManager(boolean manager) { + isManager = manager; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java index aa6ea910a..baee6ebaa 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java @@ -22,10 +22,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 对外报告文件夹表 - * @Author: jero-boot - * @Date: 2022-07-25 - * @Version: V1.0 + * 对外报告文件夹表 */ @Service public class ExtRepoFolderServiceImpl extends ServiceImpl implements IExtRepoFolderService { @@ -38,9 +35,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl list = getListBySupFolder(extRepoFolder.getSupFolder()); for (ExtRepoFolder erf : list) { if (erf.getOrderId() >= extRepoFolder.getOrderId() && !erf.getId().equals(extRepoFolder.getId())) { @@ -90,9 +79,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl authManage_orig = getAuthMap(erf_orig.getAuthManageIdsName(), erf_orig.getAuthManageIds()); Map authManage_new = getAuthMap(erf_new.getAuthManageIdsName(), erf_new.getAuthManageIds()); @@ -132,20 +118,20 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl allSubFolder = getAllSubFolder(erf_orig.getId()); //存储变化的对象 - List updateFolder = new ArrayList(); + List updateFolder = new ArrayList<>(); for (ExtRepoFolder erf : allSubFolder) { boolean isChange = false; Map authManage_erf = getAuthMap(erf.getAuthManageIdsName(), erf.getAuthManageIds()); Map authView_erf = getAuthMap(erf.getAuthViewIdsName(), erf.getAuthViewIds()); for (String add : addManageRole.keySet()) { - if (!authManage_erf.keySet().contains(add)) { + if (!authManage_erf.containsKey(add)) { authManage_erf.put(add, addManageRole.get(add)); isChange = true; } } for (String del : delManageRole.keySet()) { //如果是创建人 不能删除管理权限 - if (authManage_erf.keySet().contains(del)) { + if (authManage_erf.containsKey(del)) { if (!del.equals(erf_orig.getCreateBy())) { authManage_erf.remove(del); isChange = true; @@ -153,13 +139,13 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl getDefMap(Map mapA, Map mapB) { - Map res = new HashMap(); + Map res = new HashMap<>(); for (String s : mapA.keySet()) { - if (StringUtils.isNotBlank(s) && !mapB.keySet().contains(s)) { + if (StringUtils.isNotBlank(s) && !mapB.containsKey(s)) { res.put(s, mapA.get(s)); } } @@ -196,7 +178,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl getAllSubFolder(String folderId) { List resList = getListBySupFolder(folderId); - List subList = new ArrayList(); + List subList = new ArrayList<>(); for (ExtRepoFolder erf : resList) { subList.addAll(getAllSubFolder(erf.getId())); } @@ -206,9 +188,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl queryList() { @@ -243,14 +217,12 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl queryTreeList() { try { List list = queryList(); - List res = getSubFolder(superFolder, list, 1); + List res = getSubFolder(superFolder, list, 1, true); Collections.sort(res); return res; } catch (Exception ex) { @@ -262,34 +234,31 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl getSubFolder(String supId, List list, int level) throws Exception { - List resList = new ArrayList(); + private List getSubFolder(String supId, List list, int level, boolean needAuth) { + List resList = new ArrayList<>(); for (ExtRepoFolder erf : list) { if (supId.equals(erf.getSupFolder())) { - ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId()); - //检查有没有权限查看 - date.setDisplay(haveViewAuth(erf.getSupFolder())); - int childLevel = date.getLevel() + 1; - date.setAuthManageIdsName(erf.getAuthManageIdsName()); - date.setAuthManageIds(erf.getAuthManageIds()); - date.setAuthViewIdsName(erf.getAuthViewIdsName()); - date.setAuthViewIds(erf.getAuthViewIds()); - date.setChildren(getSubFolder(erf.getId(), list, childLevel)); - date.sortChildren(); - resList.add(date); + int childLevel = level + 1; + if (!needAuth || haveViewAuth(erf.getId())) { + ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId()); + date.setAuthManageIdsName(erf.getAuthManageIdsName()); + date.setAuthManageIds(erf.getAuthManageIds()); + date.setAuthViewIdsName(erf.getAuthViewIdsName()); + date.setAuthViewIds(erf.getAuthViewIds()); + date.setChildren(getSubFolder(erf.getId(), list, childLevel, false)); + date.sortChildren(); + resList.add(date); + } else { + resList.addAll(getSubFolder(erf.getId(), list, childLevel, true)); + } } } return resList; } private List getStringList(String listStr) { - List res = new ArrayList(); + List res = new ArrayList<>(); if (null != listStr) { res = Arrays.asList(listStr.split(",")); } @@ -297,7 +266,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl getAuthMap(String strKey, String strValue) { - Map resMap = new HashMap(); + Map resMap = new HashMap<>(); List keyList = getStringList(strKey); List valueList = getStringList(strValue); for (int i = 0; i < keyList.size(); i++) { @@ -308,19 +277,17 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl userRoles = sysUserRoleService.list(new QueryWrapper().lambda().eq(SysUserRole::getUserId, loginUser.getId())); // 查询用户所有角色 - List userRoleIds = new ArrayList<>(); // 用户管理员/对外报告管理员 + List userRoleIds; // 用户管理员/对外报告管理员 if (CollectionUtil.isNotEmpty(userRoles)) { List roleIdList = ExtRepoMamagerRoleIdEnum.getIdList(); List userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); - userRoleIds = roleIdList.stream().filter(e -> userRoleIdList.contains(e)).collect(Collectors.toList()); + userRoleIds = roleIdList.stream().filter(userRoleIdList::contains).collect(Collectors.toList()); return !CollectionUtil.isEmpty(userRoleIds); } return false; @@ -328,13 +295,10 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl