邮件标题:20261021-技术评审-营销活动中心-工厂状态落库口径修正改用个性层PERSON_STATUS
邮件正文:
晓娜、建新:
已完成针对【工厂状态落库口径修正(改用个性层 PERSON_STATUS)技术方案】的技术评审,现将评审结论、风险判断及后续执行安排同步如下,便于各方对齐认知并落实执行。
项目名称: 营销活动中心
评审时间: 2026-10-21
参与评审人: 马奇、李明非、郝梓斐、王建朝、贾继伟、朱学通、张建利、余建新、宋洋、王林
评审结果: 通过
一、技术方案背景
- 业务场景:工厂主数据源视图同时下发头层状态 STATUS 与个性层状态 PERSON_STATUS,两者可能不一致;当前营销活动中心落库取的是头层 STATUS,业务上应以工厂个性层状态为准。经核查工厂有效无效字段目前无对外接口使用,本次口径修正不涉及业务逻辑变更。
二、技术方案要点
- 整体流程:主数据视图下发头层 STATUS 与个性层 PERSON_STATUS → relay 中间表定时推送 → Dubbo 同步服务 → FactoryConvert 转换(statusCode 改取个性层 PERSON_STATUS,头层 STATUS 改映射至新增 basicStatusCode)→ factory 表落库(status_code 存业务有效状态,新增 basic_status_code 列存头层状态备份)→ 上线前以初始化 SQL 将存量 status_code 整体备份至新列。业务侧字段名与列名保持不变,读取逻辑无需改动。
三、决议事项
- 补充字段与代码注释:在 factory 表列注释、FactoryDTO 与 Factory 实体注释、FactoryConvert 映射处写明 status_code 落库取自主数据个性层 PERSON_STATUS、basic_status_code 仅存头层 STATUS 作备份,并说明本次调整原因,避免后续对数时再次混淆。
- 初始化 SQL 先在测试环境全量执行验证:新增 basic_status_code 列并将存量 status_code 整体备份。
- 改动时补充备份表逻辑,变更生产 factory 表数据前先整体备份生产表,确保可回溯,。
- 底座侧同源问题(同样取错值、同样处理方案)必须与营销活动中心同步改造,不能在 PG 切换时遗漏。
四、风险提示
- 同一库内状态字段语义反转:改后 status_code 存的是个性层状态,而其他从主数据同步的表仍统一以 status_code 存头层状态,两套口径并存;且本次保留双列正是为规避「将来工厂单独区分有效无效时字段被误用」,后续核对与使用时仍易误判,需依赖本次补充的注释约束。
- 字段命名与业务含义不直观:工厂表使用 person_status 表示个性层(事业部层)状态,为主数据侧多年前的模型设计,后续维护者易误读,须靠注释说明。
五、方案地址
https://yldc.coding.yili.com/p/sip-mac/wiki/54850
https://yldc.coding.yili.com/p/sip-marketing-portal/wiki/489