| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import javax.annotation.Resource; |
| | | import javax.swing.tree.TreePath; |
| | | import java.io.File; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | |
| | | Map<String,RoleRightVO> roleRightVOMap = new HashMap<>(); |
| | | if(StringUtils.isNotBlank(roleId)){ |
| | | String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | RoleRightInfo[] rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos)); |
| | | roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue)); |
| | | } |
| | | BizType[] bizTypes=osBtmServiceI.getBizTypes(type); |
| | | BizType[] bizTypes = osBtmServiceI.getBizTypes(type); |
| | | List<Tree> treeList=new ArrayList<>(); |
| | | Tree rootNode =new Tree("root","功能模块","root"); |
| | | rootNode.setLevel(0); |
| | |
| | | bizTypeTree.setParentId(rootNode.getOid()); |
| | | bizTypeTree.setParentName(rootNode.getText()); |
| | | bizTypeTree.setParentBtmName(bizTypes[i].name); |
| | | |
| | | //long startTime1 = System.currentTimeMillis(); |
| | | List<PLUILayout> contextList = uiDataFetcher.getContext(bizTypes[i].name); |
| | | List<PLUILayout> contextList = uiDataFetcher.getContext(bizTypes[i].name/*+context*/); |
| | | //long endTime1 = System.currentTimeMillis(); |
| | | //System.out.println("============================================获取UI定义数据引擎耗时:"+((endTime1-startTime1)/1000)+"s"); |
| | | |
| | |
| | | conditionMap.put("context",uiAuthorDTO.getContext()); |
| | | conditionMap.put("showCheckBox","true"); |
| | | treeQueryObject.setConditionMap(conditionMap); |
| | | List<Tree> treeList=this.getUIAuthor(treeQueryObject); |
| | | HashMap<String,Tree> allTreeMap=new HashMap<>(); |
| | | Map<String,RoleRightDTO> roleRightVOMap=new HashMap<>(); |
| | | List<Tree> treeList = this.getUIAuthor(treeQueryObject); |
| | | HashMap<String,Tree> allTreeMap = new HashMap<>(); |
| | | Map<String,RoleRightDTO> roleRightVOMap = new HashMap<>(); |
| | | if(!CollectionUtil.isEmpty(treeList)){ |
| | | 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)); |
| | | 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(); |
| | | List<RoleRightDTO> roleRightDTOList = new ArrayList<>(); |
| | | List<Tree> selectTreeList = uiAuthorDTO.getSelectTreeList(); |
| | | getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightVOMap,roleRightDTOList); |
| | | SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); |
| | | String currentUserName = sessionInfo.getUserId(); |
| | | boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); |
| | | List<RoleRightInfo> roleRightInfoList= roleRightDTOO2InfoS(roleRightDTOList); |
| | | UserEntityInfo info=new UserEntityInfo(); |
| | | //boolean isDeveloper = rightControlUtil.isDeveloper(currentUserName); |
| | | List<RoleRightInfo> roleRightInfoList = roleRightDTOO2InfoS(roleRightDTOList); |
| | | UserEntityInfo info = new UserEntityInfo(); |
| | | info.modules="UI授权"; |
| | | info.userName=currentUserName; |
| | | info.userName = currentUserName; |
| | | try { |
| | | res= platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info); |
| | | res = platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info); |
| | | }catch (PLException e){ |
| | | throw new Exception("保存失败:"+e.getMessage()); |
| | | throw new Exception("保存失败:" + e.getMessage()); |
| | | } |
| | | } |
| | | return res; |
| | |
| | | * @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(); |
| | | Map<String,RoleRightDTO> roleRightDTOMap=new HashMap<>(); |
| | | private void getSelectedRoleRightObjs(String roleOid, List<Tree> selectTreeList, HashMap<String,Tree> allTreeMap, Map<String,RoleRightDTO> allRoleRightDTOMap, List<RoleRightDTO> roleRightDTOList){ |
| | | //Date date=new Date(); |
| | | Map<String,RoleRightDTO> roleRightDTOMap = new HashMap<>(); |
| | | if(!CollectionUtil.isEmpty(selectTreeList)){ |
| | | selectTreeList.stream().forEach(tree -> { |
| | | String oid=tree.getOid(); |
| | | String oid = tree.getOid(); |
| | | if(allTreeMap.containsKey(oid)){ |
| | | tree= allTreeMap.get(oid); |
| | | Object data= tree.getData(); |
| | | tree = allTreeMap.get(oid); |
| | | Object data = tree.getData(); |
| | | if (data instanceof String) { |
| | | getRightValue(roleOid, tree, allTreeMap, false, roleRightDTOMap);//向下获取所有模块的权限值 |
| | | } else if (!(data instanceof PLTabButton)) {//业务类型 |
| | |
| | | if(allTreeMap.containsKey(parrentId)){ |
| | | SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); |
| | | String currentUserName = sessionInfo.getUserId(); |
| | | boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); |
| | | boolean isDeveloper = rightControlUtil.isDeveloper(currentUserName); |
| | | Tree parentNode= allTreeMap.get(parrentId); |
| | | String funcId = parentNode.getOid(); |
| | | getRightValue(roleOid,tree, allTreeMap, true, roleRightDTOMap);//向上处理该操作父级的上级模块权限(不包含父节点) |
| | | getRightValue(roleOid, tree, allTreeMap, true, roleRightDTOMap);//向上处理该操作父级的上级模块权限(不包含父节点) |
| | | if(!roleRightDTOMap.containsKey(funcId)){ |
| | | RoleRightDTO roleRightDTO = new RoleRightDTO(); |
| | | roleRightDTO.setId(ObjectUtility.getNewObjectID36());//主键 |
| | | roleRightDTO.setFuncId(funcId); |
| | | if(isDeveloper) { |
| | | roleRightDTO.setRightType((short) 1);//权限类型 权限类型,超级管理员给管理员授权为1,管理员给普通用户授权为2 |
| | | //权限类型 权限类型,超级管理员给管理员授权为1,管理员给普通用户授权为2 |
| | | roleRightDTO.setRightType((short) 1); |
| | | }else{ |
| | | roleRightDTO.setRightType((short) 2); |
| | | } |
| | |
| | | }); |
| | | /* allRoleRightDTOMap.putAll(roleRightDTOMap.entrySet().stream() |
| | | .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry:: getValue)));*/ |
| | | List<RoleRightDTO> newRoleRightDTOList=Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList()); |
| | | List<RoleRightDTO> newRoleRightDTOList = Optional.ofNullable(roleRightDTOMap).orElseGet(()->new HashMap<String,RoleRightDTO>()).values().stream().collect(Collectors.toList()); |
| | | roleRightDTOList.addAll(newRoleRightDTOList); |
| | | } |
| | | } |