You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.2 KiB

06 — crm-dict/CONTEXT.md 与 ADR-0015 补记

Type: task (AFK) Status: resolved (20260907) Blocked by: 03

Question

按票 03 的拍板结论更新领域文档(纯文档,不动代码):

  1. crm-dict/CONTEXT.md 补「二级字典项」领域语言(对齐票 09 已实现的 parentId 两级树 + 原型 a7-5-1 §6 使用规则:独立编码行、两级联动、业务存所选行编码)。
  2. crm-dict/CONTEXT.md「被引用」条目修正:现行「被引用 ⇒ 分组与字典值不可修改」是原型 a7-4-1 旧口径;a7-5-1 已放宽为字典键值始终可改(被引用只锁字典分组)。以票 03 拍板口径为准。
  3. docs/adr/0015 若与拍板结论冲突(默认项停用规则、编码唯一范围、权限口径),补一节「202609 原型对齐修订」记录口径变化,不重写历史。

验收:CONTEXT.md 语言与拍板结论零冲突;ADR 补记可追溯。

Answer(2026-09-07)

crm-dict/CONTEXT.md 词条修订(7 处,逐条对照票 03 拍板)

  1. 导语:「两级平铺结构」→「两级结构(分组 → 字典项),字典项之间可再挂一级/二级父子(parentId 两级树)」,与拍板 10 / 票 09 落地模型对齐。
  2. 新增「二级字典项」词条:parentId 指向同分组一级项、两级封顶;每个二级项为独立字典行(独立编码);业务页面两级联动、业务数据保存所选行的字典编码;停用一级项二级连带不可选、删有存活子项的一级项被拦;管理端维持 parentId 模型(拍板 10)。措辞融合票 09 拍板与 a7-5-1 §6(R-I13)。
  3. 「字典项」:「全局唯一」→「组内唯一」(拍板 7:编码唯一范围维持组内);补 parentId=null 即一级项的指路。
  4. 「被引用」(拍板 4/6):由「其分组与字典值不可修改」改为锁两件事——删除(强制删除除外)与换分组(拦截「该字典已被引用,不可修改」);字典名称与字典键值被引用后仍可改(业务只存编码,键值属展示/取值层),原「被引用 ⇒ 值只读」口径注明废止。
  5. 「默认项」(拍板 2):补禁停规则——/status 端点与编辑保存两条停用路径均拦截(63013「该字典为分组默认项,请先取消默认或指定其他默认项」),替代旧「停用即取消默认」;分组停用默认休眠、启用自动恢复语义注明不变。
  6. 「字典值」(拍板 3):改必填(空白直接拒绝、不再归一 null;存量空值行编辑时需补值),删「空值不参与唯一校验」旧口径;注明原型页称「字典键值」。
  7. 「字典编码」(拍板 3 微调):注明前端按原型标必填星号、后端保留 dict_+UUID 自动生成兵底(与本就写明的自动生成条款无冲突,仅显式化)。

票 07 已更新的「引用计数」「名称回显」两词条逐字保留,未动。

docs/adr/0015 补修订节

文末追加「## 修订(2026-09-07,dict-alignment effort)」(仿 ADR-0024 体例,append-only、不重写历史,diff 13 增 0 删),8 条:

  1. 默认项禁停(63013)替代停用自动取消默认(推翻 Default Item / Status Semantics 两处旧述);
  2. 字典键值必填(存量空值行补值;唯一索引形态不变);
  3. 键值被引用后可改(US-25 值只读废止);
  4. 未被引用可换分组(推翻「任何时候都不可换分组」收窄;目标组启用 + 编码/键值双重唯一重校验 + 计数行随迁同事务;有存活子项的父项禁换);
  5. 分组编辑弹窗可改状态(saveOrUpdate 解锁 status;禁停拦截覆盖两条路);
  6. ref_count 全量接线三业务模块(applyFieldChange 缝 + 导入聚合 batchApply);
  7. 零改动确认(字典编码组内唯一、分组编码全局唯一、dict:* 权限点体系维持);
  8. 追记票 09 parent_id 两级树——标题「锁定两级平铺 / 不加 parent_id」按此修订理解,拍板 10 维持模型。

验收自查:CONTEXT.md 语言与 12 项拍板逐条对照零冲突;ADR 补记每条注明被修订的原节,可追溯。map.md 未动(主会话统一回写)。写盘均 UTF-8 无 BOM、LF。