1. 组织树管理模块
1.1. 组织机构元数据管理
提供增删改查询的能力。
1.2. 接口设计
类设计:
- OrganizationClass
方法设计:
- addOrganization:增加组织信息
- delOrganization:删除组织信息
- updateOrganization:更新组织信息
- getOrganization:获取指定组织信息
- getAllOrganization:获取所有组织信息
1.3. 组织树示例
/ ===> 根ROOT
/阿里集团 ===> 全局品牌
/阿里集团/阿里云 ===> 分公司
/阿里集团/阿里云/总裁办
/阿里集团/阿里云/HRBP
/阿里集团/阿里云/虚拟化部 ===> 部门
/阿里集团/阿里云/虚拟化部/KVM虚拟化中心 ===> 中心
/阿里集团/阿里云/虚拟化部/KVM虚拟化中心/设计组 ===> 小组
/阿里集团/阿里云/虚拟化部/KVM虚拟化中心/研发组
/阿里集团/阿里云/虚拟化部/KVM虚拟化中心/QA组
/阿里集团/阿里云/虚拟化部/Kuberentes 中心
/阿里集团/阿里云/存储部
/阿里集团/阿里云/网络部
/阿里集团/淘宝
/阿里集团/天猫
/阿里集团/租户001 ====> 租户逻辑
/阿里集团/租户001/项目1
/阿里集团/租户001/项目2
假如用户 user001 属于以下三个部门
- /阿里集团/阿里云/虚拟化部/KVM虚拟化中心/研发组
- /阿里集团/CTO
- /阿里集团/租户001/项目1
除基础花名为 user001 等基础信息外,在不同部门的岗位级别也不同
- /阿里集团/阿里云/虚拟化部/KVM虚拟化中心/研发组 ==> 岗位级别:P11
- /阿里集团/CTO ==> 岗位级别:M8
- /阿里集团/租户001/项目1 ==> 岗位级别:项目管理员角色
在这种情况下,需要区分基础信息和组织信息,一个人可以属于多个组织,相同字段会有不同的信息
1.4. 其他
以树的形式进行组织管理,每层目录节点都应有唯一的 ID。每个用户都会属于一个组织(也可能两个)
顶层0级目录可以定义为公司
组织架构元数据管理
- 单组织架构树还是多组织架构树
- 组织架构分类管理(自定义组织架构分类标签)
注意事项:
- 考虑多租户,多组织情况
- 考虑一个用户属于多个组织的情况