From 884eab4f434aecba12e6b5227457c645e9558571 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 21 十一月 2024 18:18:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 47 insertions(+), 13 deletions(-)
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..08ded69 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;
@@ -339,6 +340,8 @@
menuVO.setModeType("FunctionObject");
menuVO.setIsValid(info.isValid);
menuVO.setHasChildren(false);
+ menuVO.setCategory(1);
+ menuVO.setFunctionType(2);
menuVOList.add(menuVO);
}
}
@@ -356,6 +359,7 @@
MenuVO menuVO = this.functionInfoToMenuVO(funcInfo);
menuVO.setChildType(childType);
menuVO.setModeType("FunctionObject");
+ menuVO.setCategory(0);
menuVOList.add(menuVO);
}
}
@@ -388,7 +392,9 @@
FunctionInfo funcInfo = funcInfos[i];
MenuVO menuVO = this.functionInfoToMenuVO(funcInfo);
menuVO.setModeType("FunctionObject");
+ childType = this.checkChildObject(funcInfos[i].id);
menuVO.setChildType(childType);
+ menuVO.setCategory(0);
menuVOList.add(menuVO);
}
return menuVOList;
@@ -415,7 +421,8 @@
menuVO.setName(operateInfo.name);
menuVO.setCode(operateInfo.identify);
menuVO.setAlias(operateInfo.alias);
- menuVO.setCategory(2);
+ menuVO.setCategory(1);
+ menuVO.setFunctionType(2);
menuVO.setChildType(0);
menuVO.setRemark(operateInfo.desc);
menuVO.getMeta().put("keepAlive",false);
@@ -437,11 +444,13 @@
* @param funcInfo
* @return
*/
- private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){
+ private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo)
+ {
MenuVO menuVO = new MenuVO();
menuVO.setId(funcInfo.id);
- menuVO.setValid(funcInfo.isValid);
+ menuVO.setIsValid(funcInfo.isValid);
menuVO.setSource(funcInfo.image);
+ menuVO.setFunctionType(funcInfo.functionType);
menuVO.setPathC(funcInfo.resourceC);
menuVO.setResourceDotNet(funcInfo.resourceDotNet);
menuVO.setResourceMobile(funcInfo.resourceMobile);
@@ -469,7 +478,7 @@
@Override
public int checkChildObject(String moduleId) throws VciBaseException {
long res = 0;
- try{//20D63A69-C6BC-8519-8B2B-E5ACFEA62394
+ try{
res = platformClientUtil.getFrameworkService().checkChildObject(moduleId);
}catch (PLException e) {
e.printStackTrace();
@@ -491,6 +500,7 @@
MenuVO functionVO = new MenuVO();
functionVO.setId(menu.id);
functionVO.setSource(menu.image);
+ functionVO.setFunctionType(menu.functionType);
// if(StringUtils.isBlank(menu.resourceB) ){
// continue;
// }
@@ -531,6 +541,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 +560,7 @@
menuVO.setIsValid(info.isValid);
menuVO.setHasChildren(false);
functionVO.getChildren().add(menuVO);
+ functionVO.setHasChildren(true);
}
}else{
functionVO.setHasChildren(false);
@@ -580,15 +592,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 {
//鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
@@ -598,7 +608,7 @@
List<String> authList = new ArrayList<>();
for (FunctionInfo functionInfo : moduleListByParentId) {
if(authMap.containsKey(functionInfo.id)){
- authList.add(functionInfo.id);
+// authList.add(functionInfo.id);
getChildAuthNode(functionInfo, authMap, authList);
}
}
@@ -685,6 +695,33 @@
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){
long value = 0;
for (RoleRightParamDTO dto : dtos) {
@@ -707,7 +744,7 @@
FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(funcObj.id, false);
for(int i=0;i<funcInfos.length;i++){
if(authMap.containsKey(funcInfos[i].id)){
- authList.add(funcInfos[i].id);
+// authList.add(funcInfos[i].id);
getChildAuthNode(funcInfos[i], authMap, authList);
}
}
@@ -1075,9 +1112,6 @@
String parentId;
if (adminOrDeveloperOrRoot) {
//绯荤粺鑿滃崟
- parentId = SYSTEMMANAGMENTNODE;
- } else if (rightControlUtil.isThreeAdminCurUser()) {
- //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
parentId = SYSTEMMANAGMENTNODE;
} else {
//鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
--
Gitblit v1.9.3