perf(go): trim frame id from location history

This commit is contained in:
lingniu
2026-07-03 08:56:04 +08:00
parent c916120ea2
commit c2e4c2b955
5 changed files with 16 additions and 13 deletions

View File

@@ -306,10 +306,10 @@ func TestLocationHandlerReturnsLocationsByVIN(t *testing.T) {
WillReturnRows(sqlmock.NewRows([]string{"total"}).AddRow(17))
mock.ExpectQuery("vin = 'LKLG7C4E3NA774736'").
WillReturnRows(sqlmock.NewRows([]string{
"ts", "event_id", "frame_id", "received_at", "longitude", "latitude", "altitude_m", "speed_kmh",
"ts", "event_id", "received_at", "longitude", "latitude", "altitude_m", "speed_kmh",
"direction_deg", "alarm_flag", "status_flag", "total_mileage_km", "protocol", "vin",
}).AddRow(
"2026-07-02 00:18:22", "event-3", "go_frame", "2026-07-02 00:22:43",
"2026-07-02 00:18:22", "event-3", "2026-07-02 00:22:43",
121.07764, 30.585928, 11.0, 8.0, 171, 0, 4718595, 8792.8,
"JT808", "LKLG7C4E3NA774736",
))
@@ -329,7 +329,7 @@ func TestLocationHandlerReturnsLocationsByVIN(t *testing.T) {
t.Fatalf("response missing %s: %s", want, body)
}
}
for _, legacy := range []string{"vehicle_key", "phone", "device_id"} {
for _, legacy := range []string{"frame_id", "vehicle_key", "phone", "device_id"} {
if strings.Contains(body, legacy) {
t.Fatalf("location response should not expose %s: %s", legacy, body)
}
@@ -347,10 +347,10 @@ func TestLocationHandlerSkipsTotalCountByDefault(t *testing.T) {
defer db.Close()
mock.ExpectQuery("vin = 'LKLG7C4E3NA774736'").
WillReturnRows(sqlmock.NewRows([]string{
"ts", "event_id", "frame_id", "received_at", "longitude", "latitude", "altitude_m", "speed_kmh",
"ts", "event_id", "received_at", "longitude", "latitude", "altitude_m", "speed_kmh",
"direction_deg", "alarm_flag", "status_flag", "total_mileage_km", "protocol", "vin",
}).AddRow(
"2026-07-02 00:18:22", "event-3", "go_frame", "2026-07-02 00:22:43",
"2026-07-02 00:18:22", "event-3", "2026-07-02 00:22:43",
121.07764, 30.585928, 11.0, 8.0, 171, 0, 4718595, 8792.8,
"JT808", "LKLG7C4E3NA774736",
))
@@ -448,6 +448,9 @@ func TestBuildLocationSQLUsesLiteralsForTDengine(t *testing.T) {
if strings.Contains(sqlText, "vehicle_key") || strings.Contains(sqlText, "phone") || strings.Contains(sqlText, "device_id") {
t.Fatalf("location sql should use vin-only identity filters: %s", sqlText)
}
if strings.Contains(sqlText, "frame_id") {
t.Fatalf("location sql should not select duplicate raw frame id: %s", sqlText)
}
}
func TestBuildRawFrameSQLUsesLiteralsForTDengine(t *testing.T) {