From 675f1ccbdeeeee9b912ba047f255c8c2a7c49773 Mon Sep 17 00:00:00 2001 From: TrioTea <111053672+TrioTea@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:44:31 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20=E6=96=B0=E5=A2=9E=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7=E5=86=9C=E4=B8=9A=E9=93=B6=E8=A1=8C?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E8=A7=84=E5=88=99=E3=80=81=E6=94=AF=E5=87=BA?= =?UTF-8?q?=E9=A2=9D=E5=A4=96=E5=85=BC=E5=AE=B9=E4=B8=80=E7=A7=8D=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=87=BA=E7=8E=B0=E7=9A=84=E6=B6=88=E6=81=AF=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=20(#569)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main.js" | 25 ++++++++++++-- .../main.test.js" | 34 ++++++++++++++++++- ...\345\215\241\346\224\257\345\207\2722.txt" | 1 + ...0\345\215\241\351\200\200\346\254\276.txt" | 1 + 4 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 "src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\346\224\257\345\207\2722.txt" create mode 100644 "src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\351\200\200\346\254\276.txt" diff --git "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.js" "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.js" index 9ae54e4e..2a157dfe 100644 --- "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.js" +++ "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.js" @@ -8,7 +8,7 @@ const TITLE = ['交易成功通知']; const rules = [ // 支出规则 [ - /交易时间:(.*?)\n交易类型:卡号尾号((\d+)),网上支付\n交易金额:([\d,]+.\d{2})元\n可用余额:.*?元\n交易地址:(.*?),(.*?)$/, + /交易时间:(.*?)\n交易类型:卡号尾号((\d+)),网上支付\n交易金额:([\d,]+.\d{2})元\n可用余额:.*?元\n交易地址:(.*?)(?:,(.*))?$/, match => { const [, time, number, money, shopName, shopItem] = match; @@ -16,7 +16,7 @@ const rules = [ BillType.Expend, toFloat(money), shopName, - shopItem, + shopItem || shopName, // 如果没有详细描述,则使用商户名称作为描述 `${SOURCE}(${number})`, '', 0.0, @@ -35,7 +35,7 @@ const rules = [ return new RuleObject( BillType.Income, // 收入类型 toFloat(money), - SOURCE, + SOURCE, // 商户名称(如:农业银行信用卡) description, // 描述(如:天天返现) `${SOURCE}(${number})`, '', @@ -46,6 +46,25 @@ const rules = [ ) }, ], + // 收入规则(退款收入) + [ + /交易时间:(.*?)\n交易类型:卡号尾号((\d+)),退货\n交易金额:([\d,]+.\d{2})元\n可用余额:.*?元\n交易地址:(.*)$/, + match => { + const [, time, number, money, description] = match; + return new RuleObject( + BillType.Income, // 收入类型 + toFloat(money), + description, // 商户名称(如:多多支付退款) + description, // 描述 + `${SOURCE}(${number})`, + '', + 0.0, + Currency['人民币'], + formatDate(time, 'Y-M-D h:i:s'), + `退款[${SOURCE}-收入]` + ) + }, + ], ]; diff --git "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.test.js" "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.test.js" index 87bda8be..beb2f55c 100644 --- "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.test.js" +++ "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/main.test.js" @@ -23,6 +23,22 @@ test('农业银行信用卡支出', () => }, ])); +test('农业银行信用卡支出2', () => + testAnkio('农业银行信用卡支出2', [ + { + "type": "Expend", + "money": 2.00, + "fee": 0, + "shopName": "杭州兑吧网络科技有限公司", + "shopItem": "杭州兑吧网络科技有限公司", + "accountNameFrom": "农业银行信用卡(8487)", + "accountNameTo": "", + "currency": "CNY", + "time": formatDate('2024-12-02 08:21:01', 'Y-M-D h:i:s'), + "channel": "杭州兑吧网络科技有限公司[农业银行信用卡-消费]" + } + ])); + test("农业银行信用卡刷卡金返现", () => testAnkio('农业银行信用卡刷卡金返现', [ { @@ -37,4 +53,20 @@ test("农业银行信用卡刷卡金返现", () => "time": formatDate('2024-11-21 09:15:06', 'Y-M-D h:i:s'), "channel": '刷卡金返现[农业银行信用卡-收入]' } - ])); + ])); + +test('农业银行信用卡退款', () => + testAnkio('农业银行信用卡退款', [ + { + "type": "Income", + "money": 17.67, + "fee": 0, + "shopName": "多多支付退款", + "shopItem": "多多支付退款", + "accountNameFrom": "农业银行信用卡(6395)", + "accountNameTo": "", + "currency": "CNY", + "time": formatDate('2024-12-02 12:32:19', 'Y-M-D h:i:s'), + "channel": "退款[农业银行信用卡-收入]" + } + ])); \ No newline at end of file diff --git "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\346\224\257\345\207\2722.txt" "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\346\224\257\345\207\2722.txt" new file mode 100644 index 00000000..9858f85b --- /dev/null +++ "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\346\224\257\345\207\2722.txt" @@ -0,0 +1 @@ +{"mMap":{"tableName":"AppMessage","description":"交易时间:2024-12-02 08:21:01\n交易类型:卡号尾号(8487),网上支付\n交易金额:2.00元\n可用余额:5818.22元\n交易地址:杭州兑吧网络科技有限公司","source":"农业银行信用卡","t":1733098872406,"arg":"msgId","type":5,"appId":"","msgId":11269488,"title":"交易成功通知"}} \ No newline at end of file diff --git "a/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\351\200\200\346\254\276.txt" "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\351\200\200\346\254\276.txt" new file mode 100644 index 00000000..446b6d6b --- /dev/null +++ "b/src/rule/com.tencent.mm/app/\345\276\256\344\277\241\345\205\254\344\274\227\345\217\267\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241/tests/\345\206\234\344\270\232\351\223\266\350\241\214\344\277\241\347\224\250\345\215\241\351\200\200\346\254\276.txt" @@ -0,0 +1 @@ +{"mMap":{"tableName":"AppMessage","description":"交易时间:2024-12-02 12:32:19\n交易类型:卡号尾号(6395),退货\n交易金额:17.67元\n可用余额:29478.66元\n交易地址:多多支付退款","source":"农业银行信用卡","t":1733113940899,"arg":"msgId","type":5,"appId":"","msgId":361339,"title":"交易成功通知"}} \ No newline at end of file