fix(master-data): enforce authoritative vehicle totals

This commit is contained in:
lingniu
2026-07-16 19:35:05 +08:00
parent d67f42b4f4
commit c270140006
8 changed files with 227 additions and 24 deletions

View File

@@ -109,7 +109,7 @@
### P0-02 全局监控客户列表重构
状态:`待验收`
状态:`已完成`
已上线结果release `monitor-customer-list-20260716160618`
@@ -119,6 +119,10 @@
- 后端显式返回位置、速度、SOC、总里程和今日里程可用性JT808 不提供 SOC 时显示 `-`,不再把空值伪装为 `0%`
- 地址仍由用户按需解析,坐标未变化时复用 6 小时前端缓存和 1 小时服务端缓存,并显示本次解析时间。
- ECS 真实数据预跑中50 辆列表、296 辆无位置筛选、全量统计和全国地图分别约为 55ms、62ms、393ms 和 59ms。
- 2026-07-16 最终复核时实时口径为 1,024 辆,其中 730 辆有位置、294 辆无位置;无位置筛选完整返回 294 辆。变化来自实时位置可用性,不改变主车辆总数。
- JT808 单来源生产样本明确返回 `socAvailable=false`;抽样页的 `sourceCount` 与真实 `protocols` 数组全部一致,推荐来源均属于该车真实协议集合。
- 生产桌面列表一次渲染 20 行390×844 移动端一次挂载 20 个紧凑卡片;两种视图均无页面级横向溢出、告警、运行时异常或控制台错误。
- 页面初始化和实时刷新不调用逆地理接口;生产浏览器网络检查为 0 次,只有用户点击“解析位置”后才请求。前端相同坐标缓存 6 小时,服务端 LRU 缓存 1 小时并合并同坐标并发请求。
目标:
@@ -356,9 +360,25 @@
- 页面、详情和 CSV 统一改为“真实来源”口径;单一 JT808 在线且资料完整的车辆可判为正常,不再因不存在的 32960/宇通来源显示“接入不完整”。
- Go 全量测试、现行前端 49 个文件/254 项测试和生产构建通过。生产 50 辆列表 20 次请求中位约 48ms、P95 约 53ms三个服务均 active。
品牌资料二次校准:
- 只读核对 OneOS `vehicle_info.vehicle_model_id → vehicle_model.brand/model` 后,确认原 252 辆缺品牌中有 244 辆具备唯一车型品牌8 辆源系统本身仍无品牌。
- 采用与 `ln-bi` 一致的品牌编码到展示名称口径,只填充中台 `vehicle_identity_binding.oem` 空值,不覆盖任何已有品牌;没有修改 `ln-asset-management`
- 迁移 `018_vehicle_oem_audit.sql` 建立独立品牌变更审计;一次性校准写入 244 行、244 个 VIN`before_oem` 非空记录为 0来源版本为 `oneos-vehicle-model-20260716`
- 生产接入页当前只剩 8 辆“品牌未维护”;资料待维护车辆从 356 降为 112。
车辆分母最终校准release `vehicle-count-authority-exact-20260716193428`
- 车辆查询、覆盖汇总、缺失来源统计和运维服务汇总统一只以 `vehicle_identity_binding` 的 1,024 辆权威车辆为正式分母,不再把实时来源表中 11 个未绑定 VIN 提升为正式车辆。
- 生产复核中,车辆查询、全局监控、接入管理、运维来源就绪度均返回 1,024 辆;运维汇总同时独立返回 `identityRequiredVehicles=11`,因此异常证据没有因分母修正而丢失。
- 11 个未绑定来源仍保留在数据差异中心的 11 条 `UNBOUND_SOURCE` 待处理工单中;它们只能通过身份绑定流程进入正式车辆集,不能继续造成 1,035 辆的错误口径。
- Go 全量测试、前端 49 个文件/259 项测试、TypeScript/Vite 生产构建、Web 资产烟测及四个 systemd 单元状态检查通过。
剩余业务资料依赖:
- 252 辆缺失品牌和 106 辆缺失 JT808 提供方需要业务/运维提供权威映射后补齐;会议中也确认当前品牌资料暂不准确。平台已形成完整待处理队列,但不会根据车牌、终端或位置猜测品牌
- 当前仍有 111 辆 JT808 提供方缺失。65 辆注册报文携带厂商码 `70504`,但生产中该编码同时对应 G7s、东方北斗和赛格不能唯一映射110 辆在 OneOS 只标记为“氢气智能管理平台”,这是聚合来源而非终端提供方;非当前来源中也没有额外 `source_code` 可补齐
- 因此这 111 辆继续留在待处理队列,需 GPS 运维/厂家提供 phone/终端到提供方的权威清单。平台不会根据终端号、IP、位置或厂商码猜测提供方。
- 另有 8 辆 OneOS 车型主数据本身无品牌,需资产资料责任人补录后再通过正式 API 同步。
目标: