diff --git a/core/db/transaction.go b/core/db/transaction.go index 8e2a0204a..302f23e13 100644 --- a/core/db/transaction.go +++ b/core/db/transaction.go @@ -13,15 +13,15 @@ import ( // Transaction is a single charging transaction type Transaction struct { - ID uint `json:"-" gorm:"primarykey"` + ID uint `json:"-" csv:"-" gorm:"primarykey"` Created time.Time `json:"created"` Finished time.Time `json:"finished"` Loadpoint string `json:"loadpoint"` Identifier string `json:"identifier"` Vehicle string `json:"vehicle"` - MeterStart float64 `json:"meterStart" gorm:"column:meter_start_kwh"` - MeterStop float64 `json:"meterStop" gorm:"column:meter_end_kwh"` - ChargedEnergy float64 `json:"chargedEnergy" gorm:"column:charged_kwh"` + MeterStart float64 `json:"meterStart" csv:"Meter Start (kWh)" gorm:"column:meter_start_kwh"` + MeterStop float64 `json:"meterStop" csv:"Meter Stop (kWh)" gorm:"column:meter_end_kwh"` + ChargedEnergy float64 `json:"chargedEnergy" csv:"Charged Energy (kWh)" gorm:"column:charged_kwh"` } // Stop stops charging session with end meter reading and due total amount @@ -39,10 +39,15 @@ var _ api.CsvWriter = (*Transactions)(nil) func (t *Transactions) writeHeader(ww *csv.Writer) { var row []string for _, f := range structs.Fields(Transaction{}) { - if f.Tag("json") == "-" { + caption := f.Tag("csv") + switch { + case caption == "-": continue + case caption == "": + caption = f.Name() } - row = append(row, f.Name()) + + row = append(row, caption) } _ = ww.Write(row) } @@ -50,7 +55,7 @@ func (t *Transactions) writeHeader(ww *csv.Writer) { func (t *Transactions) writeRow(ww *csv.Writer, r Transaction) { var row []string for _, f := range structs.Fields(r) { - if f.Tag("json") == "-" { + if f.Tag("csv") == "-" { continue } @@ -69,6 +74,7 @@ func (t *Transactions) writeRow(ww *csv.Writer, r Transaction) { row = append(row, val) } + _ = ww.Write(row) } diff --git a/server/http_handler.go b/server/http_handler.go index ffd5392d0..6aa99e8d9 100644 --- a/server/http_handler.go +++ b/server/http_handler.go @@ -156,7 +156,7 @@ func sessionHandler(w http.ResponseWriter, r *http.Request) { } var res db.Transactions - if txn := dbserver.Instance.Where("charged_kwh>0").Order("created desc").Find(&res); txn.Error != nil { + if txn := dbserver.Instance.Where("charged_kwh>=0.05").Order("created desc").Find(&res); txn.Error != nil { jsonError(w, http.StatusInternalServerError, txn.Error) return }