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; } 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 { //普通用户只返回业务功能模块相关的菜单 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 角色主键 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]; }