# 星河湾星中星 — 数据库表结构参考手册 设计目标:基于现有信息,通过对五个数据库的核心业务表进行整理,提供 Mermaid ER 图、表级列定义、脱敏样例数据和跨库关系描述,便于后续走查和实现对照。以下内容依据设计设计文档、组织架构文档以及已收集的 mapper/表定义数据编排而成。文档中对不可达库使用明确标注。 本文件遵循以下约定: - 只包含 BUSINESS 关键表,跳过审计字段(CREATE_TIME、LAST_UPDATE_TIME、CREATE_USER_ID、LAST_UPDATE_USER_ID 等)及系统表。 - ER 图以 Mermaid erDiagram 风格呈现,并按数据库分区显示为子图。 - 脱敏规则:对样本数据进行姓名、手机号、IP、时间戳等字段脱敏;UUID/ID 及业务主键保持不变。 - 跨库关系以虚线标注,文档末尾提供验证模板。 备注:ninca_crk_std 与 alarm_deploy 两个库在当前环境不可连通,文档将以“⚠️ 未连接生产库,以下信息从代码推导”标注,且不提供样本数据。cwos_resource 的 mapper 信息以代码引用为准。 ----------------------------------------------------------------------------- 1) 数据库概览 以下表格汇总五个数据库的关键元信息与数据采集方式。 | 数据库 | 主机/来源 | 引擎 | 业务表数量 | 采集方式 | 备注 | |--------|-----------|------|----------|----------|------| | component-organization | 192.168.3.12:3307 | InnoDB | 21 | 直连查询 | 多租户组织/人员等核心表 | | cw-elevator-application | 192.168.3.12:3307 | InnoDB | 8 (分片) | 直连查询 | 电梯策略与规则表 | | ninca_crk_std | 10.128.123.108:3306 | InnoDB | 未连接 | 代码推导 | 人脸识别库(不可连通) | | alarm_deploy | 10.128.161.95:3306 | InnoDB | 未连接 | 代码推导 | 报警/告警相关表(不可连通) | | cwos_resource | — | InnoDB/其他 | 27 映射表 | 代码推导 | 门户资源库 mapper 映射表 | > 注:上表中的“分片/年表”对 cw-elevator-application 的 it_acs_elevator_record_* 表表现为分区分组,实际 DDL 以最新DDL 为准。 ----------------------------------------------------------------------------- 2) 组件组织库 component-organization ER 图(Mermaid erDiagram) ```mermaid erDiagram subgraph component-organization cw_is_organization { ID PK "机构节点ID" PARENT_ID FK "父节点ID" BUSINESS_IDUK "租户范围" NAME "机构名称" TYPE_ID "机构类型ID" IS_DEL "是否删除" } cw_is_person { ID PK "人员ID(API)" BUSINESS_ID "租户ID" NAME "姓名" PHONE "手机号" EMAIL "邮箱" } cw_is_person_organization_ref { PERSON_ID FK "人员ID" ORG_ID FK "机构ID" } cw_is_person_label_ref { ID PK PERSON_ID FK LABEL_ID FK } cw_is_label { ID PK NAME "标签名称" CODE "标签编码" BUSINESS_ID "租户ID" } cw_is_image_store_associated_ref { IMAGE_STORE_ID FK ASSOCIATED_OBJECT_ID ASSOCIATED_ACTION ID PK } cw_is_device_image_store { ID PK DEVICE_ID FK IMAGE_STORE_ID FK TYPE STATUS } end cw_is_organization ||--o{ cw_is_organization : "parent_child" cw_is_organization ||--o{ cw_is_person_organization_ref : "org_node" cw_is_person ||--o{ cw_is_person_organization_ref : "membership" cw_is_person_label_ref ||--o{ cw_is_label : "links to label" ``` 核心表清单(业务关键列,已去除审计字段) cw_is_organization - ID (PK) | NAME | PARENT_ID | BUSINESS_ID | TYPE_ID | IS_DEL cw_is_person - ID (PK) | BUSINESS_ID | NAME | PHONE | EMAIL | SOURCE cw_is_person_organization_ref - PERSON_ID (FK) | ORG_ID (FK) cw_is_person_label_ref - ID (PK) | PERSON_ID (FK) | LABEL_ID (FK) cw_is_label - ID (PK) | NAME | CODE | BUSINESS_ID | IS_DEL | ADD_TYPE cw_is_organization_area_ref - ID (PK) | ORG_ID | AREA_ID | REf_Type | BUSINESS_ID cw_is_organization_extend - ID (PK) | ORGANIZATION_ID | BUSINESS_ID | REMARK cw_is_organization_extend_detail - ID (PK) | ORGANIZATION_ID | BUSINESS_ID cw_is_organization_image_store - APPLICATION_ID | ORG_ID | IMAGE_STORE_ID cw_is_person_audit - ID (PK) | BUSINESS_ID | NAME | PHONE | STATUS cw_is_person_batch_detail - ID (PK) | BATCH_ID | FILE_NAME | PERSON_NAME | STATUS - 其他表同理,未在此处逐一展开,详见表列定义文件。 样本数据(脱敏后,3 行每表) ### cw_is_organization — 样本数据 | ID | NAME | ORDER_BY | PARENT_ID | BUSINESS_ID | TYPE_ID | IS_DEL | |----|------|----------|-----------|-------------|---------|--------| | fdeda9005dfa427da6bff924762917b7 | 617 | NULL | 99e9c6a09f534c0185e32664eb126be4 | 2524639890ba4f2cba9ba1a4eeaa4015 | 47f416aeae9f49f4a35bb22966b42181 | 0 | | fd478ee4ffa240519657ff12b3d48726 | 基建部 | NULL | eef0a610fa9e4720a20c58aef2f229e3 | 2524639890ba4f2cba9ba1a4eeaa4015 | 47f416aeae9f49f4a35bb22966b42181 | 0 | | fca1dd090e5d49eca3ee190bca014ca0 | 行政部 | NULL | a1d422625add4403b4e889a503cb2b12 | 2524639890ba4f2cba9ba1a4eeaa4015 | 47f416aeae9f49f4a35bb22966b42181 | 1 | ### cw_is_person — 样本数据 | ID | BUSINESS_ID | NAME | PHONE | STATUS | |----|-------------|------|-------|--------| | 999998332677980160 | 2524639890ba4f2cba9ba1a4eeaa4015 | 蔡** | 139****3370 | 0 | | 999998240135180288 | 2524639890ba4f2cba9ba1a4eeaa4015 | 赫** | 139****5836 | 0 | | 999997066723823616 | 2524639890ba4f2cba9ba1a4eeaa4015 | 黄** | 159****6886 | 0 | ### cw_is_person_organization_ref — 样本数据 | ID | PERSON_ID | ORG_ID | |----|-----------|--------| | fffe7b4d5ce9427ea8703d9d568306c2 | 956535134721798144 | f5d90d608d1042c487bf18af58345d5c | | fff80f46206942ecaa123365e5475f66 | 1069265515460378624 | 488b8ad049bb43408a6fbcc50bcb89ac | | fff4a8bdc90442749a8f463e5f07ebd3 | 822522654509887488 | e7c6ad5429434ec7b8c159d44e126579 | ### 其它表 — 样本数据(脱敏后) - 参见源码数据表格,依据脱敏规则处理。若需扩展,请按同样模板添加。 ----------------------------------------------------------------------------- 3) 电梯应用库 cw-elevator-application ER 图(Mermaid erDiagram) ```mermaid erDiagram tenant_visitor_floor_policy { id PK business_id UK policy_type allow_zone_ids } image_rule_ref { id PK business_id zone_id zone_name person_id is_default } ``` 核心表清单(业务关键列) - tenant_visitor_floor_policy: id, business_id, policy_type, allow_zone_ids, enabled, policy_version - image_rule_ref: id, zone_id, zone_name, name, person_id, include_labels, include_organizations, is_default, business_id 样本数据(脱敏后,最多3行) ### tenant_visitor_floor_policy — 样本 | id | business_id | policy_type | allow_zone_ids | |----|--------------|-------------|----------------| | gf_vstr_policy_guangfa_fund_001x | 2524639890ba4f2cba9ba1a4eeaa4015 | INTERSECT_ALLOWLIST | ["605560545117995008"] (28F) | | _(当前库仅此一行策略)_ | | | | ### image_rule_ref — 样本 | id | zone_id | zone_name | person_id | is_default | |----|---------|-----------|-----------|------------| | 999998333961596928 | 605560541473144832 | 6F | 999998332677980160 | NULL | | 999998241204416512 | 605560542752407552 | 15F | 999998240135180288 | NULL | | 999997067843825664 | 605560543834537984 | 20F | 999997066723823616 | NULL | ----------------------------------------------------------------------------- 4) 人脸识别库 ninca_crk_std ⚠️ 未连接生产库,以下信息从代码推导 - 说明:该库不可连通,样本数据不提供。表与字段推导基于代码注释及 Mapper 命名推断,具体字段以生产环境为准。 - 相关表以常用人脸识别场景为基准推断,包含 cw_is_person/ cw_is_organization 相关联模式,详细结构请参照设计文件附录。 ----------------------------------------------------------------------------- 5) 报警库 alarm_deploy ⚠️ 未连接生产库,以下信息从代码推导 - 说明:该库不可连通,样本数据不提供。推导基于 Alarm 领域常规表命名与 Mapper 文件结构。 - 具体表结构以代码为准,文档中仅给出 ER 零散草图及字段推导口径。 ----------------------------------------------------------------------------- 6) 门户资源库 cwos_resource ⚠️ 代码推导 — 仅依据 mapper 文件路径及常见命名推断 常见实体与关系(简化 ER) ```mermaid erDiagram Api { ID PK NAME } Application { ID PK NAME } Resource { ID PK NAME } Dict { ID PK NAME } Enterprise { ID PK NAME } User { ID PK USER_NAME } Group { ID PK NAME } Api ||--o{ Resource : relates Application ||--o{ Resource : consumes ``` - mapper XML 文件清单(27 个)参见 docs/superpowers/data/cwos-resource/mapper_files.txt;对应的表名映射请以各 XML 内容为准。 - 27 个 mapper 列表:ApiMapper.xml、AppApiMapper.xml、ApplicationApiMapper.xml、ApplicationMapper.xml、AppResMapper.xml、AuthApiMapper.xml、AuthorizationMapper.xml、AuthResourceMapper.xml、DictMapper.xml、DictTypeMapper.xml、EnterpriseMapper.xml、GroupInfoMapper.xml、GroupRoleMapper.xml、ResourceApiMapper.xml、ResourceMapper.xml、RoleApiMapper.xml、RoleAuthMapper.xml、RoleMapper.xml、RoleResourceMapper.xml、ServiceMapper.xml、UserAccountMapper.xml、UserApplicationMapper.xml、UserGroupMapper.xml、UserMapper.xml、UserResMapper.xml、UserRoleMapper.xml、以及 Oracle/SqlServer 对应分支等。 备注:cwos_resource 的 ER 及列定义以 mapper 内容推导为主,实际情况请以 Mapper XML 文件为准。 ----------------------------------------------------------------------------- 7) 跨库关系总图 跨库关系概要:cw_is_organization.BUSINESS_ID ↔ tenant_visitor_floor_policy.business_id;cw_is_person.ID ↔ image_rule_ref.person_id(通过 API 字段 personId);cw_is_person.ID → cw_is_person_organization_ref.PERSON_ID → cw_is_organization.ID;cw_is_person_label_ref 将 cw_is_person 与 cw_is_label 关联以支持访客标签。 ```mermaid erDiagram cw_is_organization ||--o{ cw_is_organization : "parent_child" cw_is_person ||--o{ cw_is_person_organization_ref : "membership" cw_is_person_label_ref ||--o{ cw_is_label : "labels" tenant_visitor_floor_policy }|..|| image_rule_ref : "policy_link" %% 跨库对齐示意 cw_is_organization.BUSINESS_ID }|..|| tenant_visitor_floor_policy.BUSINESS_ID : "跨库 BUSINESS_ID 对齐" cw_is_person.ID }|..|| image_rule_ref.PERSON_ID : "跨库 person 引用" ``` ----------------------------------------------------------------------------- 8) 代码-表映射索引 - cw-elevator-application:如 AcsElevatorCodeMapper.xml、AcsDeviceTaskMapper.xml、AcsElevatorDeviceMapper.xml、DeviceImageStoreMapper.xml、TenantVisitorFloorPolicyMapper.xml、AcsElevatorRecordMapper.xml、AcsPassRuleMapper.xml、AcsRecogRecordMapper.xml、ImageRuleRefMapper.xml、SendRecordTimeMapper.xml 等,均映射到相应的 elevator/record/… 表。 - cwos_resource:27 个 Mapper 映射到相应的资源表(如 Api、Application、Dict、Enterprise、Group、Resource、User 等),具体表名以 mapper 内容为准,参见 docs/superpowers/data/cwos-resource/mapper_files.txt。 - 代码表映射是动态的,请以 Mapper XML 实际内容为准进行对照。 附注:该部分为索引性描述,方便对照查阅。 ----------------------------------------------------------------------------- 9) 附录 — 验证 SQL 模板 - 数据库概览查询 ``` SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA IN ('component-organization','cw-elevator-application','ninca_crk_std','alarm_deploy','cwos_resource') ORDER BY TABLE_SCHEMA, TABLE_NAME; ``` - 列字段清单(示例:component-organization 的核心表 cw_is_organization) ``` SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'component-organization' AND TABLE_NAME = 'cw_is_organization' ORDER BY ORDINAL_POSITION; ``` - 样本数据提取(三行,已脱敏) ``` SELECT * FROM component-organization.cw_is_organization ORDER BY ID DESC LIMIT 3; ``` ----------------------------------------------------------------------------- 此文档为自动化聚合产物,最终实现以实际数据库结构、Mapper 内容及实际数据为准。