老师 关于level不太理解的两个方法

来源:7-1 新增部门接口开发

华山小叮当

2018-03-15

public static String calculateLevel(String parentLevel, int parentId) {
    if (StringUtils.isBlank(parentLevel)) {
        return ROOT;
    } else {
        return StringUtils.join(parentLevel, SEPARATOR, parentId);
    }
}
这个方法中的参数parentLevel 是怎么来的 

然后是这个方法
   private String getLevel(Integer deptId){
    SysDept dept = sysDeptMapper.selectByPrimaryKey(deptId);
    if(dept == null){//parentId为0
        return null;
    }
    return dept.getLevel();
}
此方法最后返回的是这个部门的level
再是最后组装的时候
dept.setLevel(LevelUtil.calculateLevel(this.getLevel(param.getParentId()),param.getParentId()));
以上这些操作的都是SysDept本身的level啊  并没有看到获取自身level的上一级level啊


写回答

1回答

Jimin

2018-03-15

你好,是这样理解的:

calculateLevel这个方法要传入的是当前部门上一级部门的level和上一级部门的id,然后计算(其实就是拼接)当前部门的level,赋值给当前部门的level。这里传入的参数需要注意都是他的上级部门的。

关于这个问题,我还单独写了一篇手记:

https://www.imooc.com/article/21103

祝你学习愉快~


0
3
华山小叮当
非常感谢!
2018-03-15
共3条回复

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

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

2227 学习 · 1334 问题

查看课程