V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tlerbao
V2EX  ›  问与答

成员隶属多部门并且有额外信息应该如何设计?

  •  
  •   tlerbao · 2021-05-26 10:28:58 +08:00 · 809 次点击
    这是一个创建于 1264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    概述

    企业微信端有成员数据需要同步到本地,成员数据有几个关联数据不知道怎么设计的好。

    企业微信给的数据

    {
        "name": "李四",
        "department": [1, 2], // 所属部门 ID 列表,用户可以隶属多个部门
        "order": [1, 2], // 所在部门排序值,和所属部门 ID 位数相同一一对应
        "is_leader_in_dept": [1, 0], // 是否部门领导,和所属部门 ID 位数相同一一对应
        // ... 省略其他数据
    }
    

    目前的设计

    成员表 + 部门表 + 中间表

    成员和部门多对多关联 userid -> department_id,并附加额外信息,中间表如下

    用户 ID 关联部门 ID 部门内排序值 是否领导
    userid department_id order is_leader_in_dept

    求助

    1. 寻求更好的设计
    2. 目前这么设计在访问某个部门成员列表时,可否根据中间表的 order 字段排序
    3. 可否根据中间表的字段 is_leader_in_dept 快速给用户贴领导标签

    ps: 目前用 thinkphp6 开发

    3 条回复    2021-05-28 15:21:26 +08:00
    Mrun
        1
    Mrun  
       2021-05-26 10:49:24 +08:00
    直接参考 LDAP 不就好了
    xderam
        2
    xderam  
       2021-05-28 00:20:47 +08:00 via iPhone
    @Mrun 一般人对于 ldap 的动态静态组好像并没有什么概念
    tlerbao
        3
    tlerbao  
    OP
       2021-05-28 15:21:26 +08:00
    @Mrun
    @xderam 是的第一次听说 ldap
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:36 · PVG 05:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.