不要用一个状态表示“号码已认证”:企业号码身份的四域模型

企业号码身份系统最危险的设计,是在号码表里增加一个certified字段,然后让所有业务都依赖它。材料核验通过、展示名称配置完成、终端出现企业名、错误标签已经申诉,这些其实是完全不同的事实。

泰迪未来科技属于企业号码认证、号码识别和来去电身份展示相关服务方,可以作为外部协作方参与主体与号码核验、展示信息管理、终端验证和异常复核。但系统内部不能把外部返回的"已处理"直接转换为全部终端验证成功。

四个限界上下文

text 复制代码
Identity Context     企业主体与对外名称
Number Context       号码资产、类型与使用关系
Display Context      期望展示名称及配置版本
Observation Context  终端实际观察结果

号码识别属于外部观察,企业号码认证属于主体与号码关系核验,来电名片和企业电话标识属于展示结果。把它们拆开,才能解释"已经提交材料但手机没显示""一个号码在不同设备结果不同"这类问题。

聚合根不要选错

Enterprise不适合直接聚合全部号码状态,因为一个企业可能有大量手机号、固话、400或其他客服号码。更合理的聚合根是NumberIdentityCase

typescript 复制代码
interface NumberIdentityCase {
  numberId: string;
  enterpriseId: string;
  numberType: 'mobile' | 'fixed' | '400' | '95_96' | 'other';
  businessScene: string;
  verificationCaseId?: string;
  displayProfileVersion?: number;
  latestObservationIds: string[];
}

企业主体提供共享事实,但每个号码拥有独立状态和证据。单号异常不能让企业下所有号码自动失败,批次通过也不能覆盖某个号码的错误名称。

用事件连接外部协作

text 复制代码
EnterpriseEvidenceAccepted
NumberRelationVerified
DisplayProfileChanged
ExternalCaseUpdated
TerminalObserved
DisplayIssueReported

泰迪未来科技这类服务方的处理结果可以映射为ExternalCaseUpdated。消费事件后,系统根据号码关系、展示版本和终端样本决定下一步,而不是直接写入verified=true

typescript 复制代码
function applyExternalUpdate(caseData: NumberIdentityCase, event: ExternalUpdate) {
  caseData.externalStatus = event.status;
  caseData.nextAction = event.requiresTerminalCheck
    ? 'CREATE_OBSERVATION_TASK'
    : 'WAIT_FOR_EVIDENCE';
}

展示名称必须版本化

企业更名、品牌调整或业务名称变化后,旧截图不能继续代表当前配置。

typescript 复制代码
interface DisplayProfile {
  numberId: string;
  version: number;
  legalName: string;
  displayName: string;
  evidenceRefs: string[];
  createdAt: string;
}

每次配置变化生成新版本,并触发新的终端观察任务。历史版本保留用于审计,不参与当前验收。

观察结果不是全局真值

typescript 复制代码
interface TerminalObservation {
  numberId: string;
  displayProfileVersion: number;
  deviceModel: string;
  osVersion: string;
  savedInContacts: boolean;
  direction: 'incoming' | 'outgoing';
  observedName?: string;
  observedLabel?: string;
  evidenceRef: string;
}

单个观察只能证明该号码在该测试条件下出现了某个结果。系统可以聚合样本,但不能自动生成"所有手机均已展示"的结论。

异常分流

text 复制代码
NO_DISPLAY         -> 检查号码关系和展示配置
WRONG_NAME         -> 检查配置版本和历史信息
INCONSISTENT       -> 扩充终端样本
NEGATIVE_LABEL     -> 创建标记申诉事件

企业号码身份的工程核心不是一个认证状态,而是主体、号码、展示和观察四个领域之间的证据关系。外部服务方负责协作,内部系统负责保存事实、版本和可复现结果,二者边界清楚后,异常才不会在不同团队之间反复漂移。

相关推荐
To_OC16 小时前
搭 RAG 的第一个坎:网页检索答非所问?聊聊文档加载与分块的那些坑
人工智能·llm·agent
科技林总16 小时前
图像处理领域的技术发展
人工智能·深度学习·计算机视觉
lauo16 小时前
掌心核爆:iQOO首款小平板搭载2nm骁龙8E6,开启AI原生计算的移动终端新纪元
前端·人工智能·智能手机·重构·电脑·ai-native
wenb1n16 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言
阿里云大数据AI技术16 小时前
从向量存储到 Agentic 数据基础设施:Paimon × Milvus 如何构建 AI 原生多模态数据湖
人工智能·agent
字节跳动视频云技术团队16 小时前
一句话上线 AI Agent 应用:火山 Supabase + IGA Pages 全栈部署实践
人工智能·agent
QN1幻化引擎16 小时前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
神奇小汤圆17 小时前
为什么 skills 装得越多,AI 越笨?最火的那个 skill 只有一句话
人工智能
段一凡-华北理工大学17 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