Files
junhong_cmp_fiber/.scratch/ur48-asset-payment-methods/系统配置调研.md
2026-07-23 12:46:13 +09:00

8.5 KiB
Raw Blame History

tb_system_config 调研结论

结论

tb_system_config 确实是已确认的七月迭代公共基础需求,不是 UR#48 临时假定或需要重新发明的能力;但它在当前工作区仍是已规划、已拆票、未实现状态。

UR#48 应依赖公共基础的第 07、08 号票,不应复制系统配置表、注册表、缓存、超管权限、通用列表/更新 API 或审计壳层。UR#48 自己负责注册两个支付 Key、其值域与钱包不可移除规则以及资产展示、下单、支付、充值等支付业务校验。

已确认的七月迭代设计

已有公共基础 PRD 与票据

公共基础 PRD 已将“受控系统配置壳层”纳入交付范围,并明确当前 tb_system_config 尚未落地:tech-public-foundation/PRD.md:7同文件:25

  • 公共基础是 tb_system_config 和其公共索引、约束、必要初始化数据的唯一迁移所有者:tech-public-foundation/PRD.md:84
  • 公共壳层的责任包括受控注册表、超级管理员查询/更新、GORM 事务、Audit 接缝、五分钟 Redis 缓存与安全回退:同文件:154。其中明确划分UR#48 负责具体支付 Key、支付值域和启停校验公共基础只负责存储、注册、权限、缓存、API 和审计壳层:同文件:165
  • 当前仓库“没有公共 Outbox 和受控系统配置实现”的状态被 PRD 再次明确记录:同文件:259
  • 下游依赖表将 UR#48 明确列为受 tb_system_config、受控 Key 注册、缓存、权限、API 和审计壳层阻塞;并禁止下游复制临时配置中心:同文件:267同文件:283同文件:285

对应票据已存在、均为 ready-for-agent,但尚未勾选完成:

  1. 07 — 交付受控系统配置注册与查询闭环:被 01 号公共迁移门禁阻塞;只交付系统配置表、注册、缓存读取和超级管理员列表 API明确不注册支付具体 Key。07-controlled-system-config-read.md:1同文件:5同文件:11
  2. 08 — 交付系统配置更新、权限和审计闭环:被 07 号票阻塞;交付单 Key 更新、授权、校验、事务、缓存失效和审计接缝。08-controlled-system-config-update.md:1同文件:5同文件:11

因此UR#48 在真实执行顺序上至少依赖:公共基础 01 → 07 → 08UR#48 可在公共契约稳定后并行实现其支付领域部分,但不可先行落一套替代基础设施。

当前实现核查

截至当前 HEAD,仓库没有 SystemConfig 模型、tb_system_config 迁移、对应 PostgreSQL Store、通用系统配置 Handler/Route 或 pkg/sysconfig 读取包。作为对照,现存 internal/model/system.go 只定义 DevCapabilityConfig 等旧模型,其表名是 tb_dev_capability_config,不是 tb_system_configinternal/model/system.go:9同文件:23

迁移目录中也没有包含 tb_system_configc2b.payment 的 SQL 文件;清理脚本列出的现有“系统配置表”保留集合同样未包含 tb_system_configscripts/cleanup/main.go:38。这与公共 PRD 的“尚未落地”状态一致。

Git 历史

  • 七月迭代标准方案在提交 d022cc8788999c9e5426063907d6fe3c569bd22c2026-07-17迭代方案确认)中确认。
  • 公共基础 PRD 与票据在提交 21702da413979970989a0026ee0e5cbba248e47b2026-07-22创建相关issues)中加入;该提交新增第 07、08 号系统配置票据。
  • 对所有分支的 Git 历史及当前 Go、迁移、路由和 Store 路径检索,未发现将 tb_system_config 实现提交到仓库的证据;命中均为上述规划/票据/文档,或与通用系统配置无关的旧模型。

对 UR#48 拆票的影响

UR#48 不应再包含“建立公共系统配置能力”票。其首张业务票应改为“在公共基础 07、08 完成后,注册 c2b.payment.card_allowed_methodsc2b.payment.device_allowed_methods,并交付支付许可读取/安全默认/资产展示契约”;后续再按订单创建、固定方式支付与取消等完整业务纵向切片拆分。