需求:根据所属系统表,查询到某个系统下所有部门信息,部门下面有子部门,子部门下面还有子部门。。。
然后将部门遍历出来,以树节点形式
我们知道用递归也能获得树形结构,但是用循环我觉得更加易懂,可读性会更高
话不多说,直接上代码:
NoteInfo类:
@Data
public class NoteInfo {
//节点ID
private Long id;
//节点标题
private String name;
//子节点信息
private List<NoteInfo> subNodes;
//角色信息
private List<Role> subRoles;
}
两个循环进行遍历就能得结果:
public NoteInfo getNoteTree(Long sysId) {
// 查询出该系统下对应的部门Id
List<Dept> deptList = deptDao.findBySysId(sysId);
// 定义Map对象
Map<Long, NoteInfo> noteMap = new HashMap<Long, NoteIn