WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit cc792b9

Browse files
committed
import credit card repayment transactions from wechat pay statement file (#279)
1 parent b916217 commit cc792b9

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

pkg/converters/wechat/wechat_pay_transaction_data_csv_file_importer_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,23 @@ func TestWeChatPayCsvFileImporterParseImportedData_ParseAccountName(t *testing.T
261261
assert.Equal(t, 1, len(allNewTransactions))
262262
assert.Equal(t, "Wallet", allNewTransactions[0].OriginalSourceAccountName)
263263
assert.Equal(t, "test", allNewTransactions[0].OriginalDestinationAccountName)
264+
265+
// transfer from wechat wallet
266+
data5 := "微信支付账单明细,,,,\n" +
267+
"微信昵称:[xxx],,,,\n" +
268+
"起始时间:[2024-01-01 00:00:00] 终止时间:[2024-09-01 23:59:59],,,,\n" +
269+
",,,,\n" +
270+
"----------------------微信支付账单明细列表--------------------,,,,\n" +
271+
"交易时间,交易类型,收/支,金额(元),支付方式,当前状态\n" +
272+
"2024-09-03 23:59:59,信用卡还款,/,¥0.01,零钱,支付成功\n"
273+
assert.Nil(t, err)
274+
275+
allNewTransactions, _, _, _, _, _, err = converter.ParseImportedData(context, user, []byte(data5), 0, nil, nil, nil, nil, nil)
276+
assert.Nil(t, err)
277+
278+
assert.Equal(t, 1, len(allNewTransactions))
279+
assert.Equal(t, "零钱", allNewTransactions[0].OriginalSourceAccountName)
280+
assert.Equal(t, "", allNewTransactions[0].OriginalDestinationAccountName)
264281
}
265282

266283
func TestWeChatPayCsvFileImporterParseImportedData_ParseDescription(t *testing.T) {

pkg/converters/wechat/wechat_pay_transaction_data_row_parser.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const wechatPayTransactionDescriptionColumnName = "备注"
2626

2727
const wechatPayTransactionDataCategoryTransferToWeChatWallet = "零钱充值"
2828
const wechatPayTransactionDataCategoryTransferFromWeChatWallet = "零钱提现"
29+
const wechatPayTransactionDataCategoryCreditCardRepayment = "信用卡还款"
2930

3031
const wechatPayTransactionDataStatusRefundName = "退款"
3132

@@ -125,6 +126,9 @@ func (p *weChatPayTransactionDataRowParser) Parse(ctx core.Context, user *models
125126
} else if data[datatable.TRANSACTION_DATA_TABLE_SUB_CATEGORY] == wechatPayTransactionDataCategoryTransferFromWeChatWallet {
126127
data[datatable.TRANSACTION_DATA_TABLE_ACCOUNT_NAME] = localeTextItems.DataConverterTextItems.WeChatWallet
127128
data[datatable.TRANSACTION_DATA_TABLE_RELATED_ACCOUNT_NAME] = relatedAccountName
129+
} else if data[datatable.TRANSACTION_DATA_TABLE_SUB_CATEGORY] == wechatPayTransactionDataCategoryCreditCardRepayment {
130+
data[datatable.TRANSACTION_DATA_TABLE_ACCOUNT_NAME] = relatedAccountName
131+
data[datatable.TRANSACTION_DATA_TABLE_RELATED_ACCOUNT_NAME] = ""
128132
} else {
129133
log.Warnf(ctx, "[wechat_pay_transaction_data_row_parser.Parse] skip parsing transaction in row \"%s\", because unknown transfer transaction category \"%s\"", rowId, data[datatable.TRANSACTION_DATA_TABLE_SUB_CATEGORY])
130134
return nil, false, nil

0 commit comments

Comments
 (0)