From 4e811ec71dba161e13592828a6035e9316b1548e Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 30 八月 2024 17:15:29 +0800
Subject: [PATCH] 链接类型查询模板
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 104 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 72 insertions(+), 32 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 1f6c4de..8422fbc 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
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.JSONReader;
import com.vci.client.ClientSession;
import com.vci.common.exception.VciException;
import com.vci.common.locale.LocaleDisplay;
@@ -33,6 +34,7 @@
import com.vci.web.util.RightControlUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
+import org.apache.el.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -176,7 +178,7 @@
private SmFunctionVO functionForPlatform1ToFunctionVO(SmFunctionForPlatform1 functionForPlatform1){
SmFunctionVO functionVO = new SmFunctionVO();
functionVO.setOid(functionForPlatform1.getPloid());
- functionVO.setId(String.valueOf(functionForPlatform1.getPlmoduleno()));
+ //functionVO.setId(String.valueOf(functionForPlatform1.getPlmoduleno()));
functionVO.setName(functionForPlatform1.getPlname());
functionVO.setLogName(functionForPlatform1.getPlaliasname());
if(StringUtils.isNotBlank(functionForPlatform1.getPlresourceb())){
@@ -287,8 +289,10 @@
//濡傛灉鏄紑鍙戞垨鑰呮祴璇曠敤鎴凤紝闇�鍝熻幏鍙栫郴缁熸ā鍧楅厤缃彍鍗�
if(adminOrDeveloperOrRoot){
//鑾峰彇棣栭〉绯荤粺妯″潡閰嶇疆鑿滃崟
- MenuVO menuVO = JsonConfigReader.getMenuVO();
- functionVOList.add(menuVO);
+ MenuVO menuVO = JsonConfigReader.getSysModuleConf().getSysModuleNode();
+ if(Func.isNotEmpty(menuVO)){
+ functionVOList.add(menuVO);
+ }
}
return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList());
}
@@ -296,38 +300,45 @@
/**
* 閫氳繃妯″潡ID鑾峰彇瀛愮骇鍒楄〃
* @param parentId
+ * @param modeType 妯″潡绫诲瀷
* @param isAll 鏄惁鍖呮嫭鏃犳晥鐨勬ā鍧楋紝true鍒欏寘鎷�
* @return
* @throws VciBaseException
*/
@Override
- public List<MenuVO> getSysModelTreeMenuByPID(String parentId,boolean isAll) throws VciBaseException{
+ public List<MenuVO> getSysModelTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException{
List<MenuVO> menuVOList = new ArrayList<>();
if(Func.isBlank(parentId)){
return menuVOList;
}
- if(parentId.equals("mangeModel") || parentId.equals("businessModel")){
- if(parentId.equalsIgnoreCase("FunctionObject")){
+ boolean isFunctionObject = Func.isNotBlank(modeType) && modeType.equalsIgnoreCase("FunctionObject");
+ if(parentId.equals("systemManagmentNode") || parentId.equals("modelManagmentNode") || isFunctionObject){
+ int childType = this.checkChildObject(parentId);
+ if(isFunctionObject){
try {
/**鍒ゆ柇璇ユā鍧椾笅瀛愬璞℃槸妯″潡杩樻槸鎿嶄綔锛�0琛ㄧず鏃犲瓙鑺傜偣锛�1琛ㄧず鏄ā鍧楋紝2琛ㄧず鏄搷浣�**/
- int childType = this.checkChildObject(parentId);
if(childType == 2){
try{
FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(parentId, "", false);
- for(int i = 0;i < infos.length ;i++){
- FuncOperationInfo info = infos[i];
- MenuVO menuVO = new MenuVO();
- menuVO.setId(info.id);
- menuVO.setCode(info.funcId);
- menuVO.setId(info.operId);
- menuVO.setName(info.operName);
- //menuVO.setOperIndentify(info.operIndentify);
- menuVO.setAlias(info.operAlias);
- menuVO.setRemark(info.operDesc);
- menuVO.setSort((int) info.number);
- //menuVO.setIsValid(info.isValid);
- menuVO.setHasChildren(false);
- menuVOList.add(menuVO);
+ if(Func.isNotEmpty(infos.length)){
+ childType = this.checkChildObject(infos[0].id); //閮芥槸鍚屼竴灞傛墍浠ュ彇绗竴涓嵆鍙煡璇㈡槸浠�涔堢被鍨�
+ for(int i = 0;i < infos.length ;i++){
+ FuncOperationInfo info = infos[i];
+ MenuVO menuVO = new MenuVO();
+ menuVO.setChildType(childType);
+ menuVO.setId(info.id);
+ menuVO.setFuncId(info.funcId);
+ menuVO.setCode(info.operIndentify);
+ menuVO.setOperId(info.operId);
+ menuVO.setName(info.operName);
+ menuVO.setAlias(info.operAlias);
+ menuVO.setRemark(info.operDesc);
+ menuVO.setSort((int) info.number);
+ menuVO.setModeType("FunctionObject");
+ menuVO.setIsValid(info.isValid);
+ menuVO.setHasChildren(false);
+ menuVOList.add(menuVO);
+ }
}
}catch (PLException e) {
e.printStackTrace();
@@ -336,10 +347,15 @@
}else if(childType == 1){
try{
FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(parentId, isAll);
- for(int i = 0;i < funcInfos.length; i++){
- FunctionInfo funcInfo = funcInfos[i];
- MenuVO menuVO = this.functionInfoToMenuVO(funcInfo);
- menuVOList.add(menuVO);
+ if(Func.isNotEmpty(funcInfos.length)){
+ childType = this.checkChildObject(funcInfos[0].id); //閮芥槸鍚屼竴灞傛墍浠ュ彇绗竴涓嵆鍙煡璇㈡槸浠�涔堢被鍨�
+ for(int i = 0;i < funcInfos.length; i++){
+ FunctionInfo funcInfo = funcInfos[i];
+ MenuVO menuVO = this.functionInfoToMenuVO(funcInfo);
+ menuVO.setChildType(childType);
+ menuVO.setModeType("FunctionObject");
+ menuVOList.add(menuVO);
+ }
}
}catch (PLException e) {
e.printStackTrace();
@@ -352,21 +368,43 @@
}
}else{
try{
+ MenuVO parentNode = null;
+ //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐�
+ if("systemManagmentNode".equals(parentId)){
+ parentNode = JsonConfigReader.getSysModuleConf().getSystemManagmentNode();
+ }else if("modelManagmentNode".equals(parentId)){
+ parentNode = JsonConfigReader.getSysModuleConf().getModelManagmentNode();
+ }
+ //濡傛灉鏌ヨ鐨勬槸绗竴灞傝妭鐐瑰氨闇�瑕佺洿鎺ヨ繑鍥瀞ystemManagmentNode鎴杕odelManagmentNode鑺傜偣
+ if(Func.isNotBlank(modeType) && modeType.equals("firstNode")){
+ menuVOList.add(parentNode);
+ return menuVOList;
+ }
+ //鏌ヨ鐨勪笁绾ц妭鐐�
FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(parentId, isAll);
for(int i = 0;i < funcInfos.length; i++){
FunctionInfo funcInfo = funcInfos[i];
MenuVO menuVO = this.functionInfoToMenuVO(funcInfo);
menuVO.setModeType("FunctionObject");
+ menuVO.setChildType(childType);
menuVOList.add(menuVO);
}
+ return menuVOList;
}catch (PLException e) {
e.printStackTrace();
throw new VciBaseException(String.valueOf(e.code),e.messages);
}
}
- }else if(parentId.equals("operateType")){
+ }else if(parentId.equals("operateNode")){
//鍔犺浇鎵�鏈夋搷浣�
try{
+ //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐�
+ MenuVO parentNode = JsonConfigReader.getSysModuleConf().getOperateNode();
+ //濡傛灉鏌ヨ鐨勬槸绗竴灞傝妭鐐瑰氨闇�瑕佺洿鎺ヨ繑鍥瀞ysOptionNode鑺傜偣
+ if(Func.isNotBlank(modeType) && modeType.equals("firstNode")){
+ menuVOList.add(parentNode);
+ return menuVOList;
+ }
OperateInfo[] operateInfos = platformClientUtil.getFrameworkService().getOperateTreeList(parentId);
for(int i = 0; i < operateInfos.length;i++ ){
OperateInfo operateInfo = operateInfos[i];
@@ -376,6 +414,7 @@
menuVO.setCode(operateInfo.identify);
menuVO.setAlias(operateInfo.alias);
menuVO.setCategory(2);
+ menuVO.setChildType(0);
menuVO.setRemark(operateInfo.desc);
menuVO.getMeta().put("keepAlive",false);
menuVO.setSort((int) operateInfo.seq);
@@ -388,7 +427,7 @@
throw new VciBaseException(String.valueOf(e.code),new String[]{VciBaseUtil.getExceptionMessage(e)});
}
}
- return menuVOList;
+ return menuVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList());
}
/**
@@ -399,10 +438,11 @@
private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){
MenuVO menuVO = new MenuVO();
menuVO.setId(funcInfo.id);
+ menuVO.setValid(funcInfo.isValid);
menuVO.setSource(funcInfo.image);
- //if(StringUtils.isBlank(menu.resourceB)){
- // continue;
- //}
+ menuVO.setPathC(funcInfo.resourceC);
+ menuVO.setResourceDotNet(funcInfo.resourceDotNet);
+ menuVO.setResourceMobile(funcInfo.resourceMobile);
menuVO.setPath(funcInfo.resourceB);
menuVO.setParentId(funcInfo.parentId);
menuVO.setCode(funcInfo.aliasName);
@@ -427,8 +467,8 @@
@Override
public int checkChildObject(String moduleId) throws VciBaseException {
long res = 0;
- try{
- res = ClientSession.getFrameworkService().checkChildObject(moduleId);
+ try{//20D63A69-C6BC-8519-8B2B-E5ACFEA62394
+ res = platformClientUtil.getFrameworkService().checkChildObject(moduleId);
}catch (PLException e) {
e.printStackTrace();
throw new VciBaseException(String.valueOf(e.code),e.messages);
--
Gitblit v1.9.3