mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 09:44:26 +08:00
code refactor
This commit is contained in:
@@ -98,6 +98,11 @@ func (c *alipayTransactionDataCsvImporter) ParseImportedData(ctx core.Context, u
|
|||||||
for i := 1; i < len(allLines); i++ {
|
for i := 1; i < len(allLines); i++ {
|
||||||
items := allLines[i]
|
items := allLines[i]
|
||||||
|
|
||||||
|
if len(items) < len(headerLineItems) {
|
||||||
|
log.Errorf(ctx, "[alipayTransactionDataCsvImporter.ParseImportedData] cannot parse row \"index:%d\" for user \"uid:%d\", because may missing some columns (column count %d in data row is less than header column count %d)", i, user.Uid, len(items), len(headerLineItems))
|
||||||
|
return nil, nil, nil, nil, nil, nil, errs.ErrFewerFieldsInDataRowThanInHeaderRow
|
||||||
|
}
|
||||||
|
|
||||||
if items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_INCOME] &&
|
if items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_INCOME] &&
|
||||||
items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_EXPENSE] &&
|
items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_EXPENSE] &&
|
||||||
items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_TRANSFER] {
|
items[fundStatusColumnIdx] != alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_TRANSFER] {
|
||||||
@@ -124,18 +129,18 @@ func (c *alipayTransactionDataCsvImporter) ParseImportedData(ctx core.Context, u
|
|||||||
fundStatusColumnExists,
|
fundStatusColumnExists,
|
||||||
)
|
)
|
||||||
|
|
||||||
if len(items) < len(headerLineItems) {
|
|
||||||
log.Errorf(ctx, "[alipayTransactionDataCsvImporter.ParseImportedData] cannot parse row \"index:%d\" for user \"uid:%d\", because may missing some columns (column count %d in data row is less than header column count %d)", i, user.Uid, len(items), len(headerLineItems))
|
|
||||||
return nil, nil, nil, nil, nil, nil, errs.ErrFewerFieldsInDataRowThanInHeaderRow
|
|
||||||
}
|
|
||||||
|
|
||||||
if items[statusColumnIdx] == alipayTransactionDataStatusSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusPaymentSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusRepaymentSuccessName {
|
if items[statusColumnIdx] == alipayTransactionDataStatusSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusPaymentSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusRepaymentSuccessName {
|
||||||
dataTable.Add(data)
|
dataTable.Add(data)
|
||||||
} else if items[statusColumnIdx] == alipayTransactionDataStatusClosedName {
|
} else if items[statusColumnIdx] == alipayTransactionDataStatusClosedName {
|
||||||
dataTable.Add(data)
|
dataTable.Add(data)
|
||||||
} else if items[statusColumnIdx] == alipayTransactionDataStatusRefundSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusTaxRefundSuccessName {
|
} else if items[statusColumnIdx] == alipayTransactionDataStatusRefundSuccessName || items[statusColumnIdx] == alipayTransactionDataStatusTaxRefundSuccessName {
|
||||||
data[datatable.DATA_TABLE_TRANSACTION_TYPE] = alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_EXPENSE]
|
amount, err := utils.ParseAmount(data[datatable.DATA_TABLE_AMOUNT])
|
||||||
data[datatable.DATA_TABLE_AMOUNT] = "-" + data[datatable.DATA_TABLE_AMOUNT]
|
|
||||||
|
if err == nil {
|
||||||
|
data[datatable.DATA_TABLE_TRANSACTION_TYPE] = alipayTransactionTypeFundStatusNameMapping[models.TRANSACTION_TYPE_EXPENSE]
|
||||||
|
data[datatable.DATA_TABLE_AMOUNT] = utils.FormatAmount(-amount)
|
||||||
|
}
|
||||||
|
|
||||||
dataTable.Add(data)
|
dataTable.Add(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,12 @@ func (c *feideeMymoneyTransactionDataCsvImporter) ParseImportedData(ctx core.Con
|
|||||||
|
|
||||||
for i := 1; i < len(allLines); i++ {
|
for i := 1; i < len(allLines); i++ {
|
||||||
items := allLines[i]
|
items := allLines[i]
|
||||||
|
|
||||||
|
if len(items) < len(headerLineItems) {
|
||||||
|
log.Errorf(ctx, "[feidee_mymoney_transaction_data_csv_file_importer.ParseImportedData] cannot parse row \"index:%d\" for user \"uid:%d\", because may missing some columns (column count %d in data row is less than header column count %d)", i, user.Uid, len(items), len(headerLineItems))
|
||||||
|
return nil, nil, nil, nil, nil, nil, errs.ErrFewerFieldsInDataRowThanInHeaderRow
|
||||||
|
}
|
||||||
|
|
||||||
data, relatedId := c.parseTransactionData(items,
|
data, relatedId := c.parseTransactionData(items,
|
||||||
timeColumnIdx,
|
timeColumnIdx,
|
||||||
timeColumnExists,
|
timeColumnExists,
|
||||||
@@ -119,11 +125,6 @@ func (c *feideeMymoneyTransactionDataCsvImporter) ParseImportedData(ctx core.Con
|
|||||||
relatedIdColumnExists,
|
relatedIdColumnExists,
|
||||||
)
|
)
|
||||||
|
|
||||||
if len(items) < len(headerLineItems) {
|
|
||||||
log.Errorf(ctx, "[feidee_mymoney_transaction_data_csv_file_importer.ParseImportedData] cannot parse row \"index:%d\" for user \"uid:%d\", because may missing some columns (column count %d in data row is less than header column count %d)", i, user.Uid, len(items), len(headerLineItems))
|
|
||||||
return nil, nil, nil, nil, nil, nil, errs.ErrFewerFieldsInDataRowThanInHeaderRow
|
|
||||||
}
|
|
||||||
|
|
||||||
transactionType := data[datatable.DATA_TABLE_TRANSACTION_TYPE]
|
transactionType := data[datatable.DATA_TABLE_TRANSACTION_TYPE]
|
||||||
|
|
||||||
if transactionType == "余额变更" || transactionType == "收入" || transactionType == "支出" {
|
if transactionType == "余额变更" || transactionType == "收入" || transactionType == "支出" {
|
||||||
|
|||||||
Reference in New Issue
Block a user