部门管理更新level问题

来源:8-7 列表分页插件开发

慕用2942571

2017-11-22

假如后端、前端全部在技术部(id=1)下面,而且前端和后端的parent_id都为1,level为0.1。

那假如我要把后端放到前端的部门下,那批量更新,前端和后端的level都会改变的。逻辑感觉有问题


写回答

1回答

Jimin

2017-11-22

你好,目前这个逻辑是没问题,但是在传参数上有点问题。

最初这个的设计来自postgresql里的ltree结构,在实现时我也是按照ltree去实现的,导致同样的sql在mysql上表现和预期有些不符,导致实际在查询子部门时会带上当前部门,可以通过以下调整来避免这个问题。

SysDeptService.java 的 updateWithChild方法里:

List<SysDept> deptList = sysDeptMapper.getChildDeptListByLevel(before.getLevel());

这一行调整为 

List<SysDept> deptList = sysDeptMapper.getChildDeptListByLevel(before.getLevel() + "." + before.getId());

2
2
Jimin
回复
慕沐3291583
这个之前是做过的,但是感觉网站提醒的不是很明显,具体在这里,http://coding.imooc.com/learn/log/149.html,同时代码也上传过1份,时间应该是2018.05.02
2018-07-16
共2条回复

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

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

2224 学习 · 1334 问题

查看课程