feat(platform): surface overview consistency

This commit is contained in:
lingniu
2026-07-04 04:06:54 +08:00
parent db70f58a7c
commit 7b801b6f71
9 changed files with 83 additions and 24 deletions

View File

@@ -462,10 +462,23 @@ func buildVehicleServiceOverview(vin string, lookupKey string, resolution *Vehic
if !resolved && resolution != nil {
resolved = resolution.Resolved
}
overview.ServiceStatus = buildVehicleServiceStatus(resolved, statusesForOverview(overview))
applyVehicleServiceOverviewDerivedFields(overview, resolved)
return overview
}
func applyVehicleServiceOverviewDerivedFields(overview *VehicleServiceOverview, resolved bool) {
if overview == nil {
return
}
overview.CoverageStatus = coverageStatus(overview.SourceCount, overview.OnlineSourceCount)
overview.ServiceStatus = buildVehicleServiceStatus(resolved, statusesForOverview(overview))
overview.SourceConsistency = &VehicleSourceConsistency{
SourceCount: overview.SourceCount,
OnlineSourceCount: overview.OnlineSourceCount,
Scope: "all_sources",
}
}
func statusesForOverview(overview *VehicleServiceOverview) []VehicleSourceStatus {
statuses := make([]VehicleSourceStatus, 0, overview.SourceCount)
for index, protocol := range overview.Protocols {