From 56de7a42d2567ce72885be8ebb1d1250d68ddd1b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 16 八月 2024 17:53:34 +0800 Subject: [PATCH] 业务类型接口联调调整,首页系统模块配置查询接口上传 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 244 +++++++++++++++++++++++++++++------------------- 1 files changed, 149 insertions(+), 95 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 ec3221a..1f6c4de 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,8 +2,13 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.vci.client.ClientSession; +import com.vci.common.exception.VciException; +import com.vci.common.locale.LocaleDisplay; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.FuncOperationInfo; import com.vci.corba.framework.data.FunctionInfo; +import com.vci.corba.framework.data.OperateInfo; import com.vci.corba.framework.data.RoleRightInfo; import com.vci.corba.omd.data.BusinessObject; import com.vci.corba.portal.data.PLUILayout; @@ -14,13 +19,13 @@ import com.vci.pagemodel.MenuVO; import com.vci.pagemodel.SmFunctionVO; import com.vci.omd.utils.ObjectTool; -import com.vci.pagemodel.SmFunctionVO; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.pagemodel.UIContentVO; +import com.vci.web.properties.JsonConfigReader; import com.vci.web.service.UIEngineServiceI; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.Func; @@ -279,107 +284,156 @@ } functionVOList.add(functionVO); } + //濡傛灉鏄紑鍙戞垨鑰呮祴璇曠敤鎴凤紝闇�鍝熻幏鍙栫郴缁熸ā鍧楅厤缃彍鍗� if(adminOrDeveloperOrRoot){ - functionVOList.addAll(this.getSystemMenu()); + //鑾峰彇棣栭〉绯荤粺妯″潡閰嶇疆鑿滃崟 + MenuVO menuVO = JsonConfigReader.getMenuVO(); + functionVOList.add(menuVO); } return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); } /** - * 鑾峰彇棣栭〉绯荤粺妯″潡閰嶇疆鑿滃崟 + * 閫氳繃妯″潡ID鑾峰彇瀛愮骇鍒楄〃 + * @param parentId + * @param isAll 鏄惁鍖呮嫭鏃犳晥鐨勬ā鍧楋紝true鍒欏寘鎷� + * @return + * @throws VciBaseException + */ + @Override + public List<MenuVO> getSysModelTreeMenuByPID(String parentId,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")){ + 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); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code), e.messages); + } + }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); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new VciBaseException("妯″潡鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e)); + } + }else{ + 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); + menuVO.setModeType("FunctionObject"); + menuVOList.add(menuVO); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + } + }else if(parentId.equals("operateType")){ + //鍔犺浇鎵�鏈夋搷浣� + try{ + OperateInfo[] operateInfos = platformClientUtil.getFrameworkService().getOperateTreeList(parentId); + for(int i = 0; i < operateInfos.length;i++ ){ + OperateInfo operateInfo = operateInfos[i]; + MenuVO menuVO = new MenuVO(); + menuVO.setId(operateInfo.id); + menuVO.setName(operateInfo.name); + menuVO.setCode(operateInfo.identify); + menuVO.setAlias(operateInfo.alias); + menuVO.setCategory(2); + menuVO.setRemark(operateInfo.desc); + menuVO.getMeta().put("keepAlive",false); + menuVO.setSort((int) operateInfo.seq); + menuVO.setModeType("operateObject"); + menuVO.setHasChildren(false); + menuVOList.add(menuVO); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),new String[]{VciBaseUtil.getExceptionMessage(e)}); + } + } + return menuVOList; + } + + /** + * functionInfo杞琕O瀵硅薄 + * @param funcInfo * @return */ - private List<MenuVO> getSystemMenu(){ - /*濡傛灉鏄祴璇曡处鍙锋垨鑰呭紑鍙戣处鍙凤紝澶勭悊杩斿洖systemManagmentNode鍜宮odelManagmentNode浠ュ锛� - 杩橀渶瑕佽繑鍥炴搷浣滅被鍨嬬鐞嗚彍鍗曡妭鐐癸紙operateNode锛夊拰绯荤粺閰嶇疆銆佺郴缁熻繍琛岀洃鎺ц妭鐐�*/ - List<MenuVO> functionVOList = new ArrayList<>(); - String menuJson = "{\n" + - " \"hasChildren\": true,\n" + - " \"children\": [\n" + - " {\n" + - " \"hasChildren\": true,\n" + - " \"children\": [],\n" + - " \"id\": \"systemManagmentNode\",\n" + - " \"name\": \"绠$悊鍔熻兘妯″潡\",\n" + - " \"parentId\": \"VCIBaseTreeNode\",\n" + - " \"code\": \"systemManagmentNode\",\n" + - " \"alias\": \"system\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 2,\n" + - " \"soruce\": \"\"\n" + - " },\n" + - " {\n" + - " \"hasChildren\": true,\n" + - " \"children\": [],\n" + - " \"id\": \"modelManagmentNode\",\n" + - " \"name\": \"涓氬姟鍔熻兘妯″潡\",\n" + - " \"parentId\": \"VCIBaseTreeNode\",\n" + - " \"code\": \"modelManagmentNode\",\n" + - " \"alias\": \"model\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 3,\n" + - " \"soruce\": \"\"\n" + - " },\n" + - " {\n" + - " \"hasChildren\": true,\n" + - " \"children\": [],\n" + - " \"id\": \"operateNode\",\n" + - " \"name\": \"鎿嶄綔绫诲瀷绠$悊\",\n" + - " \"parentId\": \"VCIBaseTreeNode\",\n" + - " \"code\": \"operateNode\",\n" + - " \"alias\": \"operate\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 4,\n" + - " \"soruce\": \"\"\n" + - " },\n" + - " {\n" + - " \"hasChildren\": false,\n" + - " \"children\": [],\n" + - " \"id\": \"sysOptionNode\",\n" + - " \"name\": \"绯荤粺閰嶇疆\",\n" + - " \"parentId\": \"VCIBaseTreeNode\",\n" + - " \"code\": \"sysOptionNode\",\n" + - " \"alias\": \"sysOption\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 5,\n" + - " \"soruce\": \"\"\n" + - " },\n" + - " {\n" + - " \"hasChildren\": false,\n" + - " \"children\": [],\n" + - " \"id\": \"sysMonitorNode\",\n" + - " \"name\": \"绯荤粺杩愯鐩戞帶\",\n" + - " \"parentId\": \"VCIBaseTreeNode\",\n" + - " \"code\": \"sysMonitorNode\",\n" + - " \"alias\": \"sysMonitor\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 5,\n" + - " \"soruce\": \"\"\n" + - " }\n" + - " ],\n" + - " \"id\": \"VCIBaseTreeNode\",\n" + - " \"name\": \"绯荤粺妯″潡閰嶇疆\",\n" + - " \"parentId\": \"\",\n" + - " \"code\": \"rootNode\",\n" + - " \"alias\": \"root\",\n" + - " \"meta\": {\n" + - " \"keepAlive\": false\n" + - " },\n" + - " \"sort\": 1,\n" + - " \"soruce\": \"\"\n" + - "}"; - functionVOList.add(JSON.parseObject(menuJson, MenuVO.class)); - return functionVOList; + private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){ + MenuVO menuVO = new MenuVO(); + menuVO.setId(funcInfo.id); + menuVO.setSource(funcInfo.image); + //if(StringUtils.isBlank(menu.resourceB)){ + // continue; + //} + menuVO.setPath(funcInfo.resourceB); + menuVO.setParentId(funcInfo.parentId); + menuVO.setCode(funcInfo.aliasName); + menuVO.setAlias(funcInfo.aliasName); + menuVO.setName(funcInfo.name); + menuVO.getMeta().put("keepAlive",false); + menuVO.setSort((int) funcInfo.seq); + if(this.checkChildObject(menuVO.getId()) == 0){ + menuVO.setHasChildren(false); + }else{ + menuVO.setHasChildren(true); + } + return menuVO; + } + + /** + * 閫氳繃妯″潡ID妫�鏌ヨ妯″潡瀛愮骇瀵硅薄鏄ā鍧楄繕鏄搷浣� + * @param moduleId + * @return 0琛ㄧず娌℃湁妯″潡涔熸病鏈夋搷浣滐紝1琛ㄧず鏈夋ā鍧楋紝2琛ㄧず鏈夋搷浣� + * @throws VciException + */ + @Override + public int checkChildObject(String moduleId) throws VciBaseException { + long res = 0; + try{ + res = ClientSession.getFrameworkService().checkChildObject(moduleId); + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + return (int)res; } public List<MenuVO> findChildFunctionVO(String parentOid,Map<String, List<FunctionInfo>> map) throws PLException { @@ -723,6 +777,7 @@ } return dataGrid(queryMap,pageHelper); } + /** * 鎵归噺鏍规嵁瑙掕壊鐨勪富閿幏鍙栧叧鑱旂殑鏉冮檺 * @@ -755,7 +810,6 @@ } return gridFunctionByRoleOid(roleOidCollection.stream().collect(Collectors.joining(",")), queryMap,pageHelper,resourceControlTypeEnum,false); } - /** * 娓呴櫎缂撳瓨 -- Gitblit v1.9.3