规范)
A11 数据同步系统 - ID 标识规范一、核心设计哲学1.1 设计原则ID 设计原则 │ ├── 服务器统一分配原则 │ ├── 所有有效 ID 均由服务器生成 │ ├── 客户端不得自行指定有效 ID │ └── 客户端提交时 ID 字段可省略或填 0 │ ├── 符号语义分离原则 │ ├── 负数 → 机构/系统实体 │ ├── 正数 → 人员实体 │ └── 零值 → 未确认占位符 │ ├── 权限自然继承原则 │ ├── -1 代表 ROOT_ORG根组织 │ ├── i64::MAX 代表 SUPER_ADMIN超级管理员 │ └── i64::MIN 代表 DELETED_ORG删除回收站 │ └── 排序天然有序原则 ├── 正数人员排在负数机构之后 ├── 同符号内权重小的优先 └── 权重相同数值小的优先1.2 一句话理解负数管组织正数管人员零是临时工极值管全局二、ID 分类总览2.1 按符号分类ID 符号分类 │ ├── 负数-1, -2, -3 ... │ ├── 实体类型机构/系统实体 │ ├── 包含Organization、Project、Team │ ├── 符号位1 │ └── 特征系统级实体统一管理 │ ├── 正数1, 2, 3 ... │ ├── 实体类型人员实体 │ ├── 包含Person │ ├── 符号位0 │ └── 特征业务人员身份绑定 │ ├── 零0 │ ├── 实体类型未确认占位符 │ ├── 权限无任何权限 │ └── 用途临时标识等待服务器分配有效 ID │ ├── i64::MIN-9223372036854775808 │ ├── 实体类型删除回收站 │ ├── 符号位1机构类 │ └── 用途已删除实体的归档容器 │ └── i64::MAX9223372036854775807 ├── 实体类型超级管理员 ├── 符号位0人员类 └── 用途根组织-1的全权代理人2.2 快速对照表ID 范围/值符号实体类型权限特征-1, -2, -3...负机构/系统实体系统级管理1, 2, 3...正人员实体业务身份0正未确认占位符❌ 无任何权限i64::MIN负删除回收站️ 归档容器i64::MAX正超级管理员 全局代理人三、64 位 ID 位域结构3.1 位域分配64 位 ID 结构位域符号位权重位数值位位位置第 63 位第 62-48 位第 47-0 位位数1 位15 位48 位取值范围0或11~327670~2^48-1默认值-10语义0 人员实体1 机构实体排序权重越小越靠前唯一标识0 保留给根/占位符位域分配速查表位域位数位置用途取值说明符号位163区分实体类型0人员1机构权重位1562-48控制排序1~32767越小越靠前数值位4847-0唯一标识1~2^48-10保留四、取值对照表位域最小值最大值默认值说明符号位01-0人员1机构权重位1327671权重值数值位02^48-10唯一标识0 保留组合符号位012^63-2-人员实体 ID 范围组合符号位1-1-2^631-机构实体 ID 范围五、特殊 ID 位域解析表特殊 ID符号位权重位数值位说明00全0全0未确认人员占位符❌ 无任何权限-11全01系统根组织 ROOT_ORG-21全02普通机构实体示例1011普通人员实体示例i64::MIN1全0全0删除回收站 DELETED_ORGi64::MAX0全1全1超级管理员 SUPER_ADMIN六、排序规则表优先级比较维度规则说明1符号位正数0排在负数1之前人员实体排在机构实体前面2权重位权重值小的排在前面同类型内权重小者优先3数值位数值小的排在前面权重相同时数值小者优先七、ID 操作函数示例// 提取符号位0人员1机构fnsign(id:i64)-i8{((id63)1)asi8}// 提取权重位15位1-32767fnweight(id:i64)-u16{((id48)0x7FFF)asu16}// 提取数值位48位0-2^48-1fnvalue(id:i64)-u64{(id0x0000FFFFFFFFFFFF)asu64}// 判断是否为机构实体fnis_organization(id:i64)-bool{id0id!i64::MIN}// 判断是否为人员实体fnis_person(id:i64)-bool{id0id!i64::MAX}// 判断是否为根组织fnis_root_org(id:i64)-bool{id-1}// 判断是否为超级管理员fnis_super_admin(id:i64)-bool{idi64::MAX}// 判断是否为删除回收站fnis_deleted_org(id:i64)-bool{idi64::MIN}八、常量定义表常量名称值说明SIGN_MASK0x8000000000000000符号位掩码WEIGHT_MASK0x7FFF000000000000权重位掩码VALUE_MASK0x0000FFFFFFFFFFFF数值位掩码DEFAULT_WEIGHT1默认权重值RESERVED_VALUE0保留数值根/占位符i64::MIN-9,223,372,036,854,775,808删除回收站i64::MAX9,223,372,036,854,775,807超级管理员ROOT_ORG-1根组织 IDUNCONFIRMED0未确认人员 ID