Files
break 54c4ec7ba4
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 14m42s
fix(设备实名): 无当前卡时按绑定卡实名回退并初始化单槽当前卡
- 设备资产解析外层 real_name_status:存在当前使用卡时沿用该卡状态,无任何当前卡时任一有效绑定卡已实名即视为已实名
- 手工绑定与设备导入:设备最大槽位为 1 且有效绑定唯一时,在同一事务内将该绑定初始化为当前使用卡;多卡设备不推断
- 同步 asset-device、personal-customer 主 Spec;归档变更并附存量核对清单(75 条单槽唯一待修复绑定,其中 16 条已实名)
2026-09-18 17:49:12 +08:00

29 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Why
C 端设备资产信息 `GET /api/c/v1/asset/info` 的外层 `real_name_status` 只取「当前使用卡」(`is_current=true` 的绑定),无当前卡即返回未实名。而 `is_current` 仅在 Gateway 观测成功后写入,导入与手工绑定创建时恒为 false。于是从未与 Gateway 建立有效观测的设备长期「无当前卡」,即使绑定卡已完成实名,对外仍显示未实名(生产确认:设备 19090 的绑定 36730 `is_current=false``tb_device.last_gateway_sync_at` 为空,卡 131609 `real_name_status=1`)。同口径下生产现有 76 台设备受此影响,且设备卡列表中的「当前卡」标识同样为空。
## What Changes
- 设备资产信息外层 `real_name_status`:存在 `is_current=true` 的有效绑定时沿用该卡状态(不推翻既有当前卡语义);设备没有任何当前卡时,回退为「任一有效绑定卡已实名即视为设备已实名」,不再一律返回未实名。
- 设备绑定卡创建:当设备最大槽位为 1 且创建后仅存在一条有效绑定时,将该绑定初始化为当前卡;多卡设备的当前卡判定仍由 Gateway 观测与切卡流程写入,不由绑定时猜测。
- 提供只读核对口径与受控人工修复步骤,用于按上述规则修复存量单槽单卡设备的当前卡标识;生产写入由维护者按生产运行说明执行。
- 不改变卡列表的逐卡实名返回、实名链接目标卡选择、设备激活状态判定,以及管理端设备列表既有的「任一有效绑定卡已实名」筛选口径。
- 不改变有当前卡时的既有判定结果。
## Capabilities
### New Capabilities
- 无。
### Modified Capabilities
- `personal-customer`: 设备资产信息在没有当前使用卡时的实名状态判定。
- `asset-device`: 单槽单卡设备绑定时的当前卡标识初始化,以及存量当前卡标识缺失的核对与受控修复口径。
## Impact
- 影响 `internal/service/asset`(设备资产解析的外层实名判定)与设备绑定创建路径 `internal/service/device``internal/task`(设备导入)。
- 生产影响面(只读核对):有有效绑定的设备 19031 台,其中 639 台无当前卡639 台里 76 台存在已实名绑定卡16 台为单槽单卡),修复后其 C 端设备实名展示由未实名变为已实名。
- 不涉及 Schema 改动、迁移、外部接口契约、金额、库存与状态机。