chore: commit mileage updates and accumulated project artifacts

This commit is contained in:
lingniu
2026-09-21 09:15:54 +08:00
parent 6cc872ceb6
commit 8b32ae2988
767 changed files with 572885 additions and 17 deletions
@@ -0,0 +1,30 @@
# 开放接口与中台日里程对齐 — 2026-09-18
已部署 `mileage-platform-alignment-20260918`,线上公网单日、区间分页及显式协议优先级请求均确认:粤AGG5043 / LB9A32A29R0LS1065 / 2026-09-17 返回 `dailyMileageKm=308.2`、`totalMileageKm=42077`、`status=NORMAL`,无 `dataQuality` 异常字段。
## 修复
开放平台优先保留中台已选中、质量为 OK 且日里程/累计值与最终日统计匹配的来源结果,不再因前后两天选择的来源不同而将其改为异常,也不跨来源重新相减。统计起止时间仍保留该来源真实基线。未验证的来源继续使用原累计差与异常检查;INVALID_DELTA、协议不明历史导入及 GPS 估算未被放行。无当日记录时仍结转累计值、日里程为 0。
未修改车辆源数据或中台里程统计表。仅发布开放平台服务;更新了接口内嵌文档和只读核对工具。
## 验证
- API Go 模块 `go test ./...` 通过。
- 新增来源切换 308.2 样本、单日/区间切分一致性、缺报结转、异常记录不被平台标识绕过及 SQL 读取回归测试。
- 生产只读批量验证覆盖 1,024 辆车、09-15~09-17 共 2,063 条结果:1,540 条已验证日统计、523 条结转;平台日里程差异 0,单日与区间差异 0。
- 公网 POST `/api/v1/vehicles/mileage/query` 实际返回 308.2 / NORMAL,traceId:`25fb3895520655b957e27783cee36b09`。
- 公网 POST `/api/v1/vehicles/mileage/range/query` 以 pageSize=1 读取三页,09-17 返回相同数值及状态,traceId:`3f210f2b0bf95cf55015429db252a150`。
- 显式协议优先级 GB32960、MQTT、JT808 返回相同结果。
- 测试应用 74 仅授权目标车辆,验证后已停用、清空车辆授权,原测试密钥已返回 HTTP 401;报告不包含密钥。
- 新服务健康检查通过;运行二进制 SHA-256 见 deployment.json。
## 发布与回退
新目录:`/opt/lingniu-vehicle-open-platform/releases/mileage-platform-alignment-20260918`。
旧目录:`/opt/lingniu-vehicle-open-platform/releases/mileage-reconciliation-20260916`。
环境配置及旧版本路径备份:`/opt/lingniu-vehicle-open-platform/backups/mileage-platform-alignment-20260918`。
回退时恢复备份环境配置、将 current 指回旧版本并重启 lingniu-vehicle-open-platform;无数据库迁移需回退。
下游 BI 缓存不在本次修改范围。若仍展示旧异常,需要重新拉取或等待缓存过期;本次未声称 BI 缓存已刷新。
@@ -0,0 +1 @@
{"elapsed":"1.595524123s","normal":2063,"platformDailyMismatches":0,"platformRows":1540,"qualities":{"":1540,"CARRIED_FORWARD":523},"reconciliationMismatches":0,"rows":2063,"samples":{},"singleRangeDifferences":0,"vehicles":1024}
@@ -0,0 +1 @@
{"release": "mileage-platform-alignment-20260918", "previousRelease": "/opt/lingniu-vehicle-open-platform/releases/mileage-reconciliation-20260916", "binarySHA256": "f6d44acd08e602992a25c18a7153c698d96323cee1c93254d09e4b00dc135b88", "health": {"release": "mileage-platform-alignment-20260918", "service": "open-platform-api", "status": "ok"}, "backup": "/opt/lingniu-vehicle-open-platform/backups/mileage-platform-alignment-20260918"}
@@ -0,0 +1,14 @@
{
"local": {
"release": "mileage-platform-alignment-20260918",
"service": "open-platform-api",
"status": "ok"
},
"public": {
"release": "mileage-platform-alignment-20260918",
"service": "open-platform-api",
"status": "ok"
},
"runningSHA256": "f6d44acd08e602992a25c18a7153c698d96323cee1c93254d09e4b00dc135b88",
"recentErrors": ""
}
@@ -0,0 +1 @@
{"temporaryAppId": 74, "single": {"code": "SUCCESS", "message": "success", "data": [{"statisticsStartTime": "2026-09-11T11:01:12+08:00", "statisticsEndTime": "2026-09-17T21:55:02+08:00", "vin": "LB9A32A29R0LS1065", "plateNumber": "\u7ca4AGG5043", "date": "2026-09-17", "dailyMileageKm": 308.2, "totalMileageKm": 42077, "dataTime": "2026-09-17T21:55:02+08:00", "updatedAt": "2026-09-18T01:35:20+08:00", "sourceProtocol": "GB32960", "status": "NORMAL"}], "traceId": "25fb3895520655b957e27783cee36b09"}, "rangePages": [{"code": "SUCCESS", "message": "success", "data": [{"vin": "LB9A32A29R0LS1065", "plateNumber": "\u7ca4AGG5043", "date": "2026-09-15", "dailyMileageKm": 38.7, "totalMileageKm": 41967.4, "dataTime": "2026-09-15T10:42:23+08:00", "updatedAt": "2026-09-18T01:35:07+08:00", "sourceProtocol": "GB32960", "status": "NORMAL"}], "snapshotId": "a88622e1b3afd0c60ddf86cd9736ca7d", "nextCursor": "YTg4NjIyZTFiM2FmZDBjNjBkZGY4NmNkOTczNmNhN2Q6MQ", "traceId": "42c9c406f874b3e2934f8f73ced18b79"}, {"code": "SUCCESS", "message": "success", "data": [{"vin": "LB9A32A29R0LS1065", "plateNumber": "\u7ca4AGG5043", "date": "2026-09-16", "dailyMileageKm": 38.9, "totalMileageKm": 42006.3, "dataTime": "2026-09-16T16:36:30+08:00", "updatedAt": "2026-09-18T01:35:16+08:00", "sourceProtocol": "GB32960", "status": "NORMAL"}], "snapshotId": "a88622e1b3afd0c60ddf86cd9736ca7d", "nextCursor": "YTg4NjIyZTFiM2FmZDBjNjBkZGY4NmNkOTczNmNhN2Q6Mg", "traceId": "387eca3f342740fbece85a643f0d51d6"}, {"code": "SUCCESS", "message": "success", "data": [{"vin": "LB9A32A29R0LS1065", "plateNumber": "\u7ca4AGG5043", "date": "2026-09-17", "dailyMileageKm": 308.2, "totalMileageKm": 42077, "dataTime": "2026-09-17T21:55:02+08:00", "updatedAt": "2026-09-18T01:35:20+08:00", "sourceProtocol": "GB32960", "status": "NORMAL"}], "snapshotId": "a88622e1b3afd0c60ddf86cd9736ca7d", "nextCursor": null, "traceId": "3f210f2b0bf95cf55015429db252a150"}], "explicitPriority": {"code": "SUCCESS", "message": "success", "data": [{"statisticsStartTime": "2026-09-11T11:01:12+08:00", "statisticsEndTime": "2026-09-17T21:55:02+08:00", "vin": "LB9A32A29R0LS1065", "plateNumber": "\u7ca4AGG5043", "date": "2026-09-17", "dailyMileageKm": 308.2, "totalMileageKm": 42077, "dataTime": "2026-09-17T21:55:02+08:00", "updatedAt": "2026-09-18T01:35:20+08:00", "sourceProtocol": "GB32960", "status": "NORMAL"}], "traceId": "695d0293028aec0a8f62b7931ced8525"}, "temporaryAppDisabled": true, "temporaryGrantsRemoved": true, "disabledKeyHTTPStatus": 401}
@@ -0,0 +1 @@
{"elapsed":"20.541286ms","normal":3,"platformDailyMismatches":0,"platformRows":3,"qualities":{"":3},"reconciliationMismatches":0,"rows":3,"samples":{"LB9A32A29R0LS1065\u00002026-09-15":{"PlatformMileage":true,"SourceKey":"GB32960:unknown@101.205.147.165","DataQuality":"","StatisticsStartTime":"2026-09-14T21:39:50+08:00","VIN":"LB9A32A29R0LS1065","Date":"2026-09-15","Protocol":"GB32960","MileageKm":38.7,"TotalMileageKm":41967.4,"DataTime":"2026-09-15T10:42:23+08:00","UpdatedAt":"2026-09-18T01:35:07+08:00"},"LB9A32A29R0LS1065\u00002026-09-16":{"PlatformMileage":true,"SourceKey":"GB32960:unknown@101.205.147.165","DataQuality":"","StatisticsStartTime":"2026-09-15T10:42:23+08:00","VIN":"LB9A32A29R0LS1065","Date":"2026-09-16","Protocol":"GB32960","MileageKm":38.9,"TotalMileageKm":42006.3,"DataTime":"2026-09-16T16:36:30+08:00","UpdatedAt":"2026-09-18T01:35:16+08:00"},"LB9A32A29R0LS1065\u00002026-09-17":{"PlatformMileage":true,"SourceKey":"GB32960:unknown@202.98.117.132","DataQuality":"","StatisticsStartTime":"2026-09-11T11:01:12+08:00","VIN":"LB9A32A29R0LS1065","Date":"2026-09-17","Protocol":"GB32960","MileageKm":308.2,"TotalMileageKm":42077,"DataTime":"2026-09-17T21:55:02+08:00","UpdatedAt":"2026-09-18T01:35:20+08:00"}},"singleRangeDifferences":0,"vehicles":1}