返回Json的层级结构

时间:2025-03-07 11:25:10

验证猜想

 

使用SQL递归查询数据(这个地方只是验证过程,后面并不需要使用递归SQL,无需担心)
id       instid  instCode    instName    parentId                         
1        1111     0001        白虎队        0
131    2222    0002        灰狼队        1111
132    3333    0003        青龙队        2222
164    4444    0004        赤蛇队        3333

 

查询机构角色表,找到机构对应的角色Id
instid    role_id
1111    root
2222    null
3333     null
4444    null

在这里就可以看出我们的第一个猜想是正确的,因为只有*父节点才有角色ID,
也就证明了其他子节点是无法通过角色ID查询到对应的系统信息,即系统信息只有*父节点才有


查询角色表,找到对应的系统Name

select sys_name from role where role_id = "root";

查询系统表,找到对应的系统信息

select * from t_ims_auth_sys where sys_name = "炒鸡特工队";

 

经过验证发现猜想1在数据库中的映射关系正是这样,而猜想2却在数据库中的映射关系和我们猜想的并不同,
这也证明了当有解决问题的想法出现时,一定要查询数据库验证,保证理论正确,才可以得出正确的操作步骤

 

那让我们来看一下猜想2哪里出错了

select * from t_ims_auth_user where inst_name ="白虎队";

 

经过查询数据库我们发现,使用机构名称查询用户表时,即使是*父辈也有对应的用户信息
(实际上经查询是每级都有用户信息和部门信息的),即用户信息并不仅仅保留在底级子辈机构中

相关文章