Files
Fulfilled-Knowledge/wishfulfilled-wiki/07_技术文档/01-子系统-identity-数据库表关系.md
2026-05-29 14:33:56 +08:00

21 KiB
Raw Permalink Blame History

identity 子系统 — doris数据库相关表与关联关系供参考


1. 数据库全景

数据库 说明 与 identity 的关系
ods_app_base_data APP基础数据用户、设备、好友、产品 核心 — 用户身份主数据
ods_app_app_community 社区数据(帖子、评论、关注) 行为数据,辅助归并
ods_app_jh_data JOYHUB事件数据 行为数据,辅助归并
ods_oa_oaaftersales OA售后系统客户、订单、测评 核心 — 非APP用户身份线索
app_tag_data 标签数据 关键 — 已有 OneID 归并表

2. 核心发现:已存在的 OneID 归并表

app_tag_data.user_oneid — 用户唯一标识归并表6 字段,已有数据)

这是 identity 子系统 M2归并引擎的核心参考,已实现 uuid → one_id 的归并逻辑

字段 类型 说明
uuid VARCHAR(64) UNI, NOT NULL 原始客户唯一标识符
one_id VARCHAR(64) NOT NULL 用户唯一标识归并后的ID
bridge_uuid STRING 当前 uuid 对应的非当前桥接 uuid
association_fields STRING 关联字段
detail STRING uuid 指向 one_id 的证据说明JSON
update_time DATETIME(3) 同步更新时间

关键设计点

  • uuidone_id 是多对一关系(多个 uuid 可归并到同一个 one_id
  • bridge_uuid 记录桥接关联,用于跨系统身份串联
  • detail 字段存储归并证据JSON与设计文档中 person_profiles.merge_evidence 概念一致
  • association_fields 记录关联字段,对应设计文档中的线索类型

3. 核心表状态

设计文档定义的 4 张核心表 尚未在数据库中创建

表名 设计文档定义 数据库状态 与现有表的关系
person_profiles 真实人主表 不存在 可参考 app_tag_data.user_oneidone_id
person_identity_links 身份线索关联表 不存在 可参考 ods_oa_oaaftersales.customer_platform_infotype映射线索类型
contact_context_snapshots 上下文快照 不存在 需聚合多表新建
device_records 设备变化记录 不存在 可参考 user_device_token_log已有252万条记录

4. 已存在的数据源表

4.1 用户与身份核心表

ods_app_base_data.users — 用户主表36 字段)

identity 子系统的核心用户数据源,提供 JOYHUB ID、邮箱、设备号等身份线索

字段 类型 说明
id BIGINT UNI 用户IDJOYHUB ID
userName STRING 用户名
email STRING 邮箱
deviceToken VARCHAR(300) 设备推送令牌
IMEI STRING 设备IMEI
sysType VARCHAR(765) 系统类型(安卓/IOS/Windows Phone
deviceId STRING 设备ID
appVersion VARCHAR(90) APP版本
contact_information VARCHAR(765) 联系方式(电话号码)
mobile STRING 手机号
area_code BIGINT 区域代码美国1中国86
status TINYINT 1活跃/2封禁/3注销
sysTime DATETIME 系统时间(注册时间)
created_at DATETIME 创建时间

ods_app_base_data.user_login_last — 最近登录信息21 字段)

提供设备型号、系统版本、APP版本、国家等信息是设备变化识别M4的重要数据源

字段 类型 说明
UserId BIGINT UNI 用户ID → 关联 users.id
deviceId STRING 设备ID
deviceModel VARCHAR(150) 手机型号
device VARCHAR(150) 手机系统
sysType VARCHAR(150) 系统设备信息与版本
appVersion VARCHAR(45) APP版本号
appChannel INT 渠道
countryName VARCHAR(600) 国家名称
countryCode VARCHAR(30) 国家缩写
Time DATETIME 登录时间
Ip STRING IP地址

ods_app_base_data.user_device_token_log — 设备令牌变更日志7 字段252万行

记录设备令牌的添加和更新,可用于追踪设备变化

字段 类型 说明
id INT UNI 主键
user_id INT 用户ID → 关联 users.id
type TINYINT 0添加/1更新
device_id STRING 设备ID
new_device_token VARCHAR(300) 新设备令牌
created_at DATETIME 创建时间
client_time DATETIME 客户端时间

ods_app_base_data.user_contact_information_history — 联系方式变更历史11 字段20万行

记录用户手机号等联系方式的变更历史,可用于身份线索追踪

字段 类型 说明
id DECIMAL(20,0) UNI 主键
user_id BIGINT 用户ID → 关联 users.id
user_type VARCHAR(150) 用户角色
area_code BIGINT 区域代码
mobile STRING 手机号
area_id INT 区域ID
marketing_phone TINYINT 营销电话开关
marketing_sms TINYINT 个性化广告开关
status SMALLINT 1生效中/2已过期
verify_status SMALLINT 短信验证状态1通过/2未通过
created_at BIGINT 创建时间

ods_app_base_data.banned_device_id — 设备封禁表3 字段6831行

字段 类型 说明
id INT UNI 主键
device_id VARCHAR(765) 封禁设备ID
created_at INT 创建时间

ods_app_base_data.blacklist_users_aggregate — 用户黑名单汇总8 字段)

按 uid、设备、IP 维度的黑名单,用于风险判断

字段 类型 说明
id INT UNI 主键
target_id INT 1=uid, 2=设备, 3=IP
target_value VARCHAR(1500) 字段值
category_id INT 黑名单类别ID
describe VARCHAR(1500) 加入原因

4.2 OA 售后系统 — 客户身份数据

ods_oa_oaaftersales.customer — 客户主表22 字段23万行

字段 类型 说明
id DECIMAL(20,0) UNI 客户ID
name STRING 客户名
country VARCHAR(60) 国家
is_black TINYINT 是否黑名单
high_risk TINYINT 是否高风险
erp_contact STRING ERP联系方式
erp_pay_account VARCHAR(1500) ERP付款账号

ods_oa_oaaftersales.customer_platform_info — 客户平台信息8 字段26万行

字段 类型 说明
id BIGINT UNI 主键
type TINYINT 1电话/2邮箱/3joyhub_id/4邮箱编码/5twitter/6facebook
customer_id INT 客户ID → 关联 customer.id
account STRING 账号值
is_delete TINYINT 是否删除

ods_oa_oaaftersales.customer_address — 客户地址18 字段5631行

提供姓名+地址组合,可用于 ORDER_NAME_ADDRESS 线索归并

字段 类型 说明
id BIGINT UNI 主键
customer_id INT 客户ID → 关联 customer.id
recipient_name STRING 收件人姓名
phone STRING 电话
zip_code STRING 邮编
country VARCHAR(300) 国家
city STRING 城市
state STRING 州/省
detail VARCHAR(1500) 详细地址

ods_oa_oaaftersales.customer_payment_account — 客户付款账号12 字段10万行

提供收款信息银行卡、PayPal等可作为身份归并线索

字段 类型 说明
id BIGINT UNI 主键
ct_id INT 客户ID → 关联 customer.id
pay_name VARCHAR(150) 支付方式
account_number STRING 账号
account_name STRING 账户名
card_no VARCHAR(300) 卡号

ods_oa_oaaftersales.customer_bind — 客户绑定关系6 字段4980行

客户间的绑定关系,已有归并概念

字段 类型 说明
id BIGINT UNI 主键
customer_ids STRING 绑定的客户ID集合
unbind_time DATETIME 解绑时间
is_deleted TINYINT 是否删除

ods_oa_oaaftersales.customer_bind_log — 客户绑定日志6 字段1.2万行)

字段 类型 说明
id BIGINT UNI 主键
user_id INT 操作人ID
bind_customer_ids STRING 绑定的客户ID
type VARCHAR(765) 操作类型

ods_oa_oaaftersales.evaluation_order — 测评订单55+ 字段45万行

包含丰富的身份线索邮箱、电话、JOYHUB ID、社交媒体账号

字段 类型 说明
id BIGINT UNI 订单ID
ct_id INT 客户ID → 关联 customer.id
amazon_order_id STRING 亚马逊订单号
email STRING 邮箱
phone STRING 电话
joyhub_id VARCHAR(150) JOYHUB ID
twitter STRING Twitter账号
facebook STRING Facebook账号

ods_oa_oaaftersales.lingxing_order — 亚马逊订单30+ 字段2142万行

字段 类型 说明
id DECIMAL(20,0) UNI 订单ID
amazon_order_id VARCHAR(150) 亚马逊订单号
buyer_name VARCHAR(765) 买家姓名
buyer_email VARCHAR(765) 买家邮箱
phone VARCHAR(90) 电话
postal_code VARCHAR(765) 邮编
address VARCHAR(765) 地址

ods_oa_oaaftersales.phone_records — 电话记录30+ 字段8万行

字段 类型 说明
id BIGINT UNI 主键
ct_id INT 客户ID → 关联 customer.id
phone STRING 电话
email STRING 邮箱
joyhub_id VARCHAR(150) JOYHUB ID

4.3 社区行为表

ods_app_app_community.posts — 帖子表35 字段)

字段 类型 说明
id DECIMAL(20,0) UNI 帖子ID
user_id INT 用户ID → 关联 users.id
status SMALLINT 10待审核/20拒绝/30通过
deleted_at INT 删除时间0=未删除)

ods_app_app_community.post_likes — 点赞表5 字段)

字段 类型 说明
id DECIMAL(20,0) UNI 主键
post_id BIGINT 帖子ID → 关联 posts.id
user_id INT 用户ID → 关联 users.id

ods_app_app_community.comments — 评论表14 字段)

字段 类型 说明
id DECIMAL(20,0) UNI 评论ID
post_id DECIMAL(20,0) 帖子ID → 关联 posts.id
user_id DECIMAL(20,0) 用户ID → 关联 users.id

ods_app_app_community.follows — 关注关系表7 字段)

字段 类型 说明
id DECIMAL(20,0) UNI 主键
user_id INT 关注者ID → 关联 users.id
following_user_id INT 被关注者ID → 关联 users.id

ods_app_base_data.friends — 好友关系表6 字段)

字段 类型 说明
id DECIMAL(20,0) UNI 主键
user_id DECIMAL(20,0) 用户ID → 关联 users.id
friend_id DECIMAL(20,0) 好友ID → 关联 users.id

4.4 事件行为表

ods_app_jh_data.events — APP事件表18 字段)

event_type: 13=home, 8=玩具连接, 5=视频等

字段 类型 说明
id BIGINT UNI 事件ID
add_date DATE UNI 记录日期
uid BIGINT 用户ID → 关联 users.id
event_type INT 事件类型
pid BIGINT 产品ID → 关联 def_product_list.id

ods_app_jh_data.remote_events — 远程连接事件表15 字段)

字段 类型 说明
id BIGINT UNI 事件ID
uid BIGINT 用户ID → 关联 users.id
call_sn VARCHAR(600) 远程序列号格式uid1_uid2_uuid
mode INT 1文字/2语音/3视频

5. 表关联关系图

┌─────────────────────────────────────────────────────────────────────────┐
│                        identity 子系统数据关系                           │
└─────────────────────────────────────────────────────────────────────────┘

                          ┌───────────────────────┐
                          │  app_tag_data         │
                          │    .user_oneid        │
                          │  uuid ──► one_id      │
                          │  (已有归并逻辑)        │
                          └───────────┬───────────┘
                                      │ uuid 可能是 email/phone/device
                                      ▼
