updates on the api endpoints on the customer page and more
This commit is contained in:
80
scratch/check_two_bookings.go
Normal file
80
scratch/check_two_bookings.go
Normal file
@@ -0,0 +1,80 @@
|
||||
//go:build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"doormile/config"
|
||||
"doormile/db"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
_ = godotenv.Load()
|
||||
cfg := config.Load()
|
||||
db.Connect(cfg)
|
||||
if db.DB == nil {
|
||||
log.Fatal("no DB")
|
||||
}
|
||||
|
||||
type b struct {
|
||||
Bookingid int
|
||||
Bookingno string
|
||||
Status string
|
||||
Createdat string
|
||||
Updatedat string
|
||||
Assignedmileruserid *int
|
||||
Pickuplatitude float64
|
||||
Pickuplongitude float64
|
||||
Pickuppincode string
|
||||
Deliverypincode string
|
||||
Deliveryaddress string
|
||||
Appcustomerid int
|
||||
}
|
||||
var rows []b
|
||||
db.DB.Raw(`SELECT bookingid, bookingno, status, createdat::text, updatedat::text,
|
||||
assignedmileruserid, pickuplatitude, pickuplongitude, pickuppincode,
|
||||
deliverypincode, deliveryaddress, appcustomerid
|
||||
FROM pickupbookings WHERE bookingid IN (546,547,179) ORDER BY bookingid DESC`).Scan(&rows)
|
||||
for _, r := range rows {
|
||||
miler := "none"
|
||||
if r.Assignedmileruserid != nil {
|
||||
miler = fmt.Sprintf("%d", *r.Assignedmileruserid)
|
||||
}
|
||||
fmt.Printf("#%d %s\n status=%s created=%s\n updated=%s miler=%s customer=%d\n pickup=(%.4f,%.4f) %s -> %s drop=%q\n\n",
|
||||
r.Bookingid, r.Bookingno, r.Status, r.Createdat, r.Updatedat, miler,
|
||||
r.Appcustomerid, r.Pickuplatitude, r.Pickuplongitude, r.Pickuppincode,
|
||||
r.Deliverypincode, r.Deliveryaddress)
|
||||
}
|
||||
|
||||
fmt.Println("=== assignments on those bookings ===")
|
||||
type a struct {
|
||||
Bookingid int
|
||||
Assignmentstatus string
|
||||
Assignedat string
|
||||
Remarks string
|
||||
}
|
||||
var as []a
|
||||
db.DB.Raw(`SELECT bookingid, assignmentstatus, assignedat::text, remarks
|
||||
FROM bookingassignments WHERE bookingid IN (546,547,179)`).Scan(&as)
|
||||
if len(as) == 0 {
|
||||
fmt.Println(" none — no rider was ever assigned")
|
||||
}
|
||||
for _, x := range as {
|
||||
fmt.Printf(" booking %d: %s at %s %q\n", x.Bookingid, x.Assignmentstatus, x.Assignedat, x.Remarks)
|
||||
}
|
||||
|
||||
fmt.Println("\n=== how many bookings sit in each status ===")
|
||||
type s struct {
|
||||
Status string
|
||||
N int64
|
||||
}
|
||||
var ss []s
|
||||
db.DB.Raw(`SELECT status, count(*) n FROM pickupbookings GROUP BY 1 ORDER BY n DESC`).Scan(&ss)
|
||||
for _, x := range ss {
|
||||
fmt.Printf(" %-26s %d\n", x.Status, x.N)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user