| | |
| | | try { |
| | | result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0)) |
| | | .map(people -> { |
| | | people.setChildList(fillChildren(people, allPeopleList)); |
| | | if(depth>1) |
| | | people.setChildList(fillChildren(people, allPeopleList, depth-1)); |
| | | return people; |
| | | }).collect(Collectors.toList()); |
| | | } catch (NullPointerException e) { |
| | |
| | | * @param allPeopleList |
| | | * @return |
| | | */ |
| | | private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList) { |
| | | private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList, Integer depth) { |
| | | |
| | | // TODO: 2023-05-05 控制递归的次数 |
| | | // if(depth==layer) |
| | | |
| | | // layer = layer + 1; |
| | | System.out.println(depth); |
| | | List<ZInfoUser> collect = allPeopleList.stream().filter( |
| | | one -> one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId() |
| | | ).map( |
| | | one -> { |
| | | one.setChildList(fillChildren(one, allPeopleList)); |
| | | if(depth==1) |
| | | return one; |
| | | else { |
| | | List<ZInfoUser> zinfo = fillChildren(one, allPeopleList, depth - 1); |
| | | one.setChildList(zinfo); |
| | | System.out.println(one); |
| | | return one; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | |
| | | //return one; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | System.out.println(collect); |
| | | return collect; |
| | | |
| | | } |