Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/oneos-business-impact-matrix.md

98 lines
7.7 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.
# OneOS 车辆业务影响矩阵
更新时间2026-07-14
## 1. 结论
车辆数据中台接入 OneOS 不能等同于“把所有里程和位置字段同步回资产库”。OneOS 同时存在实时遥测、人工单据、合同聚合和结算证据;它们含义不同,必须按数据域迁移。
- 实时位置、在线状态、SOC、速度、当日里程、最新总里程以车辆数据中台为权威来源。
- 交车里程、还车里程、异动起止里程和结算里程:保留 OneOS 单据事实,不允许遥测自动覆盖。
- 客户、合同、项目、当前租赁归属、车型和运营状态:以 OneOS 为权威来源。
- 车辆中台只消费最小业务投影,不复制合同金额、联系人、银行账号等敏感字段。
## 2. 当前遥测链路
| 链路 | 当前用途 | 已发现问题 | 建议 |
| --- | --- | --- | --- |
| `LocationUtil``47.99.166.38:20000` | 交车、还车、迷你交车按 VIN 取坐标和总里程 | 地址硬编码;每次新建 HTTP Client失败返回固定坐标而非“无数据”会把故障伪装成真实位置 | P0 禁止固定坐标降级;后续改为调用车辆中台单车快照 API |
| `TruckSyncService` → HASP | 每 10 分钟拉位置、在线、SOC、氢耗、里程 | 全车辆串行请求;依赖车牌/VIN 双接口;状态可能滞后;同时写 `vehicle_status.online_status` | 数据中台稳定后停用拉取任务,改为受控兼容投影或 OneOS 只读调用 |
| `tab_truck_remote_sync_realtime_info` | OneOS 地图、车辆列表位置和里程 | 老表字段多为字符串;总里程单位是米、日里程按 km坐标已转 GCJ-02客户名可能来自 HASP 而非 OneOS | 迁移期只作兼容缓存,不作为客户归属或历史权威来源 |
| `vehicle_realtime_location` | CRUD 型实时位置表 | 当前更像普通业务表,没有持续同步和客户范围 | 不新增依赖;确认无调用方后归档或明确用途 |
| `vehicle_status` | 运营/车辆/证照/保险/在线/里程混合状态 | 前四项是业务状态,后两项是遥测状态,来源混杂 | 保留业务状态;在线和遥测里程逐步改为中台只读展示,不反向覆盖业务状态 |
## 3. 业务域影响
| 业务域 | 主要模块/表 | 与客户车辆范围关系 | 中台接入策略 | 风险级别 |
| --- | --- | --- | --- | --- |
| 客户与账号 | `customer_info``sys_user` | 决定客户主体和启停 | OneOS 认证,向中台传递签名客户身份 | P0 |
| 合同 | `vehicle_lease_contract_info` | 主客户/丙方客户决定有效客户 | OneOS 输出有效客户,不由中台推断合同 | P0 |
| 当前租赁 | `vehicle_lease_order_record` | 决定当前可见车辆 | 修复聚合一致性后输出版本化 Scope | P0 |
| 交车 | `delivery_vehicle`、交车任务 | 形成 Scope 开始时间;保存签署里程和地点 | Scope 只使用已确认交车事实;人工里程不覆盖 | P0 |
| 还车 | `return_vehicle_task` | 形成 Scope 结束;从客户范围移除 | 完成还车后发布新 Scope异常时失败关闭 | P0 |
| 换车/转三方 | `VehicleReplaceRecordService`、合同变更 | 同时改变旧车、新车和有效客户 | 必须做原子或同版本范围切换 | P0 |
| 地图 | `MapTruckController`、旧 realtime 表 | 当前返回全量车辆 | 客户门户使用中台地图OneOS 内部地图后续再迁移 | P0 |
| 车辆列表/详情 | `VehicleInfoMapper` | 混入客户、合同、位置、总里程 | 业务档案继续 OneOS遥测展示改为批量调用禁止逐 VIN N+1 | P1 |
| 事故、违章 | `AccidentInfo``TrafficViolation` | 通过车辆或历史租赁记录关联客户 | 若未来开放客户查看,必须按“事件发生时的客户”而非当前客户授权 | P1 |
| 保险、年检、年审、证照 | 对应 vehicle 业务模块 | 当前以 vehicleId 关联 | 默认仍为内部业务;若开放客户须额外产品授权,不自动随实时车辆 Scope 开放 | P1 |
| 加氢台账 | `HydrogenFuelLedger` | 使用客户、车辆和里程字段 | 台账里程是业务记录;中台遥测只用于对账,不自动改账 | P1 |
| 结算 | `ReturnSettlement` | 使用交还车里程计算费用 | 中台可提供差异证据,不能成为自动覆盖结算的来源 | P0 |
| 异动、调拨、故障 | 多个车辆业务模块 | 保存计划/起止/故障时里程 | 保留业务单据值;按需要显示中台采集值作为旁证 | P1 |
| 运维和接入质量 | 车辆数据中台 | 不属于外部客户默认权限 | 仅内部运维/管理员开放 | P0 |
## 4. 时间语义
必须区分两类车辆权限:
### 当前车辆权限
用于 `/monitor`、当前车辆列表、最新遥测和当前告警。依据当前有效交付关系,车辆还车后立即移除。
### 历史事件权限
轨迹、历史数据和事故/违章存在两种产品口径,不能默认选择:
1. **持有期口径(推荐)**:客户只能查看 `scopeStartAt <= eventAt < scopeEndAt` 的数据。车辆还车后仍可查看租赁期间历史,但不能查看还车后的数据。
2. **仅当前口径**:还车后所有历史立即不可见,实现简单但不利于客户对账。
建议范围投影保留历史有效期,而不是只保存当前 VIN 集合:
```text
customer_id, vin, valid_from, valid_to, contract_id, scope_version
```
任何历史查询都同时校验 VIN 和事件时间。当前快照接口用于实时查询,历史范围接口或增量事件用于回填 `valid_to`
## 5. 坐标与单位
| 字段 | OneOS 当前情况 | 数据中台约定 | 展示规则 |
| --- | --- | --- | --- |
| 原始坐标 | 上游多为 WGS-84 | 中台保存 WGS-84 原始值并标注坐标系 | 高德前端展示前统一转 GCJ-02只转换一次 |
| 旧地图坐标 | `TruckSyncService` 已转 GCJ-02 | 不回写为“原始坐标” | 迁移时避免再次转换造成漂移 |
| `total_mileage` | HASP 老表单位为 m、类型为字符串 | 中台规范为 km、数值类型 | API 字段明确命名 `totalMileageKm` |
| `day_mileage` | OneOS 按 km 使用 | 中台按自然日、时区和来源生成 | 明确 `Asia/Shanghai` 日界线和统计版本 |
| 交还车里程 | 人工/单据 km | 不覆盖 | 可增加 `telemetryMileageKm` 作对照证据 |
## 6. 推荐迁移顺序
1. 修复并审计客户账号、当前租赁聚合和 Scope 接口。
2. 车辆中台完成客户身份、当前/历史 Scope 投影和全 API 隔离。
3. 外部客户门户先只读上线,功能限定为当前监控、持有期轨迹、里程和授权告警。
4. 为 OneOS 提供批量最新遥测 API影子对比 HASP 与旧接口,不改业务单据。
5. 对比位置、在线、SOC、总里程、日里程的覆盖率与延迟达到验收标准后切换 OneOS 地图读取源。
6. 最后停用 `TruckSyncService``LocationUtil` 旧链路;保留可回滚开关,不删除历史表。
## 7. 遥测切换验收
- 连续 7 天 VIN 覆盖率不低于旧链路,关键车辆无遗漏。
- 最新位置 P95 延迟满足业务约定,离线判断与数据上报周期匹配。
- WGS-84 → GCJ-02 只执行一次,抽样点位无系统性漂移。
- 总里程单位和来源明确,无米/公里千倍错误,无异常倒退未告警。
- OneOS 地图使用批量接口,不出现逐车 N+1 调用。
- 数据中台不可用时显示“实时数据暂不可用”,不得展示固定默认坐标或过期数据为实时值。
- 交车、还车、结算、加氢台账等人工事实在切换前后完全不变。
## 8. 本轮不建议改动的业务
在客户车辆范围和遥测切换稳定前,不建议同时改造保险、年检、结算、违章、事故、加氢台账等业务流程。它们可以消费 Scope 或遥测证据,但不应与第一批权限修复绑在一次发布中。