Bin/Redis-6.2.10/dump.rdbBinary files differ
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java
@@ -36,10 +36,10 @@ /**æ°å¢æ°æ®å建è ï¼ä¿®æ¹è ï¼å建æ¶é´ï¼ä¿®æ¹æ¶é´ï¼ææè ***/ private String createUser = ""; private Date createTime = new Date(); private String createTime= ""; private String licensor = ""; private String modifyUser = ""; private Date modifyTime = new Date(); private String modifyTime = ""; public String getId() { return id; @@ -89,11 +89,11 @@ this.createUser = createUser; } public Date getCreateTime() { public String getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { public void setCreateTime(String createTime) { this.createTime = createTime; } @@ -113,11 +113,11 @@ this.modifyUser = modifyUser; } public Date getModifyTime() { public String getModifyTime() { return modifyTime; } public void setModifyTime(Date modifyTime) { public void setModifyTime(String modifyTime) { this.modifyTime = modifyTime; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -160,6 +160,15 @@ */ List<Tree> refTreeUsers(TreeQueryObject treeQueryObject) throws VciBaseException; /*** * 人åæééæ©æ * @param treeQueryObject * @return * @throws VciBaseException */ List<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException; /** * æ ¡éªå¯ç æ¯å¦ç¸åï¼å¨æ°å¹³å°ä¸åå¨çå¯ç æ¯ä¸¤æ¬¡md5 * @param userOid ç¨æ·ä¸»é® Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1,5 +1,7 @@ package com.vci.frameworkcore.compatibility.impl; import com.vci.corba.framework.data.DeptInfo; import com.vci.corba.framework.data.RoleInfo; import com.vci.dto.SmUserDTO; import com.vci.common.util.ThreeDES; import com.vci.corba.common.PLException; @@ -10,6 +12,7 @@ import com.vci.frameworkcore.compatibility.SmPwdStrategyQueryServiceI; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; import com.vci.frameworkcore.enumpck.OrgTypeEnum; import com.vci.model.SmUserDO; import com.vci.pagemodel.SmUserVO; import com.vci.po.SmUserPO; @@ -36,6 +39,7 @@ import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -943,6 +947,167 @@ } /** * è·åè§è²æ°æ® * @param treeQueryObject * @return * @throws VciBaseException */ @Override public List<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException { List<Tree> rootTreeList=new ArrayList<>(); Map<String,String> conditionMap=treeQueryObject.getConditionMap(); if(CollectionUtils.isEmpty(conditionMap)) { conditionMap = new HashMap<>(); } String dataType=StringUtils.isNotBlank(conditionMap.get("dataType"))?conditionMap.get("dataType"):"";//æ°æ®ç±»å String parentId=StringUtils.isNotBlank(conditionMap.get("parentId"))?conditionMap.get("parentId"):"";//ç¶èç¹ String orgType=StringUtils.isNotBlank(conditionMap.get("orgType"))?conditionMap.get("orgType"):"";//æ¥å£æ¥è¯¢å å«çç±»å try { initChildTree(dataType,orgType,parentId,rootTreeList); } catch (PLException e) { throw new VciBaseException("ç¨æ·æééæ©æ å 载失败:"+e.getMessage()); } return rootTreeList; } /*** * * @param dataType * @param orgType * @param parentId */ private void initChildTree(String dataType,String orgType, String parentId, List<Tree>rootTreeList) throws PLException { if(StringUtils.isBlank(parentId)){ Tree rootTree=new Tree("root","人åç»ç»","root"); rootTree.setParentBtmName("root"); rootTree.setExpanded(true); List<Tree> childList=new ArrayList<>(); if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//妿æ¯äººå Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"ç¨æ·",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree); childList.add(userTree); }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//妿æ¯é¨é¨ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"é¨é¨",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree); childList.add(departmentTree); }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//妿æ¯è§è² Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"è§è²",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree); childList.add(roleTree); }else{ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"ç¨æ·",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree); childList.add(userTree); Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"é¨é¨",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree); childList.add(departmentTree); Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"è§è²",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree); childList.add(roleTree); } if(childList.size()>0){ rootTree.setExpanded(true); rootTree.setChildren(childList); } rootTreeList.add(rootTree); }else{ if(OrgTypeEnum.ORG_TYPE_ROOT.getValue().equals(dataType)){//妿ç¶èç¹æå¼ï¼åéè¦å¤ææ¯å è½½ä»ä¹èç¹ Tree rootTree=new Tree("root","人åç»ç»","root"); rootTree.setParentBtmName("root"); rootTree.setExpanded(true); if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(orgType)){//妿æ¯äººå Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"ç¨æ·",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree); rootTreeList.add(userTree); }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(orgType)){//妿æ¯é¨é¨ Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"é¨é¨",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree); rootTreeList.add(departmentTree); }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(orgType)){//妿æ¯è§è² Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"è§è²",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree); rootTreeList.add(roleTree); }else{ Tree userTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(),"ç¨æ·",OrgTypeEnum.ORG_TYPE_USER.getValue(),OrgTypeEnum.ORG_TYPE_USER.getValue(),rootTree); rootTreeList.add(userTree); Tree departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"é¨é¨",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),rootTree); rootTreeList.add(departmentTree); Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"è§è²",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),rootTree); rootTreeList.add(roleTree); } }else if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(dataType)) {//å¦æä¼ è¿æ¥çæ¯userèç¹ if(OrgTypeEnum.ORG_TYPE_USER.getValue().equals(parentId)) { Tree userTree = initDataTreeNode(OrgTypeEnum.ORG_TYPE_USER.getValue(), "ç¨æ·", OrgTypeEnum.ORG_TYPE_USER.getValue(), OrgTypeEnum.ORG_TYPE_USER.getValue(), null); UserInfo[] infos = platformClientUtil.getFrameworkService().fetchUserInfo(); Arrays.stream(infos).forEach(info -> { Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), userTree); rootTreeList.add(childTree); }); } }else if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(dataType)) {//妿æ¯é¨é¨ DeptInfo[] deptInfos=new DeptInfo[]{}; Tree departmentTree=new Tree(); if(OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) { departmentTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_DEPT.getValue(),"é¨é¨",OrgTypeEnum.ORG_TYPE_DEPT.getValue(),OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null); deptInfos = platformClientUtil.getFrameworkService().fetchDepartmentInfo(); }else{ deptInfos=platformClientUtil.getFrameworkService().fetchDepartmentInfoByParentId(parentId); DeptInfo deptInfo=platformClientUtil.getFrameworkService().fetchDepartmentInfoById(parentId); departmentTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(),null); } if(!CollectionUtils.isEmpty(Arrays.asList(deptInfos))){ Tree finalDepartmentTree = departmentTree; Arrays.stream(deptInfos).forEach(deptInfo -> { Tree childTree=initDataTreeNode(deptInfo.id,deptInfo.name,deptInfo,OrgTypeEnum.ORG_TYPE_DEPT.getValue(), finalDepartmentTree); rootTreeList.add(childTree); }); } if(!OrgTypeEnum.ORG_TYPE_DEPT.getValue().equals(parentId)) { UserInfo[] infos = platformClientUtil.getFrameworkService().getUserByDeptId(parentId); if (infos != null && infos.length > 0) { Tree finalDepartmentTree = departmentTree; Arrays.stream(infos).forEach(info -> { Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), finalDepartmentTree); rootTreeList.add(childTree); }); } } }else if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(dataType)) {//妿æ¯è§è² if(OrgTypeEnum.ORG_TYPE_ROLE.getValue().equals(parentId)){ Tree roleTree=initDataTreeNode(OrgTypeEnum.ORG_TYPE_ROLE.getValue(),"è§è²",OrgTypeEnum.ORG_TYPE_ROLE.getValue(),OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null); RoleInfo[] roleInfos=platformClientUtil.getFrameworkService().fetchRoleInfo(); if(roleInfos!=null&&roleInfos.length>0) { Arrays.stream(roleInfos).forEach(info -> { Tree childTree = initDataTreeNode(info.id, info.name, info, OrgTypeEnum.ORG_TYPE_ROLE.getValue(), roleTree); rootTreeList.add(childTree); }); } }else{ RoleInfo roleInfo=platformClientUtil.getFrameworkService().fetchRoleInfoById(parentId); Tree roleTree=initDataTreeNode(roleInfo.id,roleInfo.name,roleInfo,OrgTypeEnum.ORG_TYPE_ROLE.getValue(),null); UserInfo[] infos=platformClientUtil.getFrameworkService().fetchUserInfoByRoleId(roleInfo.id,roleInfo.type); if(infos!=null&&infos.length>0) { Arrays.stream(infos).forEach(info -> { Tree childTree = initDataTreeNode(info.id, info.trueName + "(" + info.userName + ")", info, OrgTypeEnum.ORG_TYPE_USER.getValue(), roleTree); rootTreeList.add(childTree); }); } } } } } /*** * * @param oid * @param text * @param o * @param type * @param parentTree * @return */ private Tree initDataTreeNode(String oid,String text,Object o,String type,Tree parentTree){ Tree ObjectTreeNode=new Tree(oid,text,o); ObjectTreeNode.setParentBtmName(type); if(parentTree!=null) { ObjectTreeNode.setParentId(parentTree.getParentId()); ObjectTreeNode.setParentName(parentTree.getParentName()); } return ObjectTreeNode; } /** * æ ¡éªå¯ç æ¯å¦ç¸åï¼å¨æ°å¹³å°ä¸åå¨çå¯ç æ¯ä¸¤æ¬¡md5 * @param userOid ç¨æ·ä¸»é® * @param md5Password å·²ç»md5å å¯ä¸æ¬¡çå¯ç --èçå¹³å°éä¸è½å å¯ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
@@ -348,4 +348,19 @@ } } /** * ç¨æ·æééæ©æ * @param treeQueryObject æ å½¢æ°æ®çæ¥è¯¢å¯¹è±¡ï¼å æ¬æ¥è¯¢æ¡ä»¶ï¼ä¸çº§ä¸»é®ï¼æ¯å¦å¤éçï¼å³å 许使ç¨SmUserVOéçææå±æ§ä½ä¸ºæ¥è¯¢æ¡ä»¶ï¼ä¹å¯ä»¥ä½¿ç¨pkRole.xxxï¼pkDepartment.xxx,pkDuty.xxxè¿æ ·æ¥æ¥è¯¢ * @return æ®éç¨æ·ï¼ä¸å å«ä¸åï¼ä¹ä¸å å«åç¨çï¼çæ å½¢æ°æ®ï¼å·²ç»è½¬æ¢è¿ä¸ä¸çº§å ³ç³»ï¼è¯·è·åå ¶ä¸çtreeData屿§ * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ï¼å¦ææ¯èç项ç®é䏿åºå¼å¸¸ */ @RequestMapping(value = "/refPersonOrgTree",method = RequestMethod.GET) public BaseResult<Tree> refPersonOrgTree(TreeQueryObject treeQueryObject) throws VciBaseException{ List<Tree> userTreeList = userQueryService.refPersonOrgTree(treeQueryObject); return BaseResult.tree(userTreeList); //èç项ç®ä¾ç¶æ¯æ·»å try catchï¼æ¹æ³é䏿åºå¼å¸¸ //BaseResult.fail("è¿éè¿åå端çé误信æ¯"); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/enumpck/OrgTypeEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,112 @@ package com.vci.frameworkcore.enumpck; import com.vci.starter.web.enumpck.BaseEnum; /** * @author xj * @date 2024-09-12 * 人åéæ©ç»ç»ç±»å */ public enum OrgTypeEnum implements BaseEnum { /** * æ ¹æ¥ç¹ */ ORG_TYPE_ROOT("root","人åç»ç»"), /** * æ¥è¯¢ææç±»åï¼äººåï¼é¨é¨ï¼è§è² */ ORG_TYPE_ALL("all","ææ"), /** * é¨é¨ */ ORG_TYPE_DEPT("department","é¨é¨"), /** * è§è² */ ORG_TYPE_ROLE("role","è§è²"), ORG_TYPE_USER("user","人å"); /** * æä¸¾çå¼ */ private String value; /** * æä¸¾æ¾ç¤ºææ¬ */ private String text; /** * è·åæä¸¾å¼ * @return æä¸¾å¼ */ @Override public String getValue() { return value; } /** * 设置æä¸¾å¼ * @param value æä¸¾å¼ */ public void setValue(String value) { this.value = value; } /** * è·åæä¸¾æ¾ç¤ºææ¬ * @return æ¾ç¤ºææ¬ */ @Override public String getText() { return text; } /** * 设置æ¾ç¤ºææ¬ * @param text æ¾ç¤ºææ¬ */ public void setText(String text) { this.text = text; } /** * æé 彿° * @param value å¼ * @param text æ¾ç¤ºææ¬ */ private OrgTypeEnum(String value, String text){ this.value = value; this.text = text; } /** * æ ¹æ®åç§°è·å对åºçæä¸¾å¼ * @param text åç§° * @return æä¸¾å¼ */ public static String getValueByText(String text){ for(OrgTypeEnum wenum : OrgTypeEnum.values()){ if(wenum.getText().equalsIgnoreCase(text)){ return wenum.getValue(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * @param value æä¸¾å¼ * @return åç§° */ public static String getTextByValue(String value){ for(OrgTypeEnum wenum : OrgTypeEnum.values()){ if(wenum.getValue().equalsIgnoreCase(value)){ return wenum.getText(); } } return ""; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java
@@ -506,7 +506,7 @@ */ @PostMapping( "/authorizedUI") @VciBusinessLog(operateName = "UIææ") public BaseResult authorizedUI(UIAuthorDTO uiAuthorDTO){ public BaseResult authorizedUI(@RequestBody UIAuthorDTO uiAuthorDTO){ try { return uiManagerService.authorizedUI(uiAuthorDTO)?BaseResult.success("æææå!"):BaseResult.fail("ææå¤±è´¥ï¼"); }catch (Throwable e) { Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/data.s.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,94 @@ { "code": 200, "data": null, "exceptionClassName": null, "exceptionCode": null, "exceptionObjs": null, "finishTime": 1726130668800, "msg": "", "msgObjs": null, "obj": null, "requestTraceId": null, "success": true, "total": 0, "traceId": "71bfe687-1112-47c3-9fe5-45ae9f7b7228", "treeData": [ { "attributes": {}, "checked": false, "children": [ { "attributes": {}, "checked": false, "children": [], "data": "user", "expanded": false, "href": null, "icon": null, "iconCls": null, "index": null, "leaf": false, "level": 0, "oid": "user", "parentBtmName": "user", "parentId": null, "parentName": null, "showCheckbox": false, "text": "ç¨æ·" }, { "attributes": {}, "checked": false, "children": [], "data": "department", "expanded": false, "href": null, "icon": null, "iconCls": null, "index": null, "leaf": false, "level": 0, "oid": "department", "parentBtmName": "department", "parentId": null, "parentName": null, "showCheckbox": false, "text": "é¨é¨" }, { "attributes": {}, "checked": false, "children": [], "data": "role", "expanded": false, "href": null, "icon": null, "iconCls": null, "index": null, "leaf": false, "level": 0, "oid": "role", "parentBtmName": "role", "parentId": null, "parentName": null, "showCheckbox": false, "text": "è§è²" } ], "data": "root", "expanded": true, "href": null, "icon": null, "iconCls": null, "index": null, "leaf": false, "level": 0, "oid": "root", "parentBtmName": "root", "parentId": null, "parentName": null, "showCheckbox": false, "text": "人åç»ç»" } ] } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ItemTypeEnum.java
@@ -183,7 +183,7 @@ if (isText) { value = itemTypeEnum.getText(); } else { value = itemTypeEnum.getText(); value = itemTypeEnum.getValue(); } } return value; Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java
@@ -1,8 +1,10 @@ package com.vci.web.service.impl; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSON; import com.vci.common.utility.ObjectUtility; import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.framework.data.RoleRightInfo; import com.vci.corba.omd.btm.BizType; import com.vci.corba.portal.PortalService; @@ -39,6 +41,7 @@ import javax.annotation.Resource; import java.io.File; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.regex.Pattern; @@ -57,6 +60,11 @@ @Resource private PlatformClientUtil platformClientUtil; /** * è§è² */ @Resource private SmRoleQueryServiceI smRoleQueryServiceI; /*** * æ¯å¦æ¯ç®¡çå */ @@ -136,7 +144,7 @@ public List<PLUILayout> getUIContextDataByBtName(String btemName,String context) throws PLException { VciBaseUtil.alertNotNull(btemName,"ä¸å¡ç±»å"); List<PLUILayout> pluiLayoutList=new ArrayList<>(); List<String> contextList= VciBaseUtil.str2List(context); List<String> contextList= new ArrayList<>(); if(StringUtils.isNotBlank(context)){ contextList=VciBaseUtil.str2List(context); }else{ @@ -1354,7 +1362,7 @@ String userName= WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); List<RoleRightVO> roleRightVOList=roleRightDOO2VOS(Arrays.asList(rightInfos)); roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO)); roleRightVOMap=roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue)); } BizType[] bizTypes=osBtmServiceI.getBizTypes(type); List<Tree> treeList=new ArrayList<>(); @@ -1372,12 +1380,10 @@ bizTypeTree.setShowCheckbox(true); bizTypeTree.setParentBtmName(bizTypes[i].name); childList.add(bizTypeTree); if(roleRightVOMap.containsKey(bizTypes[i].oid)){ List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); List<Tree> btmChildList=new ArrayList<>(); btmChildList.add(bizTypeTree); setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); } } rootNode.setChildren(childList); treeList.add(rootNode); @@ -1405,35 +1411,49 @@ treeQueryObject.setConditionMap(conditionMap); List<Tree> treeList=this.getUIAuthor(treeQueryObject); HashMap<String,Tree> allTreeMap=new HashMap<>(); Map<String,RoleRightVO> roleRightVOMap=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 ->roleRightVO)); 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(); getSelectedRoleRightObjs(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightDTOList); 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(); info.modules="UIææ"; info.userName=currentUserName; try { res= platformClientUtil.getFrameworkService().saveRoleRight(roleRightInfoList.toArray(new RoleRightInfo[]{}),uiAuthorDTO.getRoleId(),currentUserName,info); }catch (PLException e){ throw new Exception("ä¿å失败ï¼"+e.getMessage()); } } return res; } /** * *æ ¹æ®æé计ç®ä¸ä¸æé * @param roleOid * @param selectTreeList * @param allTreeMap * @param roleRightDTOList */ private void getSelectedRoleRightObjs(String roleOid,List<Tree> selectTreeList,HashMap<String,Tree> allTreeMap, List<RoleRightDTO> 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<>(); if(!CollectionUtil.isEmpty(selectTreeList)){ selectTreeList.stream().forEach(tree -> { RoleRightDTO roleRightDTO=new RoleRightDTO(); String id=ObjectUtility.getNewObjectID36(); String oid=tree.getOid(); if(allTreeMap.containsKey(oid)){ tree= allTreeMap.get(oid); Object data= tree.getData(); if(data instanceof String){ getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//åä¸è·åæææ¨¡åçæéå¼ @@ -1441,12 +1461,46 @@ getRightValue(roleOid,tree,allTreeMap,true,roleRightDTOMap);//åä¸å¤ç getRightValue(roleOid,tree,allTreeMap,false,roleRightDTOMap);//åä¸å¤çï¼å å«å½åèç¹ï¼ }else if (data instanceof PLTabButton) {//æé® String parrentId=tree.getParentId(); if(allTreeMap.containsKey(parrentId)){ SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); String currentUserName = sessionInfo.getUserId(); boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); Tree parentNode= allTreeMap.get(parrentId); String funcId = parentNode.getOid(); 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 }else{ roleRightDTO.setRightType((short) 2); } roleRightDTO.setRightValue(1);// æéå¼ï¼æ²¡ææä½ç模åæéå¼åå¨ä¸º0 roleRightDTO.setRoleId(roleOid);//è§è²ID roleRightDTO.setCreateUser(currentUserName);//å建è roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//å建æ¶é´ roleRightDTO.setModifyUser(currentUserName);//ä¿®æ¹è roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//ä¿®æ¹æ¶é´ roleRightDTO.setLicensor(""); if(!roleRightDTOMap.containsKey(funcId)){ roleRightDTOMap.put(funcId, roleRightDTO); } roleRightDTOMap.put(funcId, roleRightDTO); } } } } }); /* 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()); roleRightDTOList.addAll(newRoleRightDTOList); } } /** @@ -1457,28 +1511,28 @@ SessionInfo sessionInfo = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); String currentUserName = sessionInfo.getUserId(); boolean isDeveloper= rightControlUtil.isDeveloper(currentUserName); String parentOid=node.getParentId(); if(allTreeMap.containsKey(parentOid)){ String id=ObjectUtility.getNewObjectID36(); Tree parentNode =allTreeMap.get(parentOid); Object parentData= parentNode.getData(); Object data=node.getData(); if(isUp) {//åä¸è·åï¼å卿¯ä¸ªä¸çº§æ¨¡åçæéå¼ while (!"root".equals(parentNode.getData())){ while (!"root".equals(node.getData())){ data=node.getData(); String oid=node.getOid(); if(allTreeMap.containsKey(oid)){ String funcId = ""; if (parentData instanceof BizType) { BizType bizType = (BizType) parentData; if (data instanceof BizType) { BizType bizType = (BizType) data; funcId = bizType.name; } else if (parentData instanceof PLUILayout) { PLUILayout context = (PLUILayout)parentData; } else if (data instanceof PLUILayout) { PLUILayout context = (PLUILayout)data; funcId = context.plOId; } else if (parentData instanceof PLTabPage) { PLTabPage tab = (PLTabPage) parentData; } else if (data instanceof PLTabPage) { PLTabPage tab = (PLTabPage) data; funcId = tab.plOId; } else if (parentData instanceof PLPageDefination){ PLPageDefination pageDef = (PLPageDefination) parentData; } else if (data instanceof PLPageDefination){ PLPageDefination pageDef = (PLPageDefination) data; funcId = pageDef.plOId; } else if (parentData instanceof PLTabButton) { PLTabButton but = (PLTabButton)parentData; } else if (data instanceof PLTabButton) { PLTabButton but = (PLTabButton)data; funcId = but.plOId; } RoleRightDTO roleRightDTO = new RoleRightDTO(); @@ -1492,35 +1546,40 @@ roleRightDTO.setRightValue(1);// æéå¼ï¼æ²¡ææä½ç模åæéå¼åå¨ä¸º0 roleRightDTO.setRoleId(roleId);//è§è²ID roleRightDTO.setCreateUser(currentUserName);//å建è roleRightDTO.setCreateTime(new Date());//å建æ¶é´ roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),""));//å建æ¶é´ roleRightDTO.setModifyUser(currentUserName);//ä¿®æ¹è roleRightDTO.setModifyTime(new Date());//ä¿®æ¹æ¶é´ roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),""));//ä¿®æ¹æ¶é´ roleRightDTO.setLicensor(""); if(!rightMap.containsKey(funcId)){ rightMap.put(funcId, roleRightDTO); } oid= node.getParentId(); if(allTreeMap.containsKey(oid)) { node=allTreeMap.get(oid); } } } }else{ String funcId = ""; if(parentData instanceof String){ funcId = (String)parentData; } else if (parentData instanceof BizType) { BizType bizType = (BizType)parentData; if (data instanceof String) { funcId = (String) data; } else if (data instanceof BizType) { BizType bizType = (BizType) data; funcId = bizType.name; } else if (parentData instanceof PLUILayout) { PLUILayout context = (PLUILayout)parentData; } else if (data instanceof PLUILayout) { PLUILayout context = (PLUILayout) data; funcId = context.plOId; } else if (parentData instanceof PLTabPage) { PLTabPage tab = (PLTabPage) parentData; } else if (data instanceof PLTabPage) { PLTabPage tab = (PLTabPage) data; funcId = tab.plOId; } else if (parentData instanceof PLPageDefination){ PLPageDefination pageDef = (PLPageDefination) parentData; } else if (data instanceof PLPageDefination) { PLPageDefination pageDef = (PLPageDefination) data; funcId = pageDef.plOId; } else if (parentData instanceof PLTabButton) { PLTabButton but = (PLTabButton)parentData; } else if (data instanceof PLTabButton) { PLTabButton but = (PLTabButton) data; funcId = but.plOId; } if(!(parentData instanceof PLPageDefination)) {//åèç¹ä¸æ¯æä½ if (!(data instanceof PLPageDefination)) {//åèç¹ä¸æ¯æä½ if(!rightMap.containsKey(funcId)&&!funcId.equals("root")){ RoleRightDTO roleRightDTO = new RoleRightDTO(); roleRightDTO.setFuncId(funcId); @@ -1532,34 +1591,32 @@ roleRightDTO.setRightValue(0);//没ææä½ç模åæéå¼åå¨ä¸º0 roleRightDTO.setRoleId(roleId); roleRightDTO.setCreateUser(currentUserName); roleRightDTO.setCreateTime(new Date()); roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),"")); roleRightDTO.setModifyUser(currentUserName); roleRightDTO.setModifyTime(new Date()); roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),"")); roleRightDTO.setLicensor(""); rightMap.put(funcId, roleRightDTO); } for(int i = 0;i < parentNode.getChildren().size();i++){ for (int i = 0; i < node.getChildren().size(); i++) { //对æ¯ä¸ªååä¸éå½éå getRightValue(roleId,parentNode.getChildren().get(i),allTreeMap,false,rightMap); getRightValue(roleId, node.getChildren().get(i), allTreeMap, false, rightMap); } }else { if(!rightMap.containsKey(funcId)){ RoleRightDTO roleRightDTO = new RoleRightDTO(); roleRightDTO.setFuncId(funcId); roleRightDTO.setRightType((short)2); // 设置UIæé roleRightDTO.setRightValue(countRightValue(parentNode,true));//没ææä½ç模åæéå¼åå¨ä¸º0 roleRightDTO.setRightValue(countRightValue(node, true));//没ææä½ç模åæéå¼åå¨ä¸º0 roleRightDTO.setRoleId(roleId); roleRightDTO.setCreateUser(currentUserName); roleRightDTO.setCreateTime(new Date()); roleRightDTO.setCreateTime(VciDateUtil.date2Str(new Date(),"")); roleRightDTO.setModifyUser(currentUserName); roleRightDTO.setModifyTime(new Date()); roleRightDTO.setModifyTime(VciDateUtil.date2Str(new Date(),"")); roleRightDTO.setLicensor(""); rightMap.put(funcId, roleRightDTO); } } } } } @@ -1596,6 +1653,13 @@ }); } /*** * éååèç¹ * @param parentTree * @param contextList * @param roleRightVOMap * @param isShowCheckBox */ private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap,boolean isShowCheckBox){ Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<Tree>()).stream().forEach(pTree -> { Object funcObj= pTree.getData(); @@ -1713,6 +1777,24 @@ }); } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param vos * @return */ private List<RoleRightDTO> roleRightVOO2DTOS(List<RoleRightVO> vos){ List<RoleRightDTO> roleRightVOS=new ArrayList<>(); Optional.ofNullable(vos).orElseGet(()->new ArrayList<>()).stream().forEach(vo -> { RoleRightDTO dto=roleRightVOO2DTO(vo); roleRightVOS.add(dto); }); return roleRightVOS; } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param infos @@ -1727,7 +1809,25 @@ return roleRightVOS; } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param dtos * @return */ private List<RoleRightInfo> roleRightDTOO2InfoS(List<RoleRightDTO> dtos){ List<RoleRightInfo> roleRightInfoList=new ArrayList<>(); Optional.ofNullable(dtos).orElseGet(()->new ArrayList<>()).stream().forEach(dto -> { RoleRightInfo info= null; try { info = roleRightDTOO2Info(dto); } catch (Exception e) { e.printStackTrace(); } roleRightInfoList.add(info); }); return roleRightInfoList; } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param info @@ -1746,6 +1846,45 @@ vo.setModifyTime(VciDateUtil.date2Str(VciDateUtil.long2Date(info.modifyTime),"")); vo.setModifyUser(info.modifyUser); return vo; } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param vo * @return */ private RoleRightDTO roleRightVOO2DTO(RoleRightVO vo){ RoleRightDTO dto=new RoleRightDTO(); dto.setId(vo.getId()); dto.setCreateTime(vo.getCreateTime()); dto.setCreateUser(vo.getCreateUser()); dto.setRoleId(vo.getRoleId()); dto.setRightType(vo.getRightType()); dto.setLicensor(vo.getLicensor()); dto.setRightValue(vo.getRightValue()); dto.setFuncId(vo.getFuncId()); dto.setModifyTime(vo.getModifyTime()); dto.setModifyUser(vo.getModifyUser()); return dto; } /** * UIè§è²å¯¹è±¡è½¬æ¢ * @param dto * @return */ private RoleRightInfo roleRightDTOO2Info(RoleRightDTO dto) throws Exception { RoleRightInfo info=new RoleRightInfo(); info.id=StringUtils.isBlank(dto.getId())?"":dto.getId(); info.createTime=StringUtils.isBlank(dto.getCreateTime())?new Date().getTime():VciDateUtil.getTime(VciDateUtil.str2Date(dto.getCreateTime(),"")); info.createUser=StringUtils.isBlank(dto.getCreateUser())?"":dto.getCreateUser(); info.roleId=StringUtils.isBlank(dto.getRoleId())?"":dto.getRoleId(); info.rightType=dto.getRightType(); info.licensor =StringUtils.isBlank(dto.getLicensor())?"":dto.getLicensor(); info.rightValue=dto.getRightValue(); info.funcId=StringUtils.isBlank(dto.getFuncId())?"":dto.getFuncId(); info.modifyTime=StringUtils.isBlank(dto.getModifyTime())? new Date().getTime() :VciDateUtil.getTime(VciDateUtil.str2Date(dto.getModifyTime(),"")); info.modifyUser=StringUtils.isBlank(dto.getModifyUser())?"":dto.getModifyUser(); return info; } /** @@ -2449,7 +2588,7 @@ } } else { // 龿¥ç±»å为空æ¶ï¼åªéè¦æ£æ¥ä¸å¡ç±»åä¸çæ¥è¯¢æ¨¡æ¿æ¯å¦ææ if(!(super.checkQTNameTxtIsOk("æ¥è¯¢æ¨¡æ¿", queryTemplateName, btmType,true))){ if(!(super.checkQTNameTxtIsOk("æ¥è¯¢æ¨¡æ¿", queryTemplateName, btmType))){ res = false; return res; }