树形结构数据

/**
* 查询所有
* @return
*/
@Override
public List<BladeRegionDto> listAll() {
// 一次将数据全查出来
List<BladeRegion> bladeRegionList = this.lambdaQuery().eq(BladeRegion::getIsDeleted, BaseConst.NUMBER_ZERO).list();
List<BladeRegionDto> bladeRegionDtos = bladeRegionList.stream().map(po -> {
BladeRegionDto dto = new BladeRegionDto();
BeanCopyUtil.copyProperties(dto, po);
return dto;
}).collect(Collectors.toList());
// 指定根节点生成树形结构
return buildChildren("0",bladeRegionDtos);
}

 

/**
* @Description 构造树形结构
* @Author: cp
* @Date 2024-06-17 16:03:09
* @param parentCode
* @param bladeRegionDtos
* @return java.util.List<com.midea.cloud.srm.model.base.region.dto.BladeRegionDto>
*/
private List<BladeRegionDto> buildChildren(String parentCode, List<BladeRegionDto> bladeRegionDtos) {
List<BladeRegionDto> dtoList = new ArrayList<>();
for (BladeRegionDto bladeRegionDto : bladeRegionDtos) {
if (Objects.equals(bladeRegionDto.getParentCode(),parentCode)){
// 递归,自己调自己
bladeRegionDto.setChildren(buildChildren(bladeRegionDto.getCode(),bladeRegionDtos));
dtoList.add(bladeRegionDto);
}
}
return dtoList;
}

posted @ 2024-06-18 10:12  余下的那一页  阅读(8)  评论(0)    收藏  举报