| | |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.helper.DataBaseHelper; |
| | | import com.ruoyi.system.domain.SysRoleDept; |
| | | import com.ruoyi.system.mapper.SysDeptMapper; |
| | | import com.ruoyi.system.mapper.SysRoleDeptMapper; |
| | |
| | | |
| | | @Override |
| | | public String getDeptAndChild(Long deptId) { |
| | | List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>() |
| | | .select(SysDept::getDeptId) |
| | | .apply(DataBaseHelper.findInSet(deptId, "ancestors"))); |
| | | List<Long> ids = deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()); |
| | | ids.add(deptId); |
| | | List<SysDept> list = deptMapper.selectList(new LambdaQueryWrapper<SysDept>() |
| | | .select(SysDept::getDeptId) |
| | | .eq(SysDept::getDeptId, deptId) |
| | | .or() |
| | | .apply("find_in_set({0},ancestors)", deptId)); |
| | | .in(SysDept::getDeptId, ids)); |
| | | if (CollUtil.isNotEmpty(list)) { |
| | | return list.stream().map(d -> Convert.toStr(d.getDeptId())).collect(Collectors.joining(",")); |
| | | } |