From de42c7075ba5a474ba74d8833e9830dfa1312464 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 28 八月 2024 15:20:17 +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