Service层的实现
@Override
public List treeList(int id) {
List menuList = list();
List result = menuList.stream()
.filter(menu -> menu.getRefereeId().equals(id))
.map(menu -> covertMenuNode(menu, menuList)).collect(Collectors.toList());
return result;
}
@Override
public List treeList() {
List menuList = list();
List result = menuList.stream()
.filter(menu -> menu.getRefereeId().equals(0))
.map(menu -> covertMenuNode(menu, menuList)).collect(Collectors.toList());
return result;
}
@Override
public DlsUserTreePO covertMenuNode(DlsUserPO menu, List menuList) {
DlsUserTreePO node = new DlsUserTreePO();
BeanUtils.copyProperties(menu, node);
List children = menuList.stream()
.filter(subMenu -> subMenu.getRefereeId().equals(menu.getId()))
.map(subMenu -> covertMenuNode(subMenu, menuList)).collect(Collectors.toList());
node.setChildUser(children);
return node;
}
实体类
public class DlsUserTreePO extends DlsUserPO {
private List childUser;
}
Controller层
@RequestMapping("/treeQuery/{name}")
@ApiOperation(value = "树形查询推荐人",httpMethod = "POST")
public R> treeQuery(@PathVariable("name") String name){
int id=dlsUserMapper.selectByName(name);
DlsUserTreePO dlsUserTreePO=dlsUserService.itself(id);
List dlsUserTreePOS=dlsUserService.treeList(id);
dlsUserTreePO.setChildUser(dlsUserTreePOS);
return R.ok(dlsUserTreePO,"查询成功");
}
@RequestMapping("/treeQuery")
@ApiOperation(value = "生成树形",httpMethod = "POST")
public R> treeQuery(){
List dlsUserTreePOS=dlsUserService.treeList();
return R.ok(dlsUserTreePOS,"查询成功");
}
返回的结果:



