Files
Fulfilled-Knowledge/05_需求文档/20260517_USER评价业务闭环_第三步_数据流与中间对象设计_v3.md
2026-05-26 15:08:20 +08:00

44 KiB
Raw Blame History

USER 评价业务闭环 — 第三步:数据流与中间对象设计 v3

文件信息

  • 文件名称:20260517_USER评价业务闭环_第三步_数据流与中间对象设计_v3.md
  • 项目路径:C:\XCODE\USER
  • 当前版本:v3
  • 最近更新:2026-05-17
  • 上游文档:
  • 前置版本:
    • 数据流与中间对象需求_v1Codex六层架构骨架
    • 数据流与中间对象设计_v1.1Codex字段字典最全版
    • 第三步_数据流与中间表设计_v1(字段级展开 + 流转时序)
    • 第三步_数据流与中间表设计_v2(吸收 Codex 优点的合并版)
  • 合并策略:以 Codex v1.1 为主骨架(保留其完整字段字典和免评对象),补入 v2 的流转时序表、写入顺序图和快照策略。
  • 文件目的:作为第三步最终主稿,后续数据库物理设计、接口设计和页面点击读写设计均以此为准。

1. 第三步的目标

第三步不再回答"流程怎么走",而是回答:

  1. 现有系统里已经有哪些数据可以复用。
  2. 为什么仅靠现有 users / amazon_orders / review_plans / push_tasks / support_tickets / fraud_events 不够。
  3. 必须新增哪些中间对象。
  4. 哪些是正式事务表,哪些只是快照,哪些可以先做成视图。
  5. 从需求形成到结果回流,数据怎样一层一层往下走。

2. 本步先给出的结论

2.1 不能再只围绕单一账号建模

后续所有关键判断都应围绕 真实人,而不是只看 JOYHUB ID / 邮箱 / 电话 / Amazon 账号 / 单次订单。JOYHUB 用户只是身份线索之一,真实人才是额度、历史、风险、跨渠道去重和客服上下文的主对象。

2.2 现有表能承载业务记录,但承载不了跨流程判断

既有表更接近"某一模块自己的账",但前两步已确认的新需求需要额外的中间层:真实人跨账号归并、每次互动重判、人群入选/排除解释、额度预占与跨渠道去重、客服上下文、评价提交与展示拆分、退款比对。

2.3 第三步最重要的是把对象分层

本文件把数据对象分为六层:

源数据层 → 主实体层 → 桥接层 → 事件层 → 快照与决策层 → 结果回流层

3. 数据设计原则

原则 说明
先识别真实人,再做额度与风险 否则 4/4/12 规则都会被多账号绕开
事件与快照分离 事件是原始事实,快照是某个时点的判断结果
当前态与历史态分离 当前视图可重算,历史决策必须留痕
计划、渠道、客服、风险状态分离 不能压成一个字段
用户提交与平台展示分离 真实提交计额度Amazon 展示计计划完成
能解释"为什么" 入选、排除、拦截、转人工都要能追溯
先复用现有对象,再补最小中间层 不为了建模漂亮重造全部旧表
对敏感数据分层处理 原值、标准化值、哈希/指纹、脱敏展示值应区分

第一部分:现有数据源分析

4. 现有数据源盘点

数据源 当前可用内容 主要缺口
现有 ERP 用户管理 用户 ID、用户名、注册时间、最近活跃、国家、性别、邮箱、绑定产品数、标签 仍是账号视角,不是真实人视角
APP / 用户数据库 JOYHUB ID、邮箱、设备号、设备型号/类型、系统版本、APP版本、绑定玩具、活跃与点击行为 需要设备变更轨迹和与订单/客服联动
Amazon 订单 订单号、ASIN、站点、购买时间、订单状态、Profile ID、收件人姓名、收件地址等 需要标准化姓名/地址和收件人指纹
Amazon 评价/Listing ASIN、评分、评价数、差评数、评价缺口、展示结果 用户真实提交与平台展示要拆成两条事实
推送系统 Push 计划、素材、任务、打开、点击、回复、投诉、退订 IM/EDM/APP 语义不同,不能只用一套粗糙 push 结果
客服/TEL 工单、通话、售后、答应配合、问题处理 需要和上下文卡、风险复检、跟进状态联动
黑名单/诈骗资料 黑名单、诈骗事件、双重退款、强弱关联 需要把风险信号与确认案件拆开
OA 返款/Amazon 退款 内部返款与 Amazon 退款 缺统一比对对象
JOYCOLLAB KOC/KOL、内容、Code、点击、订单、转化、佣金 需要和 USER 计划/ASIN 结果打通

