fix(platform): degrade vehicles with missing sources

This commit is contained in:
lingniu
2026-07-04 05:46:56 +08:00
parent 5e7c4b56ef
commit 6229f837a0
4 changed files with 55 additions and 15 deletions

View File

@@ -980,11 +980,21 @@ func buildVehicleCoverageServiceStatus(row VehicleCoverageRow) *VehicleServiceSt
OnlineSourceCount: row.OnlineSourceCount,
}
}
if len(row.MissingProtocols) > 0 {
return &VehicleServiceStatus{
Status: "degraded",
Severity: "warning",
Title: "部分来源离线",
Detail: sourceCoverageDetail(row.SourceCount, row.OnlineSourceCount, "车辆服务可用但缺少 "+strings.Join(row.MissingProtocols, "、")+" 来源。"),
SourceCount: row.SourceCount,
OnlineSourceCount: row.OnlineSourceCount,
}
}
return &VehicleServiceStatus{
Status: "healthy",
Severity: "ok",
Title: "服务正常",
Detail: sourceCoverageDetail(row.SourceCount, row.OnlineSourceCount, "全部已知来源在线。"),
Detail: sourceCoverageDetail(row.SourceCount, row.OnlineSourceCount, "全部来源在线。"),
SourceCount: row.SourceCount,
OnlineSourceCount: row.OnlineSourceCount,
}
@@ -997,6 +1007,7 @@ func buildRealtimeServiceStatus(row VehicleRealtimeRow) *VehicleServiceStatus {
Phone: row.Phone,
OEM: row.OEM,
Protocols: row.Protocols,
MissingProtocols: missingCanonicalProtocols(row.Protocols),
SourceCount: row.SourceCount,
OnlineSourceCount: row.OnlineSourceCount,
Online: row.Online,