From b73a1b5eb0c4a974cb5b16ccddb582f60347707c Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 22 十月 2024 21:53:17 +0800 Subject: [PATCH] 日志查询接口修改,支持管理员和普通用户分开查询。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 38 ++++++++++++++++++++++++++++---------- 1 files changed, 28 insertions(+), 10 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java index 3f4e4fe..c59c90b 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java @@ -1776,18 +1776,20 @@ treeQueryObject.setConditionMap(conditionMap); List<Tree> treeList = this.getUIAuthor(treeQueryObject); HashMap<String,Tree> allTreeMap = new HashMap<>(); - Map<String,RoleRightDTO> roleRightVOMap = new HashMap<>(); + //Map<String,RoleRightDTO> roleRightVOMap = new HashMap<>(); if(!CollectionUtil.isEmpty(treeList)){ - if(StringUtils.isNotBlank(uiAuthorDTO.getRoleId())){ + /*if(StringUtils.isNotBlank(uiAuthorDTO.getRoleId())){ String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); RoleRightInfo[] rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(uiAuthorDTO.getRoleId(),userName); List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos)); roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVOO2DTO(roleRightVO),(oldValue,newValue)->oldValue)); - } + }*/ + convertTreeDOO2Map(treeList,allTreeMap); List<RoleRightDTO> roleRightDTOList = new ArrayList<>(); List<Tree> selectTreeList = uiAuthorDTO.getSelectTreeList(); - getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightVOMap,roleRightDTOList); + List<Tree> selectTreeList2 = this.authTreeListConvert(selectTreeList); + getSelectedRoleRightObjs_old(uiAuthorDTO.getRoleId(),selectTreeList2,allTreeMap,roleRightDTOList); SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); String currentUserName = sessionInfo.getUserId(); //boolean isDeveloper = rightControlUtil.isDeveloper(currentUserName); @@ -1805,14 +1807,30 @@ } /** + * 鑾峰彇绛涢�夊悗鐨勬暟鎹� + * @param selectTreeList + */ + private List<Tree> authTreeListConvert(List<Tree> selectTreeList){ + + // 鍒涘缓涓�涓寘鍚彟涓�涓泦鍚堜腑婊¤冻鏉′欢鐨� oid 鐨勯泦鍚� + List<String> validOids = selectTreeList.stream() + .filter(Tree::isChecked) // checked 涓� true + .map(Tree::getOid) // 鎻愬彇 oid + .collect(Collectors.toList()); + + return selectTreeList.stream() + .filter(tree -> tree.isChecked() && !validOids.contains(tree.getParentId())) // 杩囨护鏉′欢 + .collect(Collectors.toList()); + } + + /** *鏍规嵁鏉冮檺璁$畻涓婁笅鏉冮檺 * @param roleOid * @param selectTreeList * @param allTreeMap * @param roleRightDTOList */ - private void getSelectedRoleRightObjs(String roleOid, List<Tree> selectTreeList, HashMap<String,Tree> allTreeMap, Map<String,RoleRightDTO> allRoleRightDTOMap, List<RoleRightDTO> roleRightDTOList){ - //Date date=new Date(); + private void getSelectedRoleRightObjs_old(String roleOid, List<Tree> selectTreeList, HashMap<String,Tree> allTreeMap, List<RoleRightDTO> roleRightDTOList){ Map<String,RoleRightDTO> roleRightDTOMap = new HashMap<>(); if(!CollectionUtil.isEmpty(selectTreeList)){ selectTreeList.stream().forEach(tree -> { @@ -1844,7 +1862,7 @@ }else{ roleRightDTO.setRightType((short) 2); } - roleRightDTO.setRightValue(1);// 鏉冮檺鍊硷紝娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 + roleRightDTO.setRightValue(countRightValue(parentNode,false));// 鏉冮檺鍊硷紝娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0 roleRightDTO.setRoleId(roleOid);//瑙掕壊ID roleRightDTO.setCreateUser(currentUserName);//鍒涘缓鑰� roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//鍒涘缓鏃堕棿 @@ -1994,10 +2012,10 @@ */ private long countRightValue(Tree node,boolean isAll){ long value = 0; - for(int i = 0;i < node.getChildren().size();i++){ + for(int i = 0; i < node.getChildren().size(); i++){ Tree childNode = (Tree)node.getChildren().get(i); - if(isAll && node.getData() instanceof PLTabButton ){ - PLTabButton obj = (PLTabButton)node.getData(); + if(isAll || node.getData() instanceof PLTabButton ){ + PLTabButton obj = (PLTabButton)childNode.getData(); value += (long)Math.pow(2, obj.plSeq);//绱鍔犱笂鍚勪釜鎿嶄綔鐨勬潈闄愬�� } } -- Gitblit v1.9.3