根据部门id递归获取一级部门id

Java Web层代码

    /**
     * 根据部门id查询一级部门id
     * @return
     */
    @GetMapping("/user/getDepartmentId")
    public AjaxMessage getDepartmentId(HttpServletRequest request){
        String depId = request.getParameter("depId");
        String topLevelDepartmentId = getTopLevelDepartmentId(depId);
        return AjaxMessage.ok(topLevelDepartmentId);
    }

    /**
     * 根据部门获取一级部门id
     * @param departmentId
     * @return
     */
    public String getTopLevelDepartmentId(String departmentId) {
        Department department = departmentService.getDepartmentByDepId(departmentId); // 根据部门ID获取部门对象
        if (department == null) {
            return ""; // 部门不存在,或查询出错
        }
        // 根据一级部门的等级进行判断是否达到一级部门
        if (department.getGrade() == 1 || department.getGrade() == 0) {
            return department.getId(); // 已达到一级部门,返回部门ID
        } else {
            // 递归调用,传入父级部门对象进行下一级别的查询
            return getTopLevelDepartmentId(departmentService.getDepartmentByDepId(department.getParentId()).getId());
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值