feat: 资产解析接口新增实名时间字段
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m5s

- AssetResolveResponse 新增 real_name_at 字段:card 类型取 first_realname_at,device 类型取绑定卡中最小的实名时间
- BoundCardInfo 新增 real_name_at 字段:各卡自己的 first_realname_at
- RefreshCardDataFromGateway 手动刷新路径补写实名时间:检测到 0→1 变化时同步写入 first_realname_at
- 同步更新 asset-resolve 规格文档

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-09 12:12:28 +08:00
parent fce35e8a2d
commit 6dfc5c0301
9 changed files with 230 additions and 8 deletions

View File

@@ -0,0 +1,31 @@
## Why
后台资产详情(卡视角和设备视角)缺少实名时间字段,运营人员无法直观判断资产何时完成实名,影响客服处理和问题排查效率。
## What Changes
- `GET /api/admin/assets/resolve/:identifier` 响应新增 `real_name_at` 字段(卡视角:该卡最近一次完成实名的时间;设备视角:当前所有绑定卡中最早完成实名的时间)
- 设备响应中 `cards` 数组内每个 `BoundCardInfo` 新增各卡自己的 `real_name_at`
- 修复手动刷新路径(`RefreshCardDataFromGateway`)漏写 `first_realname_at` 的 bug与轮询路径对齐
## Capabilities
### New Capabilities
(无新能力,仅扩展现有接口响应字段)
### Modified Capabilities
- `asset-resolve``AssetResolveResponse` 新增 `real_name_at` 字段;`BoundCardInfo` 新增 `real_name_at` 字段
## Impact
**受影响文件**
- `internal/model/dto/asset_dto.go`DTO 新增字段
- `internal/service/asset/service.go``buildCardResolveResponse` / `buildDeviceResolveResponse` 填充逻辑
- `internal/service/iot_card/service.go``RefreshCardDataFromGateway` 补写 `first_realname_at`
**不影响**
- 数据库结构(`first_realname_at` 字段已存在于 `tb_iot_card`
- 业务逻辑(`triggerFirstRealnameActivation``isFirstRealname` 条件驱动,不读取 `first_realname_at` 字段)
- 其他 API 接口