tree接口不懂问题

来源:7-4 新增部门、部门层级树、更新部门接口自测

慕粉3884565

2019-02-23

http://img.mukewang.com/szimg/5c71fa7f0001cd6f19081006.jpg

// level:0, 0, all 0->0.1,0.2
// level:0.1
// level:0.2
public void transformDeptTree(List<DeptLevelDto> deptLevelList, String level, Multimap<String, DeptLevelDto> levelDeptMap) {
   for (int i = 0; i < deptLevelList.size(); i++) {
       // 遍历该层的每个元素
       DeptLevelDto deptLevelDto = deptLevelList.get(i);
       // 处理当前层级的数据
       String nextLevel = LevelUtil.calculateLevel(level, deptLevelDto.getId());
       // 处理下一层
       List<DeptLevelDto> tempDeptList = (List<DeptLevelDto>) levelDeptMap.get(nextLevel);
       if (CollectionUtils.isNotEmpty(tempDeptList)) {
           // 排序
           Collections.sort(tempDeptList, deptSeqComparator);
           // 设置下一层部门
           deptLevelDto.setDeptList(tempDeptList);
           // 进入到下一层处理
           transformDeptTree(tempDeptList, nextLevel, levelDeptMap);
       }
   }
}

这是递归算法

rootlist数据是需要递归日志我打出来了level是0能做什么递归?这是copy你的代码的,说到底现在就这点不懂

写回答

1回答

Jimin

2019-02-23

你好,代码和数据都没问题的话dto就不会是空的,你说的dto空值是debug时生成dto为空,还是http接口为空,或者其他什么情况?
正常的话,dto为空,要么是代码不对,要么是dept为空,dept为空要么是代码不对导致要么是数据有问题,和你说的有点对应不上。代码和数据都没问题的话,结果也肯定是正确的才对。
你贴的这段代码也是没问题的

0
12
慕粉3884565
非常感谢!
2019-02-26
共12条回复

Java开发企业级权限管理系统

源于企业真实Java项目,涉及大量高级技巧,覆盖权限管理开发技术

2261 学习 · 1347 问题

查看课程