那些递归
先将根节点找出来 for (int i = 0; i < moduleList.size(); i++) { ProjectModuleV2 v2 = moduleList.get(i); String parentId = v2.getParentId(); if ("0".equals(parentId)) { v2.setParentName(configpath + "/" + conProject + description); rootList.add(v2); } } // 查出所有的配置 List<ProjectConfig> allconfig = projectConfigService.getProjectOtherConfigWithInit(conProject, conModule, conModuleId); // 按照层级结构遍历 if (rootList != null && rootList.size() > 0) { generatorApplication(rootList, moduleList, allconfig); } /** * 递归,将父路径给到每一条模块 * @param rootList * @param moduleList * @param allconfig * @throws Exception */ private void generatorApplication(List<ProjectModuleV2> rootList, List<ProjectModuleV2> moduleList, List<ProjectConfig> allconfig) throws Exception { for (ProjectModuleV2 root : rootList) { String rootId = root.getId(); List<ProjectModuleV2> list = new ArrayList<ProjectModuleV2>(); for (ProjectModuleV2 v : moduleList) { if (StringUtils.isNotBlank(v.getParentId()) && v.getParentId().equals(rootId)) { v.setParentName(root.getParentName() + "/" + root.getAliaName()); list.add(v); } } // 有子节点继续遍历 if (!"0".equals(root.getHasChild())) { generatorApplication(list, moduleList, allconfig); } else { // 生成配置文件 generatorByModule(moduleList, allconfig); } } }
越努力越幸运~ 加油ヾ(◍°∇°◍)ノ゙