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
- DURATION=240
- DELETE_AFTER_MINUTES=30
- UPDATE_INTERVAL_MINUTES=1
- TRANSFER_TIME=17:00
- UPDATE_INTERVAL_MINUTES=5
- TRANSFER_TIME=19:00
# Hildesheim HBF, Braunschweig HBF, Hannover HBF
- STATION_IDS=8000169,8000049,8000152
volumes:
- /etc/localtime:/etc/localtime:ro
restart: always
networks:
default:

View file

@ -9,6 +9,7 @@ CREATE TABLE IF NOT EXISTS trips (
trip_id VARCHAR(255),
planned_timestamp DATETIME,
delay INT,
destination VARCHAR(255),
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 {
id := uuid.New().String()
_, err = db.Exec("INSERT INTO trips (id, timestamp, planned_timestamp, delay, train_name, fahrt_nr, trip_id, latitude, longitude) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
id, whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.Line.FahrtNr, dep.TripId, latitude, longitude)
_, 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, tripDetails.Destination.Name)
if err != nil {
log.Printf("Fehler beim Speichern der neuen Position für TripID %s: %v\n", dep.TripId, err)
} 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 {
_, err = db.Exec("UPDATE trips SET timestamp = ?, planned_timestamp = ?, delay = ?, train_name = ?, trip_id = ?, latitude = ?, longitude = ? WHERE id = ?",
whenTime, plannedWhenTime, dep.Delay, dep.Line.Name, dep.TripId, latitude, longitude, existingID)
_, 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, tripDetails.Destination.Name, existingID)
if err != nil {
log.Printf("Fehler beim Aktualisieren der Position für TripID %s: %v\n", dep.TripId, err)
} 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 {
log.Printf("Fehler bei der Überprüfung des existierenden Eintrags für TripID %s: %v\n", dep.TripId, err)