4.1 Amazon 订单字段明细(结合表头.xlsx

字段 主要用途 涉密
订单号 订单核验、真实人关联、退款比对
订单状态 判断是否撤销、退款、退货、换货 -
买家姓名 / 买家邮箱 身份关联
收件人 / 电话 真实人归并、风险判断
地址 / 城市 / 州 / 邮编 收件人归并、同址异名识别
ASIN / MSKU / SKU / 品名 / 标题 产品匹配、计划归属 -
订购日期 / 发货时间 / 结算时间 时序判断 -
数量 / 单价 / 订单总金额 / 销售额 交易画像
是否退款 / 退款总金额 双重退款检测
请求评论状态 评价缺口判断 -
店铺 / 国家 / 销售渠道 站点匹配 -
Order Item ID 订单行级关联 -

4.2 订单侧必须补的派生字段

字段 说明
recipient_name_normalized 标准化后的收件人姓名
recipient_address_normalized 标准化后的地址
recipient_fingerprint 由标准化姓名+地址生成的稳定指纹
address_fingerprint 仅地址指纹,用于识别同址异名

5. 全局数据流

flowchart LR
    subgraph S["源数据层"]
        S1["现有ERP用户/标签/身份"]
        S2["APP/设备/行为"]
        S3["Amazon订单/评价/Listing"]
        S4["IM/EDM/APP Push/TEL"]
        S5["客服/工单/售后"]
        S6["黑名单/OA返款/Amazon退款"]
        S7["JOYCOLLAB"]
    end

    subgraph M["主实体与桥接层"]
        M1["真实人 person_profiles"]
        M2["身份关联 person_identity_links"]
        M3["订单/ASIN/计划/工单"]
        M4["订单关联/路由/去重"]
    end

    subgraph D["快照与决策层"]
        D1["画像快照 person_feature_snapshots"]
        D2["上下文卡 contact_context_snapshots"]
        D3["额度台账/预占"]
        D4["风险信号/风险案件"]
        D5["人群快照/排除快照"]
        D6["互动复检/路由决策"]
    end

    subgraph E["事件层"]
        E1["渠道事件"]
        E2["客服/TEL事件"]
        E3["退款事件"]
        E4["评价提交事件"]
        E5["免评执行事件"]
    end

    subgraph R["结果回流层"]
        R1["评价展示核验"]
        R2["退款比对结果"]
        R3["免评结果"]
        R4["ASIN健康/计划完成"]
        R5["绩效/审计/下一轮需求"]
    end

    S1 & S2 & S3 --> M1
    S1 & S2 & S3 --> M2
    M1 & M2 & M3 --> D1
    M1 & M2 & M3 --> D2
    D1 --> D5
    D3 & D4 --> D5
    D5 --> D6
    D6 --> E1
    S4 --> E1
    S5 --> E2
    S6 --> E3
    E1 & E2 --> E4
    S7 --> E5
    E3 --> R2
    E4 --> R1
    E5 --> R3
    R1 & R2 & R3 --> R4
    R4 --> R5
    R5 --> M3

第二部分:数据对象分层总表

6. 对象分层总表

分层 对象 说明
源数据 usersdevicesamazon_ordersasin_listingspush_taskssupport_ticketsfraud_events、JOYCOLLAB 数据 现有或外部事实来源
主实体 person_profilesrequest_ticketsreview_plansexemption_plansrisk_casesblacklist_entities 核心业务主体
桥接 person_identity_linksuser_order_linksplan_task_linkschannel_route_decisionschannel_dedup_records 跨主体关系
事件 im_interaction_recordsim_flow_tagsedm_message_eventsapp_touch_eventstel_call_recordsreview_submission_recordsamazon_refund_recordsoa_refund_recordssupport_assignment_logs 不可丢失的事实
快照/决策 person_feature_snapshotscontact_context_snapshotsperson_quota_ledgersquota_reservationsaudience_snapshotsaudience_exclusionsinteraction_recheck_recordsedm_user_behavior_profileschannel_route_decisionschannel_dedup_records 为某次决策保留当时依据
结果/回流 review_display_checksrefund_match_resultsexemption_result_snapshotslisting_health_snapshotssupport_performance_snapshots 结果与复盘
治理 interaction_audit_logsmanual_review_tasksexport_logsaudit_logs 审计、复核、导出

7. 现有对象如何处理

7.1 可以直接复用

现有对象 处理
request_tickets 保留,继续作为需求入口
amazon_orders 保留,补标准化姓名/地址与收件人指纹
asin_listings 保留,继续作为 ASIN/Listing 主档
support_tickets 保留,拆出跟进、分派和风险状态辅助表
fraud_events 保留,上游增加 risk_signals,下游衔接 risk_cases/blacklist_entities
audit_logs 保留

7.2 需要扩展

现有对象 需要补的能力
users 不再承担真实人主档,只保留 JOYHUB 账号层信息
devices 补设备型号、系统版本、APP版本、首次/最近出现、设备变化
review_plans 增加计划族或与 exemption_plans 分离
push_tasks 被更细的渠道事件表补充
support_tickets 增加与上下文卡、答应配合、风险复核、TEL 记录的关联

7.3 必须新增

对象 原因
person_profiles 真实人主档
person_identity_links 多线索归并
person_feature_snapshots 画像解释
contact_context_snapshots 客服一屏上下文
person_quota_ledgers 4/4/12 统一额度
quota_reservations 并发占用与预警
audience_snapshots 人群生成留痕
audience_exclusions 排除原因留痕
channel_route_decisions 渠道路由解释
channel_dedup_records 跨渠道去重
interaction_recheck_records 每次有效互动重新判断留痕
refund_match_results 双重退款识别
review_display_checks 评价展示拆分

第三部分P0/P1/P2 优先级

8. P0没有它们主流程就不可靠

对象 类型 关键用途
person_profiles 主实体 真实人主档
person_identity_links 桥接 账号、邮箱、电话、设备、Profile、收件人归并
person_feature_snapshots 快照 画像依据
contact_context_snapshots 快照 客服上下文卡
person_quota_ledgers 台账 4/4/12 统一额度
quota_reservations 台账 计划并发占用
risk_signals 事件 风险原始信号
risk_cases 主实体 风险案件
blacklist_entities 主实体 确认拦截对象
audience_snapshots 快照 某次人群生成结果
audience_exclusions 快照 排除原因
channel_route_decisions 决策 渠道路由
channel_dedup_records 决策 跨渠道去重
interaction_recheck_records 决策 每次有效互动重判

9. P1主流程可走但没有它们会粗糙且难复盘

对象 类型 关键用途
im_interaction_records 事件 IM 细节
im_flow_tags 事件/派生 IM 流程流转
edm_message_events 事件 EDM 打开/点击/回复/退订
edm_user_behavior_profiles 快照 EDM 画像
app_touch_events 事件 APP Push 触达
tel_call_records 事件 电话全记录
support_followups 事务 答应配合跟进
support_assignment_logs 事件 分配与升级
review_submission_records 事件 用户真实提交评价
review_display_checks 结果 Amazon 展示核验
exemption_plans 主实体 免评计划
exemption_plan_tasks 事务 免评任务
creator_content_records 事件 KOC/KOL 内容
exemption_result_snapshots 结果 免评结果
amazon_refund_records 事件 Amazon 退款
oa_refund_records 事件 OA 返款
refund_match_results 结果 双重退款比对

10. P2管理、效率与治理增强

对象 类型 关键用途
attendance_records 事务 出勤
shift_schedules 事务 排班
support_goal_records 事务 目标
support_performance_snapshots 快照 绩效
manual_review_tasks 事务 人工复核
interaction_audit_logs 审计 高敏动作审计

第四部分:完整字段字典

11. 真实人与身份层

11.1 person_profiles

字段 类型 说明
person_id PK 真实人唯一标识
created_at datetime 首次识别时间
updated_at datetime 最近归并更新时间
merge_confidence enum 高/中/低
status enum 正常/观察中/已确认风险
primary_country string 当前主要国家
primary_language string 当前主要语言
latest_active_at datetime 最近活跃时间
lifetime_review_submitted_count int 累计真实提交评价数(跨账号合并)
current_risk_level enum 当前风险等级
字段 类型 说明
link_id PK 关联记录 ID
person_id FK → person_profiles 所属真实人
identity_type enum JOYHUB_ID / EMAIL / PHONE / DEVICE / AMAZON_PROFILE / NAME_ADDRESS / PAYMENT / ORDER
identity_value_hash string 匹配索引
identity_value_encrypted string 仅在必要时保存的加密原值
link_strength enum 强/弱
confidence_score decimal 归并置信度
evidence_summary text 命中依据摘要
first_seen_at datetime 首次发现时间
last_seen_at datetime 最近确认时间
source_type enum AMAZON_ORDER / JOYHUB / MANUAL / TEL / EMAIL / CS_TICKET
is_active bool 是否仍有效

11.3 归并口径

场景 数据处理
标准化后姓名+地址完全一致 直接归并到同一真实人link_strength=STRONG
地址一致但姓名不同 记录弱关联,不直接合并
多个线索交叉命中 形成候选归并,记录证据和置信度
只有单个弱线索 不做直接归并,只写风险信号

11.4 contact_context_snapshots

字段组 字段 来源
快照元数据 snapshot_idperson_idsnapshot_attrigger_event 系统
当前身份 joyhub_ids[]emails[]phones[]devices[]amazon_profile_ids[] 身份关联
归并摘要 standardized_name_addresslinked_person_countmerge_confidence 真实人/身份关联
历史交易 total_orderslast_order_attotal_refundstotal_oa_refundstarget_asin_purchases[] 订单/返款
历史服务 total_ticketslast_ticket_attotal_callslast_call_atopen_promises[] 工单/电话
历史风险 blacklist_hitsstrong_associationsweak_associationsfraud_casesdouble_refund_flags 风险层
当前设备 device_countlatest_device_modelapp_versionrecent_device_change APP/设备
触达历史 im_recent[]edm_recent[]app_recent[]tel_recent[] 渠道事件

12. 画像、额度与人群层

12.1 person_feature_snapshots

字段组 代表字段
快照元数据 feature_snapshot_idperson_idsnapshot_atfeature_version
基础画像 countrymarketplacelanguagegenderage_bandregistered_at
产品关系 bound_toy_countbound_categories[]target_product_relation
交易画像 total_orderslast_order_atpurchase_frequencybought_target_asin
行为画像 activity_scoreopen_rateclick_ratereply_ratereview_ratecooperation_rate
触达画像 im_reachableedm_reachableapp_reachabletel_reachablelast_touch_at
风险画像 risk_levelblacklist_hitstrong_link_countweak_link_countrefund_anomaly_flag
计划画像 joined_plan_types[]last_plan_resultlifetime_review_submitted_count

12.2 三类画像用途

用途 说明 示例
硬过滤 决定能不能进入人群池 黑名单、退订、强关联、超额、站点不符
匹配条件 决定适不适合当前计划 国家、性别、年龄段、绑定玩具、是否买过目标 ASIN
排序权重 决定优先触达谁 活跃度、历史配合率、最近互动、打开/点击行为

12.3 person_quota_ledgers

HANDOFF用户运营核心控制规则。 "4+4+12"全部按真实人统计,跨所有关联账号合并计算。一个人不管有几个 JOYHUB ID、几个 Amazon 账号——只要归并到同一个真实人,都受同一套额度控制。

示例:真实人关联 3 个 JOYHUB IDA/B/CA 上提交 5 个 + B 上提交 4 个 + C 上提交 3 个 = 累计 12全部账号停回评/测评,后续仅免评。

字段 类型 说明
ledger_id PK 台账记录 ID
person_id FK → person_profiles 真实人
period_key string 自然月,如 2026-05
quota_type enum MONTHLY_REVIEW / MONTHLY_EXEMPTION / LIFETIME_REVIEW
quota_limit int 4 / 4 / 12
used int 已完成
in_progress int 进行中
reserved int 已预占
available int 剩余可用 = limit - used - in_progress - reserved
updated_at datetime 最近更新

12.4 quota_reservations

字段 类型 说明
reservation_id PK 预占记录
person_id FK 真实人
plan_id FK 关联计划
quota_type enum 测评/免评
reserved_count int 预占数量
reserved_at datetime 预占时间
expires_at datetime 过期释放时间
status enum 已预占/已使用/已释放/已过期

12.5 audience_snapshots

字段 类型 说明
snapshot_id PK 人群快照 ID
plan_id FK 计划
batch_id string 生成人群批次
person_id FK 真实人
match_score decimal 匹配得分
match_reasons JSON 命中画像条件
quota_status enum 充足/预警/超限
risk_status enum 正常/弱风险/强风险
priority_rank int 触达优先级
feature_snapshot_id FK 当时引用的画像快照
snapshot_at datetime 快照时间

12.6 audience_exclusions

字段 类型 说明
exclusion_id PK 排除记录
plan_id FK 计划
batch_id string 批次
person_id FK 真实人
exclusion_reason enum BLACKLIST / UNSUBSCRIBED / QUOTA_EXCEEDED / FREQ_EXCEEDED / OPEN_TICKET / WRONG_COUNTRY / STRONG_RISK
excluded_at datetime 排除时间

12.7 为什么一定需要这些中间表

对象 如果没有会怎样
person_feature_snapshots 无法解释当时的画像依据
audience_snapshots 无法复盘某次计划到底选中了谁
audience_exclusions 无法解释为什么用户没被选中
person_quota_ledgers 4/4/12 规则无法跨账号统一计算
quota_reservations 多个计划并发时会重复占用同一人额度

13. 路由与互动复检层

13.1 channel_route_decisions

字段 类型 说明
route_decision_id PK 路由决策 ID
plan_id FK 计划
batch_id string 人群批次
person_id FK 真实人
candidate_channels JSON 候选渠道
selected_channel enum 实际选中渠道
excluded_channels JSON 被排除渠道及原因
decision_factors JSON 活跃、绑定、可达性、工单、额度、风险
decided_at datetime 决策时间

13.2 channel_dedup_records

字段 类型 说明
dedup_id PK 去重记录
person_id FK 真实人
plan_id FK 计划
selected_channel enum 保留渠道
suppressed_channels JSON 被抑制渠道
reason text 去重原因
created_at datetime 去重时间

13.3 interaction_recheck_records

每次有效互动后,记录本次重新做过哪些检查、结果是什么、为何继续或拦截。这是"每次互动重判"的落地证据。

字段 类型 说明
recheck_id PK 复检记录
interaction_type enum IM / EDM / APP / TEL / CS / REFUND
interaction_id string 触发互动
person_id FK 真实人
context_snapshot_id FK 上下文快照
quota_snapshot_ref string 额度快照引用
risk_case_id FK 关联风险案件
identity_result enum 正常/新增关联/冲突
history_result enum 无变化/有更新
quota_result enum 充足/预警/超限
risk_result enum 正常/弱风险/强风险
final_action enum 继续/降级/转人工/暂停
checked_at datetime 复检时间

14. 风险层

14.1 risk_signals

字段 类型 说明
signal_id PK 风险信号 ID
person_id FK 真实人
signal_type enum STRONG_HIT / WEAK_HIT / DOUBLE_REFUND / DEVICE_ANOMALY / ADDRESS_ANOMALY / BLACKLIST_HIT
hit_dimensions JSON 命中维度
source_event_id string 触发事件
created_at datetime 产生时间
resolved_at datetime 解除时间
resolution enum 确认风险/误报/观察中

14.2 risk_cases

字段 类型 说明
case_id PK 风险案件
person_id FK 真实人
source_type enum CS_TICKET / TEL_CALL / PUSH_RESPONSE / REFUND / MANUAL
source_id string 来源对象
status enum 待复核/复核中/确认诈骗/排除/已同步黑名单
reviewer_id FK 复核人
reviewed_at datetime 复核时间
sync_status enum 未同步/同步中/已同步/同步失败

14.3 blacklist_entities

字段 类型 说明
blacklist_entity_id PK 黑名单实体
entity_type enum 邮箱/电话/设备/Profile/收款信息/真实人
entity_hash string 匹配索引
risk_level enum 风险等级
source_case_id FK 来源案件
synced_at datetime 同步时间
status enum 生效/失效/待复核

14.4 manual_review_tasks

字段 类型 说明
task_id PK 人工复核任务
person_id FK 真实人
source_type enum 风险/额度/渠道/退款
source_id string 来源对象
task_reason text 复核原因
status enum 待处理/处理中/已完成/已关闭
owner_id FK 负责人
created_at datetime 创建时间

15. 渠道事件层

15.1 im_interaction_records

字段 类型 说明
im_record_id PK IM 记录
person_id FK 真实人
joyhub_id FK JOYHUB 账号
plan_id FK 关联计划
action_type enum PUSH_CARD / USER_SUBMIT / USER_REPLY / REMINDER / NOTIFICATION
card_type enum REVIEW_CARD / EVALUATION_CARD / EXEMPTION_CARD / REMINDER_CARD
user_submitted_data JSON 订单号/返款账号/截图链接(涉密加密存储)
order_validation_result enum 通过/非测评单/非公司产品/格式错误/已撤销/已退款
tag_changes JSON 本次产生的标签变化
created_at datetime 事件时间

15.2 im_flow_tags

字段 类型 说明
flow_tag_id PK 流程标签记录
person_id FK 真实人
tag_code string 流程标签
source_im_record_id FK 来源 IM 事件
effective_from datetime 生效时间
effective_to datetime 失效时间

15.3 edm_message_events

字段 类型 说明
edm_event_id PK EDM 事件
person_id FK 真实人
email_hash string 邮箱索引
campaign_id FK 邮件任务
event_type enum SENT / DELIVERED / OPENED / CLICKED / REPLIED / BOUNCED / UNSUBSCRIBED / COMPLAINED
event_at datetime 事件时间
click_target string 点击目标

15.4 edm_user_behavior_profiles

字段 类型 说明
profile_id PK EDM 行为画像
person_id FK 真实人
latest_open_at datetime 最近打开
latest_reply_at datetime 最近回复
open_count_total int 累计打开次数
zero_open_last_3 bool 最近 3 次 0 打开
zero_open_last_5 bool 最近 5 次 0 打开
clicked_review_link_without_reply_hours int 点击评论链接但未回复时长
monthly_receive_count int 当月收信次数
mail_type_counts JSON 各邮件类型发送次数
mailbox_domain string 邮箱后缀
is_unsubscribed bool 是否退订
has_hard_bounce bool 是否硬退信
snapshot_at datetime 快照时间

15.5 app_touch_events

字段 类型 说明
app_event_id PK APP 事件
person_id FK 真实人
joyhub_id FK JOYHUB 账号
push_type enum PUSH / IN_APP / BANNER / POPUP
event_type enum SENT / DISPLAYED / CLICKED / DISMISSED / UNINSTALLED
landing_page string 落地页
event_at datetime 事件时间

15.6 tel_call_records

字段 类型 说明 涉密
tel_record_id PK 电话记录 -
person_id FK 真实人 -
ticket_id FK 关联工单 -
call_direction enum INBOUND/OUTBOUND -
call_source enum AMAZON_PAGE/MANUAL/PLAN_TASK/FOLLOWUP -
phone_hash string 电话索引
call_at datetime 通话时间 -
duration_seconds int 通话时长 -
call_result enum CONNECTED/NO_ANSWER/WRONG_NUMBER/DECLINED -
has_after_sale_issue bool 是否有售后 -
issue_type enum 问题类型 -
issue_description text 问题描述 -
solution text 处理方案 -
is_resolved bool 是否解决 -
is_satisfied bool 是否满意 -
invited_review bool 是否邀请回评/测评 -
user_accepted bool 是否接受 -
agent_id FK 客服 -

16. 客服层

16.1 support_tickets

字段 类型 说明
ticket_id PK 工单
person_id FK 真实人
ticket_type enum 差评跟进/测评跟进/回评跟进/紧急Listing/电话/售后/诈骗样品/KOL进度
source enum AMAZON_OP/BRAND_OP/SYSTEM_AUTO/PUSH_ESCALATION/USER_REPLY/TEL_INBOUND
source_id string 来源对象
ticket_status enum 待分配/已分配/处理中/等待用户/等待内部/已解决/疑似诈骗/已关闭
assigned_team FK 客服组
assigned_agent FK 客服
created_at datetime 创建时间
first_response_at datetime 首次回复
resolved_at datetime 解决时间
closed_at datetime 关闭时间
context_snapshot_id FK 创建时上下文快照

16.2 support_followups

字段 类型 说明
followup_id PK 跟进
ticket_id FK 工单
person_id FK 真实人
followup_status enum 已答应配合/待分配/待提醒/等待提交/已提交评价/已提交反馈/超时/需再次联系/已关闭
promised_at datetime 承诺时间
reminder_count int 已提醒次数
last_reminder_at datetime 最近提醒
deadline_at datetime 截止时间
submitted_at datetime 实际提交
submission_type enum 评价/反馈

16.3 support_assignment_logs

字段 类型 说明
assignment_log_id PK 分配日志
ticket_id FK 工单
from_owner_id FK 原负责人
to_owner_id FK 新负责人
assign_type enum 自动分配/组长分派/转派/升级
reason text 原因
created_at datetime 分配时间
字段 类型 说明
link_id PK 桥接 ID
plan_id FK 计划
task_type enum IM_TASK/EDM_TASK/APP_TASK/TEL_TASK/CS_TASK/KOC_TASK
task_id string 各渠道任务 ID
created_at datetime 创建时间

17. 评价与退款结果层

17.1 review_submission_records

字段 类型 说明
submission_id PK 提交记录
person_id FK 真实人
plan_id FK 计划
channel enum IM/EDM/APP/TEL/CS
source_event_id string 来源事件
submitted_at datetime 提交时间
submission_evidence JSON 截图/链接
order_number_hash string 订单索引
quota_counted bool 是否已计入 12提交时即为true

17.2 review_display_checks

字段 类型 说明
check_id PK 核验记录
submission_id FK 提交记录
asin string ASIN
check_at datetime 核验时间
is_displayed bool 是否展示
is_verifiable bool 是否可核验
display_status enum 展示确认/未展示/待核验
plan_completed bool 是否计入计划完成展示确认后才为true

17.3 amazon_refund_records / oa_refund_records / refund_match_results

对象 关键字段
amazon_refund_records refund_idorder_number_hashasinrefund_amountrefund_atrefund_reason
oa_refund_records oa_refund_idperson_idorder_number_hashrefund_amountrefund_at
refund_match_results match_idorder_number_hashamazon_refund_idoa_refund_idmatch_statusamount_diffmatched_at

18. 免评结果层

18.1 exemption_plans

字段 类型 说明
exemption_plan_id PK 免评计划
source_request_id FK 来源需求
asin string ASIN
marketplace string 站点
goal_type enum 内容发布/引流/带货/权重
target_metrics JSON 目标点击、Code、订单、销量、权重
status enum 草稿/待审批/执行中/已完成/已关闭

18.2 exemption_plan_tasks

字段 类型 说明
task_id PK 免评任务
exemption_plan_id FK 免评计划
task_type enum KOC/KOL/IM/EDM/APP/内容协同
owner_id FK 负责人
status enum 待执行/执行中/已完成/异常
created_at datetime 创建时间

18.3 creator_content_records

字段 类型 说明
creator_content_id PK 内容记录
exemption_task_id FK 免评任务
creator_id string KOC/KOL
content_url string 内容链接
published_at datetime 发布时间
code_usage_count int Code 使用量
click_count int 点击量
order_count int 带货订单
sales_amount decimal 销售额

18.4 exemption_result_snapshots

字段 类型 说明
snapshot_id PK 免评结果快照
exemption_plan_id FK 免评计划
snapshot_at datetime 快照时间
content_published_count int 内容发布数
click_count int 点击
code_usage_count int Code 使用
order_count int 订单
sales_amount decimal 销售额
weight_change_summary text 权重变化摘要

19. 客服管理支撑层

对象 关键字段
attendance_records record_idagent_iddatescheduled_hoursactual_hoursstatus
shift_schedules shift_idteam_idagent_iddateshift_startshift_endmax_tickets
support_goal_records goal_idagent_idperiod_keygoal_typetarget_valuecurrent_value
support_performance_snapshots snapshot_idagent_idperiod_keytickets_handledmessages_sentfirst_response_avg_secrso_ordersrdo_ordersreviews_obtainedreview_completion_ratemonthly_targetmonthly_completed

20. 逻辑关系总图

erDiagram
    PERSON_PROFILES ||--o{ PERSON_IDENTITY_LINKS : "归并"
    PERSON_PROFILES ||--o{ PERSON_FEATURE_SNAPSHOTS : "画像"
    PERSON_PROFILES ||--o{ CONTACT_CONTEXT_SNAPSHOTS : "上下文"
    PERSON_PROFILES ||--o{ PERSON_QUOTA_LEDGERS : "额度台账"
    PERSON_PROFILES ||--o{ QUOTA_RESERVATIONS : "额度预占"
    PERSON_PROFILES ||--o{ RISK_SIGNALS : "风险信号"
    PERSON_PROFILES ||--o{ RISK_CASES : "风险案件"
    PERSON_PROFILES ||--o{ AUDIENCE_SNAPSHOTS : "人群入选"
    PERSON_PROFILES ||--o{ AUDIENCE_EXCLUSIONS : "人群排除"
    PERSON_PROFILES ||--o{ CHANNEL_ROUTE_DECISIONS : "路由"
    PERSON_PROFILES ||--o{ CHANNEL_DEDUP_RECORDS : "去重"
    PERSON_PROFILES ||--o{ INTERACTION_RECHECK_RECORDS : "互动复检"
    PERSON_PROFILES ||--o{ IM_INTERACTION_RECORDS : "IM"
    PERSON_PROFILES ||--o{ IM_FLOW_TAGS : "IM标签"
    PERSON_PROFILES ||--o{ EDM_MESSAGE_EVENTS : "EDM"
    PERSON_PROFILES ||--o{ EDM_USER_BEHAVIOR_PROFILES : "EDM画像"
    PERSON_PROFILES ||--o{ APP_TOUCH_EVENTS : "APP"
    PERSON_PROFILES ||--o{ TEL_CALL_RECORDS : "TEL"
    PERSON_PROFILES ||--o{ SUPPORT_TICKETS : "工单"
    PERSON_PROFILES ||--o{ SUPPORT_FOLLOWUPS : "跟进"
    PERSON_PROFILES ||--o{ REVIEW_SUBMISSION_RECORDS : "评价提交"
    PERSON_PROFILES ||--o{ MANUAL_REVIEW_TASKS : "人工复核"
    REVIEW_SUBMISSION_RECORDS ||--o{ REVIEW_DISPLAY_CHECKS : "展示核验"
    SUPPORT_TICKETS ||--o{ SUPPORT_ASSIGNMENT_LOGS : "分配"
    RISK_CASES ||--o{ BLACKLIST_ENTITIES : "同步"
    AMAZON_REFUND_RECORDS ||--o{ REFUND_MATCH_RESULTS : "退款比对"
    OA_REFUND_RECORDS ||--o{ REFUND_MATCH_RESULTS : "退款比对"
    EXEMPTION_PLANS ||--o{ EXEMPTION_PLAN_TASKS : "任务"
    EXEMPTION_PLAN_TASKS ||--o{ CREATOR_CONTENT_RECORDS : "内容"
    EXEMPTION_PLANS ||--o{ EXEMPTION_RESULT_SNAPSHOTS : "结果"
    REVIEW_PLANS ||--o{ PLAN_TASK_LINKS : "计划任务"
    SHIFT_SCHEDULES ||--o{ SUPPORT_TICKETS : "排班分配"
    ATTENDANCE_RECORDS }o--|| SHIFT_SCHEDULES : "出勤关联"

第五部分:数据流转

21. 关键流转时序

阶段 读(查) 说明
真实人识别 person_identity_links已有线索 person_profiles + person_identity_links新线索 每次互动都先跑
画像生成 person_profiles + 七组画像数据 + 各渠道事件 person_feature_snapshots 定期或触发式刷新
人群生成 person_feature_snapshots + person_quota_ledgers + risk_signals audience_snapshots + audience_exclusions + quota_reservations 快照当下状态
路由决策 audience_snapshots + 用户状态 + 渠道可达性 channel_route_decisions + channel_dedup_records 选定渠道+去重
渠道发送 channel_route_decisions + quota_reservations + risk_signals最新 各渠道事件表 发送前终校
用户回应 person_identity_links + person_quota_ledgers + risk_signals全部重读 interaction_recheck_records + 渠道事件表更新 + im_flow_tags 每次互动复检留痕
评价提交 person_quota_ledgers累计额度 review_submission_records + person_quota_ledgers+1 提交即计12
Amazon 展示确认 review_submission_records review_display_checks + 计划完成度更新 展示才计完成
退款/返款 amazon_refund_records + oa_refund_records refund_match_results + risk_signals如命中 双重退款检测

22. 每次有效互动的标准写入顺序

flowchart LR
    A["互动发生"] --> B["解析真实人<br/>读 person_identity_links"]
    B --> C["生成/更新上下文卡<br/>写 contact_context_snapshots"]
    C --> D["读取最新额度<br/>读 person_quota_ledgers"]
    D --> E["执行风险判断<br/>读 risk_signals + blacklist"]
    E --> F["写 interaction_recheck_records"]
    F --> G{"结果"}
    G -->|正常| H["继续业务"]
    G -->|预警| I["继续 + 高亮提醒"]
    G -->|拦截| J["暂停 + 转人工/风险链路"]

适用场景主动推送后回复、用户再次联系、补充订单号、客服回访、TEL 来电、退款/返款/再次触达前。


第六部分:设计决策与边界

23. 对象分类

类型 对象 原因
正式事务表 person_profilesperson_identity_linkssupport_ticketssupport_followupsrisk_casesreview_submission_recordsquota_reservations 需要增删改和业务状态流转
不可变事件表 im_interaction_recordsedm_message_eventsapp_touch_eventstel_call_recordsamazon_refund_recordsoa_refund_recordssupport_assignment_logsim_flow_tags 事实一旦发生不应被覆盖
快照表 person_feature_snapshotscontact_context_snapshotsaudience_snapshotssupport_performance_snapshotsexemption_result_snapshots 需要保留某一时点状态以便复盘
决策表 channel_route_decisionschannel_dedup_recordsinteraction_recheck_recordsrefund_match_results 保存系统当时为什么这样判断
聚合画像 edm_user_behavior_profiles 由事件聚合推导,定期刷新
可先做视图 当前剩余额度、当前风险摘要、当前上下文卡、当前人群统计看板、当前绩效看板 可由底层对象实时聚合

判断法

问题 如果答案是"是"
后续需要追责"当时为什么这么做"吗 建正式表或决策表
数据后来会变,但历史判断不能跟着变吗 建快照
只是为了当前页面展示吗 优先做视图
一旦发生就不该被覆盖吗 建事件表

24. 当前还不能只靠"老表扩列"解决的事情

问题 为什么不能只扩列
一个真实人多个账号 users 是账号级,不是人级
每次互动重判 不是用户静态属性,而是一次次决策事实
人群为什么入选/排除 不是计划表字段,而是某一批次结果
多计划并发占额度 需要独立预占
用户提交与展示拆分 不是一个布尔值能表达
退款比对 需要两个来源事实加一个比对结果
客服上下文 不是工单表本身,而是跨源聚合视图+快照

25. 当前可以先不做成物理表的内容

内容 当前建议
当前剩余额度 先由 person_quota_ledgers + quota_reservations 聚合成视图
当前风险摘要 先由 risk_signals + risk_cases + blacklist_entities 聚合成视图
当前客服上下文卡 前台读当前视图,关键接入动作时写 contact_context_snapshots
当前人群统计看板 先基于 audience_snapshots / exclusions 聚合
当前绩效看板 先基于工单、通话、跟进事件聚合,后续再沉淀快照

26. 外部数据引用原则

外部数据 所属系统 USER 当前做法
Amazon 订单全量明细 Amazon API/报表 导入关键字段,不把 USER 做成全量订单数仓
JOYHUB 用户行为明细 APP/用户系统 取摘要或增量同步,用于画像与上下文
黑名单全量数据 黑名单系统 引用并缓存关键维度,不重复建设
JOYCOLLAB 全量内容与带货明细 JOYCOLLAB 同步 USER 闭环所需结果摘要
财务/人事原始表 财务/人事系统 导入必要摘要,不替代源系统

27. 涉密字段处理

涉密字段 建议存储 建议查询
订单号 哈希索引 + 加密原值 常规用哈希匹配
邮箱 哈希索引 + 脱敏展示 普通页面不暴露明文
电话 哈希索引 + 加密原值 仅授权角色可揭示
姓名/地址 标准化值 + 哈希/指纹 归并与风险用指纹
设备号 哈希索引 归并/风险用哈希
IP 脱敏存储 仅用于弱关联
收款信息 加密存储 财务/风险授权查看
返款金额/提成 权限控制 财务角色优先

28. 快照策略

快照对象 生成时机 保留策略
person_feature_snapshots 定期刷新 + 人群生成前触发 保留最近 N 版 + 每次人群生成引用的版本
contact_context_snapshots 用户接入/工单创建/拨打前/风险升级 每次生成新快照,保留全量历史
audience_snapshots 人群生成时 每次计划保留
edm_user_behavior_profiles EDM 画像定时刷新 按刷新批次保留
support_performance_snapshots 每日/每周/每月 按周期聚合保留
exemption_result_snapshots 免评执行阶段性同步 按结果周期保留

第七部分:谁写谁读

29. 读写矩阵

对象 主要写入方 主要读取方 依赖它的动作
person_profiles 身份归并服务 用户运营、客服、风险 所有真实人级判断
person_identity_links 身份归并服务 风险、客服、订单核验 真实人识别
person_feature_snapshots 画像任务 人群生成、客服 画像筛选
contact_context_snapshots 上下文聚合服务 客服、用户运营 接入处理
person_quota_ledgers 额度服务 人群生成、渠道、客服 4/4/12 判断
quota_reservations 人群/计划服务 渠道、额度服务 发送前拦截
audience_snapshots 人群生成服务 计划、复盘 解释入选
channel_route_decisions 路由服务 推送、复盘 选渠道
interaction_recheck_records 互动复检服务 客服、风险、审计 决定继续/拦截
review_submission_records 客服/IM/TEL 额度、计划、客服 计入12
review_display_checks 运营/系统 计划、ASIN看板 计入完成
refund_match_results 退款比对服务 风险、客服、财务 拦截双重退款

30. 还需要确认但不阻塞第三步的事项

事项 影响
Amazon 订单同步频率最终是否为 10 分钟 影响订单/退款数据新鲜度
黑名单系统最终通过 API、表格还是消息同步 影响 blacklist_entities 同步方式
Amazon Profile ID 是否稳定获取 影响强关联覆盖率
APP 设备型号能否拿到具体型号还是只到类型 影响客服展示颗粒度
年龄字段来自注册资料还是推断 影响画像可信度
KOC/KOL 结果同步周期 影响免评结果快照频率

31. 第四步入口

  1. 把数据对象转成逻辑 ER 图:以 §20 的 Mermaid ER 图为基础明确主键、外键、1对多/多对多关系,区分复用旧表和新增表。
  2. 按关键链路补接口读写
    1. 真实人识别与上下文链路
    2. 人群/额度/路由链路
    3. 互动复检/风险链路
    4. 评价提交/展示与退款比对链路
    5. 免评结果链路
  3. 回到页面,把每一个点击绑定到明确的数据读写

32. 本版结论

v3 以 Codex v1.1 完整字段字典为主骨架,补入 v2 的流转时序表、写入顺序图和快照策略,形成最终统一主稿:

  1. 真实人 统一账号、订单、设备和风险
  2. 画像快照 解释人群生成
  3. 额度台账+预占 保护 4/4/12 规则(跨账号合并)
  4. 路由决策+去重记录 控制多渠道协同
  5. 互动复检记录 落实"每次有效互动都重判"
  6. 退款比对结果 识别双重退款
  7. 评价提交记录+展示核验 拆开用户事实和平台结果
  8. 免评计划→任务→内容→结果快照 让 KOC/KOL 闭环完整进入 USER 系统