Browse Source

20211121查询项目列表改为递归查询

yanyuan
zy_Java 4 years ago
parent
commit
0e440a5612
  1. 40
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  2. 4
      signin/src/main/resources/application.yml
  3. 5
      signin/src/main/resources/mapper_dao/ProjectDap.xml

40
signin/src/main/java/com/ccsens/signin/service/ProjectService.java

@ -51,31 +51,29 @@ public class ProjectService implements IProjectService{
List<ProjectVo.QueryProject> projectList = projectDao.queryProjectList(param.getStartTime(), param.getEndTime(), userId);
//查询子项目
if (CollectionUtil.isNotEmpty(projectList)) {
List<Long> projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList());
List<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(projectIdList);
if (CollectionUtil.isNotEmpty(sonProjectList)) {
for (ProjectVo.QueryProject queryProject : projectList) {
List<ProjectVo.QueryProject> 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<ProjectVo.QueryProject> projectList) {
List<Long> projectIdList = projectList.stream().map(ProjectVo.QueryProject::getId).collect(Collectors.toList());
//查询子级
List<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(projectIdList);
if (CollectionUtil.isNotEmpty(sonProjectList)) {
//若存在下一级,递归查询
querySunProject(sonProjectList);
//将子级分配给父级
for (ProjectVo.QueryProject queryProject : projectList) {
List<ProjectVo.QueryProject> 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<ProjectVo.QueryProject> sonProjectList = projectDao.querySonProject(project.getId());
// if (CollectionUtil.isNotEmpty(sonProjectList)){
// project.setSonProjectList(sonProjectList);
// }
// }
// }
return projectList;
}
@Override

4
signin/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring:
profiles:
active: prod
include: util-prod,common
active: dev
include: util-dev,common

5
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

Loading…
Cancel
Save