code refactor

This commit is contained in:
MaysWind
2024-10-20 21:38:51 +08:00
parent 3795e788bb
commit 35ec18cfac
3 changed files with 9 additions and 3 deletions
@@ -1,6 +1,8 @@
package fireflyIII package fireflyIII
import ( import (
"strings"
"github.com/mayswind/ezbookkeeping/pkg/converters/datatable" "github.com/mayswind/ezbookkeeping/pkg/converters/datatable"
"github.com/mayswind/ezbookkeeping/pkg/errs" "github.com/mayswind/ezbookkeeping/pkg/errs"
"github.com/mayswind/ezbookkeeping/pkg/models" "github.com/mayswind/ezbookkeeping/pkg/models"
@@ -30,7 +32,11 @@ func (p *fireflyIIITransactionDataRowParser) Parse(data map[datatable.Transactio
// parse long date time and timezone // parse long date time and timezone
if rowData[datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME] != "" { if rowData[datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME] != "" {
dateTime, err := utils.ParseFromLongDateTimeWithTimezone(rowData[datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME]) if strings.Index(rowData[datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME], "T") <= 0 {
return nil, false, errs.ErrTransactionTimeInvalid
}
dateTime, err := utils.ParseFromLongDateTimeWithTimezone(strings.ReplaceAll(rowData[datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME], "T", " "))
if err != nil { if err != nil {
return nil, false, errs.ErrTransactionTimeInvalid return nil, false, errs.ErrTransactionTimeInvalid
+1 -1
View File
@@ -10,7 +10,7 @@ import (
const ( const (
longDateTimeFormat = "2006-01-02 15:04:05" longDateTimeFormat = "2006-01-02 15:04:05"
longDateTimeWithTimezoneFormat = "2006-01-02T15:04:05Z07:00" longDateTimeWithTimezoneFormat = "2006-01-02 15:04:05Z07:00"
longDateTimeWithoutSecondFormat = "2006-01-02 15:04" longDateTimeWithoutSecondFormat = "2006-01-02 15:04"
shortDateTimeFormat = "2006-1-2 15:4:5" shortDateTimeFormat = "2006-1-2 15:4:5"
yearMonthDateTimeFormat = "2006-01" yearMonthDateTimeFormat = "2006-01"
+1 -1
View File
@@ -133,7 +133,7 @@ func TestParseFromLongDateTime(t *testing.T) {
func TestParseFromLongDateTimeWithTimezone(t *testing.T) { func TestParseFromLongDateTimeWithTimezone(t *testing.T) {
expectedValue := int64(1617238883) expectedValue := int64(1617238883)
actualTime, err := ParseFromLongDateTimeWithTimezone("2021-04-01T06:01:23+05:00") actualTime, err := ParseFromLongDateTimeWithTimezone("2021-04-01 06:01:23+05:00")
assert.Equal(t, nil, err) assert.Equal(t, nil, err)
actualValue := actualTime.Unix() actualValue := actualTime.Unix()