Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/meeting-goal-external-input-handoff.md

106 lines
5.2 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.
# 0716 会议 Goal 外部输入交接单
更新时间2026-07-16 22:49Asia/Shanghai
本交接单只记录开发侧无法推断、且会改变真实客户可见范围或主数据事实的输入。收到资料后按本文验证,不修改 `ln-asset-management`
## 1. 当前生产阻塞快照
| 待办 | 当前生产事实 | 缺少的权威输入 | 输入责任方 |
| --- | --- | --- | --- |
| P0-08 客户账号与演示 | 目前共 2 个账号1 个管理员、1 个既有客户;既有客户严格四菜单并授权 1 辆车 | 秦总、蒲总各自登录名/手机号、显示名、车辆 VIN Scope、初始密码安全交付方式可选客户/租户映射 | 业务负责人 |
| P1-02 接入资料校准 | 1,024 辆权威车辆中101 辆仍有 `JT808 接入方未维护`8 辆仍有 `车辆品牌未维护` | 当前终端/手机号或协议接入到 JT808 提供方的权威清单8 辆车的品牌主数据及来源依据 | GPS 运维/厂家、资产资料责任人 |
| P1-04 OneOS 正式接口 | ECS 未配置 `ONEOS_SCOPE_SOURCE`、正式 URL、Service Token、HMAC 密钥;同步定时器未安装 | 正式内网 URL、独立 Service Token、独立 HMAC 密钥、ECS 私网源地址白名单、完整快照 | OneOS 团队 |
禁止用终端号规律、来源 IP、旧里程来源、注册报文厂商码或历史聚合值猜测当前提供方禁止为了演示倒签车辆授权起点。
## 2. P0-08 账号输入格式
每个账号至少提供:
```text
loginName:
displayName:
vehicleVins:
passwordDeliveryMethod:
customerRef: # 可选
tenantRef: # 可选
```
固定菜单只能是:
```text
monitor,vehicles,tracks,statistics
```
初始密码不得写入 Git、会议纪要或本交接单应通过独立安全渠道交付。账号建立后分别运行 `deploy/verify-customer-demo.py`,并为两个账号各选择一个对方未授权 VIN 验证越权阻断。
## 3. P1-02 提供方清单导出与导入
生产 release `canonical-provider-access-fallback-20260716224816` 内置 `deploy/import-source-providers.py`。令牌只通过临时环境变量传入不写命令行、CSV 或日志。
先导出当前待补清单:
```bash
read -s SOURCE_PROVIDER_ADMIN_TOKEN
export SOURCE_PROVIDER_ADMIN_TOKEN
/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
--base-url http://127.0.0.1:20300 \
--export-missing /root/jt808-provider-gaps-20260716.csv
```
导出文件是 UTF-8 BOM CSV适合 Excel 打开,包含:
- `vin``plate`
- 不可逆的 `source_ref`
- 脱敏终端标签;若网关只保留协议接入快照而没有独立位置来源,该列为空,仍可按车辆/协议维护提供方;
- 预期协议和当前提供方,用于防止清单处理期间来源漂移;
- 待填写的 `provider_name``evidence`
GPS 运维或厂家必须为每行填写规范提供方名称和可追溯依据。依据可以是权威终端清单版本、厂家确认记录编号等,不能只写“已确认”。
导入前先只读预检:
```bash
/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
--base-url http://127.0.0.1:20300 \
--csv /root/jt808-provider-gaps-20260716-filled.csv
```
只有输出 `source_provider_import=ready` 后才执行:
```bash
/opt/lingniu-vehicle-platform/current/deploy/import-source-providers.py \
--base-url http://127.0.0.1:20300 \
--csv /root/jt808-provider-gaps-20260716-filled.csv \
--apply
unset SOURCE_PROVIDER_ADMIN_TOKEN
```
工具会在任何写入前完成全表预检,并逐条复用当前启停、优先级和策略备注,只修改提供方及其独立核验依据。每次修改继续走管理员 API、乐观版本和不可变审计单批最多 500 行。协议级融合快照只能维护提供方,前后端均禁止从快照修改终端启停、优先级或策略备注。若中途发生并发版本变化,工具立即停止,已成功项保留审计,剩余项需重新导出/预检。
品牌缺口必须先在 OneOS/资产主数据中取得正式品牌事实,再按现有主数据同步路径进入中台;不得直接猜测或覆盖已有品牌。
## 4. P1-04 OneOS 交付检查
OneOS 交付时必须同时确认:
1. 内网 URL 与路径;
2. Service Token 和 HMAC 密钥互相独立;
3. OneOS 网关只允许 ECS 指定私网源地址;
4. 时间戳窗口不超过 60 秒request ID 防重放;
5. 分页内 `scopeVersion``generatedAt` 稳定且 `complete=true`
6. 返回客户、部门、负责人、合同/项目、正式交车启用时间和机器可读隔离原因;
7. 草稿交车/还车时间不作为正式授权事实。
配置密钥后先手工执行一次影子同步,核对总数、抽样车辆、拒绝项和内容版本。验证通过前不得安装或启用两分钟同步定时器;失败时必须保持当前投影,不得退化为全量车辆。
## 5. Goal 解除阻塞的验收证据
- 两个实际客户账号分别通过四菜单、车辆集合、授权时间、轨迹、里程和对方 VIN 越权门禁;
- 接入管理中 `JT808 接入方未维护=0``车辆品牌未维护=0`,每次补录可追溯;
- OneOS 正式快照完成手工影子校验并启用定时同步,接口故障演练证明失败关闭;
- 业务负责人完成客户演示并确认首期交付范围。