Hinzufügen von der Destination des Zuges

This commit is contained in:
Simon Rieger 2025-01-19 17:58:45 +01:00
parent f3b3c9aeb7
commit 210b03b978
3 changed files with 11 additions and 8 deletions

View file

@ -15,10 +15,12 @@ services:
- MAX_RESULTS=200 - MAX_RESULTS=200
- DURATION=240 - DURATION=240
- DELETE_AFTER_MINUTES=30 - DELETE_AFTER_MINUTES=30
- UPDATE_INTERVAL_MINUTES=1 - UPDATE_INTERVAL_MINUTES=5
- TRANSFER_TIME=17:00 - TRANSFER_TIME=19:00
# Hildesheim HBF, Braunschweig HBF, Hannover HBF # Hildesheim HBF, Braunschweig HBF, Hannover HBF
- STATION_IDS=8000169,8000049,8000152 - STATION_IDS=8000169,8000049,8000152
volumes:
- /etc/localtime:/etc/localtime:ro
restart: always restart: always
networks: networks:
default: default:

View file

@ -9,6 +9,7 @@ CREATE TABLE IF NOT EXISTS trips (
trip_id VARCHAR(255), trip_id VARCHAR(255),
planned_timestamp DATETIME, planned_timestamp DATETIME,
delay INT, delay INT,
destination VARCHAR(255),
INDEX idx_fahrt_nr_timestamp (fahrt_nr, timestamp) INDEX idx_fahrt_nr_timestamp (fahrt_nr, timestamp)
); );

12
main.go
View file

@ -233,20 +233,20 @@ func savePosition(db *sql.DB, dep Departure, apiBaseURL string) {
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
id := uuid.New().String() id := uuid.New().String()
_, err = db.Exec("INSERT INTO trips (id, timestamp, planned_timestamp, delay, train_name, fahrt_nr, trip_id, latitude, longitude) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", _, err = db.Exec("INSERT INTO trips (id, timestamp, planned_timestamp, delay, train_name, fahrt_nr, trip_id, latitude, longitude, destination) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
id, whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.Line.FahrtNr, dep.TripId, latitude, longitude) id, whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.Line.FahrtNr, dep.TripId, latitude, longitude, tripDetails.Destination.Name)
if err != nil { if err != nil {
log.Printf("Fehler beim Speichern der neuen Position für TripID %s: %v\n", dep.TripId, err) log.Printf("Fehler beim Speichern der neuen Position für TripID %s: %v\n", dep.TripId, err)
} else { } else {
log.Printf("Neue Position gespeichert (ID: %s, Zug: %s, FahrtNr: %s, Lat: %f, Lon: %f, Verspätung: %d)\n", id, dep.Line.Name, dep.Line.FahrtNr, latitude, longitude, dep.Delay) log.Printf("Neue Position gespeichert (ID: %s, Zug: %s, FahrtNr: %s, Lat: %f, Lon: %f, Verspätung: %d, Ziel: %s)\n", id, dep.Line.Name, dep.Line.FahrtNr, latitude, longitude, dep.Delay, tripDetails.Destination.Name)
} }
} else if err == nil { } else if err == nil {
_, err = db.Exec("UPDATE trips SET timestamp = ?, planned_timestamp = ?, delay = ?, train_name = ?, trip_id = ?, latitude = ?, longitude = ? WHERE id = ?", _, err = db.Exec("UPDATE trips SET timestamp = ?, planned_timestamp = ?, delay = ?, train_name = ?, trip_id = ?, latitude = ?, longitude = ?, destination = ? WHERE id = ?",
whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.TripId, latitude, longitude, existingID) whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.TripId, latitude, longitude, tripDetails.Destination.Name, existingID)
if err != nil { if err != nil {
log.Printf("Fehler beim Aktualisieren der Position für TripID %s: %v\n", dep.TripId, err) log.Printf("Fehler beim Aktualisieren der Position für TripID %s: %v\n", dep.TripId, err)
} else { } else {
log.Printf("Position aktualisiert (ID: %s, Zug: %s, FahrtNr: %s, Lat: %f, Lon: %f, Verspätung: %d)\n", existingID, dep.Line.Name, dep.Line.FahrtNr, latitude, longitude, dep.Delay) log.Printf("Position aktualisiert (ID: %s, Zug: %s, FahrtNr: %s, Lat: %f, Lon: %f, Verspätung: %d, Ziel: %s)\n", existingID, dep.Line.Name, dep.Line.FahrtNr, latitude, longitude, dep.Delay, tripDetails.Destination.Name)
} }
} else { } else {
log.Printf("Fehler bei der Überprüfung des existierenden Eintrags für TripID %s: %v\n", dep.TripId, err) log.Printf("Fehler bei der Überprüfung des existierenden Eintrags für TripID %s: %v\n", dep.TripId, err)