From 2a06a2a8aed92fd2eb4b4570b79f304a1c0caf6d Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期四, 12 九月 2024 09:39:37 +0800 Subject: [PATCH] 1、Action树查询接口增加id。 2、增加角色列表接口 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 38 +++++++++++++++--- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java | 5 +- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java | 7 +++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java | 18 +++++++++ 4 files changed, 59 insertions(+), 9 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java index 89cc712..4242734 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java @@ -2,6 +2,7 @@ import com.vci.common.exception.VciException; import com.vci.corba.common.PLException; +import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum; @@ -176,4 +177,10 @@ * @throws PLException */ BaseResult saveRoleRight(List<RoleRightParamDTO> roleRightDTOS, String roleId) throws PLException; + /** + * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄� + * @param roleName 鎼滅储鐨勮鑹� + * @return 瑙掕壊鍒楄〃 + */ + List<RoleInfoDTO> getRoleList(String roleName) throws PLException; } 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..1fcb587 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; @@ -531,6 +532,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 +551,7 @@ menuVO.setIsValid(info.isValid); menuVO.setHasChildren(false); functionVO.getChildren().add(menuVO); + functionVO.setHasChildren(true); } }else{ functionVO.setHasChildren(false); @@ -580,15 +583,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 { //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� @@ -683,6 +684,32 @@ throw new PLException("500", new String[]{"鍔熻兘妯″潡鎺堟潈澶辫触锛�"}); } 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){ @@ -1075,9 +1102,6 @@ String parentId; if (adminOrDeveloperOrRoot) { //绯荤粺鑿滃崟 - parentId = SYSTEMMANAGMENTNODE; - } else if (rightControlUtil.isThreeAdminCurUser()) { - //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� parentId = SYSTEMMANAGMENTNODE; } else { //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java index 858f465..98b5e18 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java @@ -4,6 +4,7 @@ import com.vci.corba.common.PLException; import com.vci.corba.framework.data.FuncOperationInfo; import com.vci.corba.framework.data.OperateInfo; +import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; @@ -110,6 +111,23 @@ } /** + * 瑙掕壊鍒楄〃 + * @param roleName 鎼滅储鐨勮鑹� + * @return 瑙掕壊鍒楄〃 + */ + @GetMapping("/getRoleList") + public BaseResult<List<RoleInfoDTO>> getRoleList(String roleName) { + try { + return BaseResult.dataList(functionQueryService.getRoleList(roleName)); + }catch (Exception e){ + e.printStackTrace(); + String errorMsg = "鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+ VciBaseUtil.getExceptionMessage(e); + logger.error(errorMsg); + throw new VciBaseException(errorMsg); + } + } + + /** * 淇濆瓨鎺堟潈鐨勬ā鍧� * @param roleRightDTOS 鐢ㄦ埛閫夋嫨鎺堟潈妯″潡淇℃伅 * @param roleId 瑙掕壊涓婚敭 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java index fd3d7b9..1030cb5 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java @@ -127,6 +127,7 @@ PLActionCls[] clses = platformClientUtil.getUIService().getPLActionClsArray(); PLActionClsDTO treDto = new PLActionClsDTO(); treDto.setName("Action鍒嗙被"); + treDto.setId("root"); Map<String, List<PLActionCls>> allDataMap = Arrays.stream(clses).collect(Collectors.groupingBy(pl -> pl.pid)); for (PLActionCls cls : clses) { @@ -134,7 +135,7 @@ PLActionClsDTO parentDto = new PLActionClsDTO(); parentDto.setId(cls.id); parentDto.setName(cls.name); - parentDto.setPid(cls.pid); + parentDto.setPid("root"); parentDto.setDescription(cls.description); parentDto.setCreator(cls.creator); parentDto.setCreateTime(cls.createTime); @@ -186,7 +187,7 @@ Constraint[] consArray ; if(StringUtils.isNotBlank(dto.getPlactioncls())){ consArray = new Constraint[7]; - consArray[6] = new Constraint("plactioncls", dto.getPlactioncls()); + consArray[6] = new Constraint("plactioncls", dto.getPlactioncls().equals("root") ? "": dto.getPlactioncls()); }else { consArray = new Constraint[6]; } -- Gitblit v1.9.3