From e68028799e1cb3af9057176c644ec9e28dfc73a4 Mon Sep 17 00:00:00 2001 From: lingniu Date: Fri, 3 Jul 2026 22:31:25 +0800 Subject: [PATCH] fix(platform): count dashboard vehicles by vin --- .../apps/api/internal/platform/production_store.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vehicle-data-platform/apps/api/internal/platform/production_store.go b/vehicle-data-platform/apps/api/internal/platform/production_store.go index 18fe7e84..9b4f77e2 100644 --- a/vehicle-data-platform/apps/api/internal/platform/production_store.go +++ b/vehicle-data-platform/apps/api/internal/platform/production_store.go @@ -41,10 +41,10 @@ func OpenSQL(ctx context.Context, driver, dsn string) (*sql.DB, error) { func (s *ProductionStore) DashboardSummary(ctx context.Context) (DashboardSummary, error) { var summary DashboardSummary - if err := s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM vehicle_realtime_snapshot WHERE updated_at >= DATE_SUB(NOW(), INTERVAL 1 MINUTE)`).Scan(&summary.OnlineVehicles); err != nil { + if err := s.db.QueryRowContext(ctx, `SELECT COUNT(DISTINCT vin) FROM vehicle_realtime_snapshot WHERE vin IS NOT NULL AND vin <> '' AND updated_at >= DATE_SUB(NOW(), INTERVAL 1 MINUTE)`).Scan(&summary.OnlineVehicles); err != nil { return DashboardSummary{}, err } - if err := s.db.QueryRowContext(ctx, `SELECT COUNT(DISTINCT vin) FROM vehicle_realtime_snapshot WHERE updated_at >= CURDATE()`).Scan(&summary.ActiveToday); err != nil { + if err := s.db.QueryRowContext(ctx, `SELECT COUNT(DISTINCT vin) FROM vehicle_realtime_snapshot WHERE vin IS NOT NULL AND vin <> '' AND updated_at >= CURDATE()`).Scan(&summary.ActiveToday); err != nil { return DashboardSummary{}, err } if err := s.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM vehicle_realtime_snapshot WHERE vin = '' OR vin IS NULL`).Scan(&summary.IssueVehicles); err != nil {