/**
* 递归获取数据
* @param dbpAreas 所有地区信息
* @param parentId 最上级地区标识
* @return 返回tree
*/
public static List<AreaVo> trees(List<AreaVo> dbpAreas, String parentId) {
List<AreaVo> parent = new LinkedList<>();
Optional.ofNullable(dbpAreas).orElse(new ArrayList<>())
.stream().filter(item -> item != null && item.getParentId().equals(parentId))
.forEach(item -> {
AreaVo area = new AreaVo();
BeanUtils.copyProperties(item, area);
List<AreaVo> result = trees(dbpAreas, item.getDeptCode());
area.setChildList(result);
parent.add(area);
});
return parent;
}