| | |
| | | import com.vci.frameworkcore.enumpck.RoleClassifyEnum; |
| | | import com.vci.frameworkcore.enumpck.RoleControlAreaEnum; |
| | | import com.vci.frameworkcore.model.SmRoleForPlatform1; |
| | | import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; |
| | | import com.vci.frameworkcore.pagemodel.SmRoleVO; |
| | | import com.vci.omd.utils.ObjectTool; |
| | | import com.vci.starter.web.constant.QueryOptionConstant; |
| | |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; |
| | |
| | | } |
| | | return platformRole2SmRoleVO(role); |
| | | } |
| | | |
| | | /** |
| | | * 批量获取角色的信息 (根据角色主键) |
| | | * @param roleOidCollections 角色主键的集合,可以超过1000个 |
| | |
| | | }); |
| | | return platformRole2SmRoleVOs(roles); |
| | | } |
| | | |
| | | /** |
| | | * 获取角色的列表,默认会以角色名升序排列,角色的编辑页面列表不要使用这个接口 |
| | | * @param queryMap 查询条件 |
| | |
| | | } |
| | | return dataGrid; |
| | | } |
| | | |
| | | /** |
| | | * 根据角色主键获取角色的姓名 |
| | | * @param roleOid 角色主键 |
| | |
| | | WebUtil.alertNotNull(roleOid,"角色主键"); |
| | | return getRoleByRoleOid(roleOid).getName(); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户主键获取关联的角色 |
| | | * @param userOid 用户主键 |
| | |
| | | } |
| | | return platformRole2SmRoleVOs(roles); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户主键获取关联的角色 |
| | | * @param userOid 用户主键 |
| | |
| | | } |
| | | return gridRoles(queryMap,pageHelper); |
| | | } |
| | | |
| | | /** |
| | | * 获取未关联某个用户的角色 |
| | | * @param userOid 用户主键 |
| | |
| | | Map<String, String> queryMap) { |
| | | return listRoleByUserOid(userOid,queryMap,true); |
| | | } |
| | | |
| | | /** |
| | | * 获取未关联某个用户的角色 |
| | | * @param userOid 用户主键 |
| | |
| | | Map<String, String> queryMap, PageHelper pageHelper) { |
| | | return gridRoleByUserOid(userOid,queryMap,pageHelper,true); |
| | | } |
| | | |
| | | /** |
| | | * 批量根据用户的主键来获取角色 |
| | | * @param userOidCollection 用户主键集合 |
| | |
| | | List<BusinessObject> cbos = boService.queryBySql(sql, null); |
| | | if(!CollectionUtils.isEmpty(cbos)){ |
| | | cbos.stream().forEach(cbo->{ |
| | | String userOid = ObjectTool.getBOAttributeValue(cbo,"pluseruid"); |
| | | String userOid = ObjectTool.getNewBOAttributeValue(cbo,"pluseruid"); |
| | | List<String> roleOids = userRoleOidMap.getOrDefault(userOid,new ArrayList<>()); |
| | | roleOids.add(ObjectTool.getBOAttributeValue(cbo,"plroleuid")); |
| | | roleOids.add(ObjectTool.getNewBOAttributeValue(cbo,"plroleuid")); |
| | | userRoleOidMap.put(userOid,roleOids); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | if(!CollectionUtils.isEmpty(roleVOList)){ |
| | | Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); |
| | | //这儿应该对roleVOList做一次去重处理,因为肯定会有重复的角色被查出来 |
| | | Map<String, SmRoleVO> roleVOMap = roleVOList.stream() |
| | | .collect(Collectors.toMap(SmRoleVO::getOid, Function.identity(), (existing, replacement) -> existing)); |
| | | //Map<String, SmRoleVO> roleVOMap = roleVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); |
| | | Map<String, List<SmRoleVO>> userRoleVOMap = new HashMap<>(); |
| | | userRoleOidMap.forEach((userOid,roleOids)->{ |
| | | List<SmRoleVO> roleVOS = new ArrayList<>(); |
| | |
| | | } |
| | | return new HashMap<>(); |
| | | } |
| | | |
| | | /** |
| | | * 根据权限主键获取关联的角色 |
| | | * @param functionOid 权限主键 |
| | |
| | | } |
| | | return new HashMap<>(); |
| | | } |
| | | |
| | | /** |
| | | * 参照角色的列表,三员管理的三个角色不会显示 |
| | | * @param queryMap 查询条件 |
| | |
| | | //老平台没有生效状态 |
| | | return gridRoles(queryMap, pageHelper); |
| | | } |
| | | |
| | | /** |
| | | * 角色的树形展示,常用于角色选择用户的页面使用 |
| | | * @param treeQueryObject 树查询对象 |