那些递归

先将根节点找出来
			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);
			}
		}
		
	}

  

posted @ 2021-12-25 09:20  仓鼠爱画方格子  阅读(16)  评论(0编辑  收藏  举报