diff --git a/storage/tracking/tracking.go b/storage/tracking/tracking.go index 96ecaa2..3d010d6 100644 --- a/storage/tracking/tracking.go +++ b/storage/tracking/tracking.go @@ -57,8 +57,7 @@ func (tr *Track) SetHead(h ...string) { func (tr *Track) ScanP(rows *sql.Rows) error { tr.Head = lib.StrMap{} var d []any - for _, _ = range tr.container.HeadFields { - //tr.Head[k] = "" + for range tr.container.HeadFields { var hv string d = append(d, &hv) } @@ -67,8 +66,15 @@ func (tr *Track) ScanP(rows *sql.Rows) error { var rd string d = append(d, &rd) err := rows.Scan(d...) - fmt.Printf("%+v\n", d) - fmt.Printf("%+v, %+v, %+v, %+v\n", *d[0].(*string), *d[1].(*string), *d[2].(*string), *d[3].(*string)) + for i, k := range tr.container.HeadFields { + tr.Head[k] = *d[i].(*string) + } + tr.TimeStamp = ParseDateTime(ts) + err = json.Unmarshal([]byte(rd), &tr.Data) + if err != nil { + log.Error(err).Msg("storage.tracking.ScanP") + } + fmt.Printf("%+v, %v, %v\n", tr.Head, tr.TimeStamp, tr.Data) return err } @@ -181,7 +187,10 @@ func (cont *Container) Insert(tr *Track) lib.Ident { func ParseDateTime(inp string) *time.Time { ts, err := time.Parse("2006-01-02 15:04:05", inp) if err == nil { - //fmt.Printf("%+v\n", ts) + return &ts + } + ts, err = time.Parse("2006-01-02T15:04:05-07:00", inp) + if err == nil { return &ts } log.Error(err).Msg("storage.tracking.ParseDateTime")