feat(platform): surface vehicle quality issues

This commit is contained in:
lingniu
2026-07-03 22:04:12 +08:00
parent 2d064e3c53
commit 2fcce04c5a
8 changed files with 79 additions and 11 deletions

View File

@@ -69,10 +69,12 @@ func (s *Service) VehicleDetail(ctx context.Context, vin string, protocol string
historyQuery := url.Values{"vin": {resolvedVIN}, "limit": {"20"}}
rawQuery := RawFrameQuery{VIN: resolvedVIN, IncludeFields: true, Limit: 10}
mileageQuery := url.Values{"vin": {resolvedVIN}, "limit": {"20"}}
qualityQuery := url.Values{"vin": {resolvedVIN}, "limit": {"20"}}
if protocol != "" {
realtimeQuery.Set("protocol", protocol)
historyQuery.Set("protocol", protocol)
rawQuery.Protocol = protocol
qualityQuery.Set("protocol", protocol)
}
realtime, err := s.store.RealtimeLocations(ctx, realtimeQuery)
if err != nil {
@@ -90,6 +92,10 @@ func (s *Service) VehicleDetail(ctx context.Context, vin string, protocol string
if err != nil {
return VehicleDetail{}, err
}
quality, err := s.store.QualityIssues(ctx, qualityQuery)
if err != nil {
return VehicleDetail{}, err
}
sourceStatus := vehicleSourceStatus(vehicles.Items, realtime.Items, history.Items, raw.Items, mileage.Items)
sourceStatus = s.enrichVehicleSourceStatus(ctx, resolvedVIN, sourceStatus)
return VehicleDetail{
@@ -101,6 +107,7 @@ func (s *Service) VehicleDetail(ctx context.Context, vin string, protocol string
History: history,
Raw: raw,
Mileage: mileage,
Quality: quality,
}, nil
}