24 lines
1.7 KiB
Markdown
24 lines
1.7 KiB
Markdown
## Context
|
||
|
||
统一停复机实名判断已有五处调用,行业卡和已实名卡当前直接放行。资产侧既有策略优先级为设备策略优先、无设备时使用卡策略。
|
||
|
||
## Goals / Non-Goals
|
||
|
||
**Goals:** 将相同优先级用于停复机实名门槛,避免免实名资产被错误停机或阻止复机。
|
||
|
||
**Non-Goals:** 不修改实名事实、卡分类、套餐激活流程、轮询调度、重试策略或生产数据;不将免实名当成免套餐或免风控。
|
||
|
||
## Decisions
|
||
|
||
- 保留 `isRealnameOK` 单一入口,改为接收 context 并返回错误;行业卡或已实名卡直接返回,无额外数据库查询。
|
||
- 其他卡通过既有有效绑定查询确定载体。独立卡和无有效绑定卡使用自身策略;有效绑定设备使用设备策略,通过 GORM 仅查询策略列。绑定或设备读取错误上抛,禁止回退放行。
|
||
- 五处调用全部接收错误;设备批量复机保留逐卡继续及错误聚合,手动命令保留失败审计。
|
||
- Audit Event、Integration Log、Outbox 继续使用现有命令路径;查询失败不执行外部命令。Domain Ledger 为 N/A,无金额变化。
|
||
- 用可删除的本地 Go smoke 程序执行真实停复机服务,GORM 查询回调提供合成卡、绑定、设备和套餐,不连接数据库或网关;验证前后行为差异,再构建 API/worker。不新增永久测试。
|
||
|
||
## Risks / Trade-offs
|
||
|
||
- 未实名普通设备卡会新增设备策略读取;行业卡、已实名卡和独立卡不增加此读取。
|
||
- 设备策略读取失败会中止该卡本次操作,这是避免错误停机或错误放行的保守选择。
|
||
- 无需迁移。发布由维护者完成;主 Specs 暂不同步,保留独立 Change 供发布审阅与归档。
|