┌──────────────────────────────────────────────────────────────────────┐
│                    ods_app_base_dataAPP用户体系                   │
│                                                                      │
│  users ◄── user_profiles (user_id)                                   │
│    │       user_login_last (UserId) ── deviceId, deviceModel         │
│    │       user_device_token_log (user_id) ── 252万条设备变更记录     │
│    │       user_contact_information_history (user_id) ── 20万条变更   │
│    │       friends (user_id / friend_id)                             │
│    │       banned_device_id (device_id) ── 设备封禁                   │
│    │       blacklist_users_aggregate (target_id+target_value)        │
│    │                                                                 │
│    └── id = JOYHUB_ID                                                │
└──────────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────────┐
│                    ods_oa_oaaftersalesOA售后体系                  │
│                                                                      │
│  customer ◄── customer_platform_info (customer_id)                   │
│    │            type: 1电话/2邮箱/3joyhub_id/5twitter/6facebook       │
│    │         customer_address (customer_id) ── 姓名+地址+电话         │
│    │         customer_payment_account (ct_id) ── 收款账号             │
│    │         customer_bind (customer_ids) ── 客户绑定关系             │
│    │         customer_bind_log ── 绑定操作日志                        │
│    │         evaluation_order (ct_id) ── 邮箱/电话/joyhub_id/社媒     │
│    │         phone_records (ct_id) ── 电话/邮箱/joyhub_id            │
│    │         order_refund (ct_id) ── 返款详情                        │
│    │                                                                 │
│  lingxing_order ── buyer_name + buyer_email + phone + address        │
│    └── lingxing_order_item (amazon_order_id)                         │
└──────────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────────┐
│                    社区行为ods_app_app_community                  │
│                                                                      │
│  posts ◄── post_likes (post_id, user_id)                             │
│    │       comments (post_id, user_id)                               │
│    └── follows (user_id, following_user_id)                          │
└──────────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────────┐
│                     事件行为ods_app_jh_data                       |
│                                                                      │
│  events (uid, event_type, pid)                                       │
│  communities (uid, event_type)                                       │
│  remote_events (uid, call_sn ── 含对端uid)                           │
└──────────────────────────────────────────────────────────────────────┘

6. identity 设计表与现有表的字段映射

6.1 person_identity_links身份线索关联表— 待建

clue_type 设计文档定义 数据来源表 来源字段 数据量级
JOYHUB_ID JOYHUB用户ID users.id id -
EMAIL 邮箱 users.email / evaluation_order.email / lingxing_order.buyer_email / edm_contact_user.email / customer_platform_info(type=2) email -
PHONE 电话 users.contact_information / users.mobile / evaluation_order.phone / lingxing_order.phone / customer_platform_info(type=1) phone -
DEVICE 设备号 users.deviceId / user_login_last.deviceId / user_device_token_log.device_id deviceId 252万条日志
ORDER_NAME_ADDRESS 订单姓名+地址 lingxing_order.buyer_name + lingxing_order.address / customer_address.recipient_name + customer_address.detail name+address 5631条地址
SOCIAL_ACCOUNT 社交媒体(扩展) evaluation_order.twitter / evaluation_order.facebook / customer_platform_info(type=5,6) twitter/facebook -
PAYMENT_ACCOUNT 收款账号(扩展) customer_payment_account.account_number / customer.erp_pay_account account 10万条

6.2 device_records设备变化记录— 待建

设计字段 数据来源表 来源字段
joyhub_id users.id id
device_id users.deviceId / user_login_last.deviceId / user_device_token_log.device_id deviceId
device_model user_login_last.deviceModel deviceModel
os_version user_login_last.device / user_login_last.sysType device/sysType
app_version user_login_last.appVersion / users.appVersion appVersion
change_type user_device_token_log.type 0=NEW, 1=UPDATE

6.3 contact_context_snapshots上下文快照— 待建

设计字段 数据来源子系统 来源表
identity_snapshot identity person_profiles + person_identity_links
transaction_snapshot planning lingxing_order, lingxing_order_item
service_snapshot support order_refund, evaluation_order, phone_records
risk_snapshot risk customer.is_black, customer.high_risk, banned_device_id, blacklist_users_aggregate
device_snapshot identity(M4) device_records, user_login_last
outreach_snapshot outreach (待确认)