diff --git a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java index d3114617..f15e12c1 100644 --- a/signin/src/main/java/com/ccsens/signin/service/ProjectService.java +++ b/signin/src/main/java/com/ccsens/signin/service/ProjectService.java @@ -51,31 +51,29 @@ public class ProjectService implements IProjectService{ List projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId); //查询子项目 if (CollectionUtil.isNotEmpty(projectList)) { - List projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList()); - List sonProjectList = projectDao.querySonProject(projectIdList); - if (CollectionUtil.isNotEmpty(sonProjectList)) { - for (ProjectVo.QueryProject queryProject : projectList) { - List sonList = new ArrayList<>(); - for (ProjectVo.QueryProject sonProject : sonProjectList) { - if (queryProject.getId().equals(sonProject.getParentId())){ - sonList.add(sonProject); - } + querySunProject(projectList); + } + return projectList; + } + + private void querySunProject(List projectList) { + List projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList()); + //查询子级 + List sonProjectList = projectDao.querySonProject(projectIdList); + if (CollectionUtil.isNotEmpty(sonProjectList)) { + //若存在下一级,递归查询 + querySunProject(sonProjectList); + //将子级分配给父级 + for (ProjectVo.QueryProject queryProject : projectList) { + List sonList = new ArrayList<>(); + for (ProjectVo.QueryProject sonProject : sonProjectList) { + if (queryProject.getId().equals(sonProject.getParentId())){ + sonList.add(sonProject); } - queryProject.setSonProjectList(sonList); } + queryProject.setSonProjectList(sonList); } } - - -// if (CollectionUtil.isNotEmpty(projectList)){ -// for (ProjectVo.QueryProject project : projectList) { -// List sonProjectList = projectDao.querySonProject(project.getId()); -// if (CollectionUtil.isNotEmpty(sonProjectList)){ -// project.setSonProjectList(sonProjectList); -// } -// } -// } - return projectList; } @Override diff --git a/signin/src/main/resources/application.yml b/signin/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/signin/src/main/resources/application.yml +++ b/signin/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common diff --git a/signin/src/main/resources/mapper_dao/ProjectDap.xml b/signin/src/main/resources/mapper_dao/ProjectDap.xml index 65765744..ade99ede 100644 --- a/signin/src/main/resources/mapper_dao/ProjectDap.xml +++ b/signin/src/main/resources/mapper_dao/ProjectDap.xml @@ -19,7 +19,7 @@ p.project_end_time as endTime, p.project_status as `status`, if(t.url is null, p.url, t.url) as url, - t.template_code + t.template_code as templateCode FROM t_sys_project_list p LEFT JOIN t_sys_user_project u ON p.project_id = u.project_id @@ -64,7 +64,8 @@ p.project_end_time as endTime, p.project_status as `status`, if(t.url is null, p.url, t.url) as url, - p.parent_project_id AS parentId + p.parent_project_id AS parentId, + t.template_code as templateCode FROM t_sys_project_list p LEFT JOIN t_sys_template t on p.template_id = t.id and t.rec_status = 0