From 9c67a9d48ec6a71e2d4edf11fae3f5e802a97bff Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期二, 19 十一月 2024 16:35:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 47 insertions(+), 13 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java index a420aad..08ded69 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java @@ -12,6 +12,7 @@ import com.vci.corba.framework.data.*; import com.vci.corba.omd.data.BusinessObject; import com.vci.corba.portal.data.PLUILayout; +import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; @@ -339,6 +340,8 @@ menuVO.setModeType("FunctionObject"); menuVO.setIsValid(info.isValid); menuVO.setHasChildren(false); + menuVO.setCategory(1); + menuVO.setFunctionType(2); menuVOList.add(menuVO); } } @@ -356,6 +359,7 @@ MenuVO menuVO = this.functionInfoToMenuVO(funcInfo); menuVO.setChildType(childType); menuVO.setModeType("FunctionObject"); + menuVO.setCategory(0); menuVOList.add(menuVO); } } @@ -388,7 +392,9 @@ FunctionInfo funcInfo = funcInfos[i]; MenuVO menuVO = this.functionInfoToMenuVO(funcInfo); menuVO.setModeType("FunctionObject"); + childType = this.checkChildObject(funcInfos[i].id); menuVO.setChildType(childType); + menuVO.setCategory(0); menuVOList.add(menuVO); } return menuVOList; @@ -415,7 +421,8 @@ menuVO.setName(operateInfo.name); menuVO.setCode(operateInfo.identify); menuVO.setAlias(operateInfo.alias); - menuVO.setCategory(2); + menuVO.setCategory(1); + menuVO.setFunctionType(2); menuVO.setChildType(0); menuVO.setRemark(operateInfo.desc); menuVO.getMeta().put("keepAlive",false); @@ -437,11 +444,13 @@ * @param funcInfo * @return */ - private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){ + private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo) + { MenuVO menuVO = new MenuVO(); menuVO.setId(funcInfo.id); - menuVO.setValid(funcInfo.isValid); + menuVO.setIsValid(funcInfo.isValid); menuVO.setSource(funcInfo.image); + menuVO.setFunctionType(funcInfo.functionType); menuVO.setPathC(funcInfo.resourceC); menuVO.setResourceDotNet(funcInfo.resourceDotNet); menuVO.setResourceMobile(funcInfo.resourceMobile); @@ -469,7 +478,7 @@ @Override public int checkChildObject(String moduleId) throws VciBaseException { long res = 0; - try{//20D63A69-C6BC-8519-8B2B-E5ACFEA62394 + try{ res = platformClientUtil.getFrameworkService().checkChildObject(moduleId); }catch (PLException e) { e.printStackTrace(); @@ -491,6 +500,7 @@ MenuVO functionVO = new MenuVO(); functionVO.setId(menu.id); functionVO.setSource(menu.image); + functionVO.setFunctionType(menu.functionType); // if(StringUtils.isBlank(menu.resourceB) ){ // continue; // } @@ -531,6 +541,7 @@ menuVO.setSort((int) funcObj.seq); findChildAuthFunctionVO(menuVO, isAll); functionVO.getChildren().add(menuVO); + functionVO.setHasChildren(true); } }else if(type == 2){ FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(functionVO.getId(), "", true); @@ -549,6 +560,7 @@ menuVO.setIsValid(info.isValid); menuVO.setHasChildren(false); functionVO.getChildren().add(menuVO); + functionVO.setHasChildren(true); } }else{ functionVO.setHasChildren(false); @@ -580,15 +592,13 @@ public List<String> getSysModelAuth(String roleId) throws PLException { RoleRightInfo[] roleRightList = platformClientUtil.getFrameworkService().getRoleRightList(roleId, WebUtil.getCurrentUserId()); - Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue)); + Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue, + (existing, replacement) -> existing)); String parentId; SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId()); if (adminOrDeveloperOrRoot) { //绯荤粺鑿滃崟 - parentId = SYSTEMMANAGMENTNODE; - } else if (rightControlUtil.isThreeAdminCurUser()) { - //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� parentId = SYSTEMMANAGMENTNODE; } else { //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� @@ -598,7 +608,7 @@ List<String> authList = new ArrayList<>(); for (FunctionInfo functionInfo : moduleListByParentId) { if(authMap.containsKey(functionInfo.id)){ - authList.add(functionInfo.id); +// authList.add(functionInfo.id); getChildAuthNode(functionInfo, authMap, authList); } } @@ -685,6 +695,33 @@ return BaseResult.success(); } + /** + * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄� + * @param roleName 鎼滅储鐨勮鑹� + * @return 瑙掕壊鍒楄〃 + */ + @Override + public List<RoleInfoDTO> getRoleList(String roleName) throws PLException { + RoleInfo[] roleInfos = platformClientUtil.getFrameworkService().fetchRoleInfoByUserType(WebUtil.getCurrentUserId()); + List<RoleInfoDTO> dtos = new ArrayList<>(); + for (RoleInfo roleInfo : roleInfos) { + if(StringUtils.isBlank(roleName) || roleInfo.name.indexOf(roleName) != -1) { + RoleInfoDTO dto = new RoleInfoDTO(); + dto.setName(roleInfo.name); + dto.setDescription(roleInfo.description); + dto.setId(roleInfo.id); + dto.setGrantor(roleInfo.grantor); + dto.setType(roleInfo.type); + dto.setCreateTime(roleInfo.createTime); + dto.setCreateUser(roleInfo.createUser); + dto.setUpdateTime(roleInfo.updateTime); + dto.setUpdateUser(roleInfo.updateUser); + dtos.add(dto); + } + } + return dtos; + } + private long countRightValue(List<RoleRightParamDTO> dtos){ long value = 0; for (RoleRightParamDTO dto : dtos) { @@ -707,7 +744,7 @@ FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(funcObj.id, false); for(int i=0;i<funcInfos.length;i++){ if(authMap.containsKey(funcInfos[i].id)){ - authList.add(funcInfos[i].id); +// authList.add(funcInfos[i].id); getChildAuthNode(funcInfos[i], authMap, authList); } } @@ -1075,9 +1112,6 @@ String parentId; if (adminOrDeveloperOrRoot) { //绯荤粺鑿滃崟 - parentId = SYSTEMMANAGMENTNODE; - } else if (rightControlUtil.isThreeAdminCurUser()) { - //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� parentId = SYSTEMMANAGMENTNODE; } else { //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� -- Gitblit v1.9.3