milergeo added

This commit is contained in:
2026-10-06 12:26:57 +05:30
parent 220e934045
commit 9b94be1f07
10 changed files with 329 additions and 44 deletions

View File

@@ -17,6 +17,7 @@ import (
"doormile/internal/assignment"
"doormile/internal/cxstage"
"doormile/internal/legs"
"doormile/internal/milergeo"
"doormile/internal/notify"
"doormile/internal/routing"
"doormile/models"
@@ -371,11 +372,11 @@ func indexMilerLocation(milerUserID int, lat, lon float64) {
val := fmt.Sprintf("%f,%f", lat, lon)
db.Rdb.Set(ctx, redisKey, val, 30*time.Minute)
db.Rdb.GeoAdd(ctx, "milers:locations", &redis.GeoLocation{
Name: strconv.Itoa(milerUserID),
Latitude: lat,
Longitude: lon,
})
// A failed write is a rider auto-assignment can never find; say so
// instead of dropping the error.
if err := milergeo.Index(ctx, db.Rdb, milerUserID, lat, lon); err != nil {
utils.Warn("rider position not indexed for assignment", "miler_id", milerUserID, "error", err)
}
}
func UpdateMilerLocation(c *fiber.Ctx) error {