5.7 KiB
5.7 KiB
评查点模块收尾清单
适用范围:
evaluation_points旧表仍在线、评查点模块已完成T5-1 ~ T5-5首轮 tenant-first 收口后的最终收尾阶段
更新日期:2026-05-21
文档定位:明确评查点模块距离“真正摆脱 area 主边界”还差哪些数据库、后端、前端、验收与风险动作。
1. 当前真实状态
评查点模块当前已经完成的不是“全量终态”,而是第一轮高风险收口:
- 读链路已经
tenant_code优先 - 写链路已经
tenant_code优先 - 共享域
PUBLIC / PROVINCIAL已经开始标准化 - 主链路角色判定已切到
data_scope + permission - 旧
area仍然是物理表兼容字段,不是最终可删除状态
也就是说:
- 现在已经能明显降低“写错租户、查错范围”的风险
- 但还不能说评查点模块已经彻底完成租户化
2. 收尾目标
评查点模块最终收尾只看 4 个结果:
evaluation_points具备真实tenant_code- 历史
area已完成可审计回填 - service 查询与写入不再把
area当主边界 area退化为展示/兼容字段,最后可评估下线
3. 数据库收尾项
3.1 必做
- 给旧表
evaluation_points补:tenant_code VARCHAR(64) NULLtenant_name VARCHAR(128) NULL
- 建索引:
idx_evaluation_points_tenant_codeidx_evaluation_points_group_tenant_code- 如编码唯一性要按租户收口,再评估
uq_evaluation_points_tenant_code_code_active
- 先不删
area - 先不加
NOT NULL
3.2 历史回填规则
统一按下面顺序:
- 已有合法
tenant_code保留 - 否则优先按
sys_tenant_aliases.alias_value -> tenant_code - 否则按
sys_tenants.tenant_name -> tenant_code - 否则按兼容值兜底:
公共/default/ 空值 ->PUBLIC省级/省局->PROVINCIAL
tenant_name与tenant_code一起回填
3.3 回填前预检
上线前必须先跑:
area值分布统计area无法映射租户编码的残留清单code在跨租户下是否允许重复的预检公共/省级/省局/default/空值数量统计
4. 后端收尾项
4.1 可以在数据库补字段后立即推进
ListPoints/GetPoint查询彻底改成:- 先按
tenant_code tenant_name/area仅在老数据回填不完整时 fallback
- 先按
CreatePoint/UpdatePoint默认要求落tenant_code/tenant_name_evaluation_point_tenant_code_expr()可从“兼容表达式”逐步收窄到真实列_tenant_scope_match_sql()的旧中文兼容匹配可以继续缩薄
4.2 等历史回填完成后再推进
- 去掉读链路里对
公共/default/空值/省局/省级的多值 fallback - 去掉写链路里
area作为最终归属镜像字段的必要性 - 评估把
GetPoint/ListPoints的共享域判断统一下沉到模块 policy
5. 前端收尾项
5.1 必查
- 评查点列表页是否还传
area - 新建/编辑页是否还允许手填地区文本
- 详情页是否仍以
area为主展示归属 - 查询缓存 key 是否仍含旧
area
5.2 目标状态
- 查询主参数只传
tenant_code - 展示层显示
tenant_name area最多只作为历史记录兼容显示
6. 验收清单
6.1 数据验收
evaluation_points中tenant_code非空占比可统计PUBLIC / PROVINCIAL记录数量可统计- 未映射记录清单可导出
6.2 行为验收
- 本租户管理员只能看到本租户 + 共享域评查点
- 本租户管理员不能把评查点改挂到其他租户
- 全局用户创建非共享评查点,必须显式指定
tenant_code - 共享域列表读取优先命中标准编码,不再先靠中文值
- 新建一个自定义租户后,可正常筛选该租户评查点
6.3 回归验收
- 旧数据中
公共/default/空值仍可见 - 旧数据中
省级/省局仍可见 - 评查点分组联动不回归
- 编码唯一性行为不意外变化
7. 剩余风险
高风险
- 如果数据库不先补
tenant_code,代码层再怎么 tenant-first,也只能停留在兼容态 - 如果历史回填不先跑,查询口径会长期停在“标准编码 + 中文兼容混合”阶段
中风险
- 若前端仍持续提交
area,会延长兼容期 - 若共享域中文常量在别的模块也继续扩散,会影响后续统一执行器接入
低风险
tenant_name展示名后续调整可能影响少量历史展示,不应影响真实边界
8. 推荐执行顺序
- 先执行评查点
tenant_code补字段与历史回填脚本 - 再做一次评查点接口联调
- 再收掉 service 内最厚的
areafallback - 最后把这条链接到统一数据范围执行器
9. 本轮直接产物
本轮已新增两份配套产物:
- 本文档:评查点模块收尾清单.md
- 数据库草案:schema_evaluation_points_tenant_cleanup.sql
- 执行说明与验证清单:评查点数据库执行说明与验证SQL.md
- 执行前预检 SQL:precheck_evaluation_points_tenant_cleanup.sql
- 预检结果判读模板:评查点预检结果判读模板.md