From 3b842830ca172eab3c83cc95250197048f8ddf06 Mon Sep 17 00:00:00 2001 From: ankio Date: Wed, 18 Dec 2024 14:46:05 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20(rule):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8B=9B=E5=95=86=E9=93=B6=E8=A1=8C=E6=94=B6=E5=85=A5=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=A7=84=E5=88=99=E5=8F=8A=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=20#488?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增招商银行收入处理规则,支持解析银联入账短信并生成相应的账单对象。同时添加了对应的测试用例和测试数据文件,确保规则的正确性和可靠性。 --- .../main.js" | 22 ++++++++++++++++++- .../main.test.js" | 16 ++++++++++++++ ...6\350\241\214\346\224\266\345\205\245.txt" | 5 +++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 "src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/tests/\346\213\233\345\225\206\351\223\266\350\241\214\346\224\266\345\205\245.txt" diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.js" index baa2aab..2d9ea11 100644 --- "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.js" +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.js" @@ -40,6 +40,26 @@ const rules = [ obj.accountNameTo = `招商银行信用卡(${toNumber})`; return obj; } + ] , //您账户1999于11月12日15:04银联入账人民币0.09元,余额238.06元(微信零钱提现/微信零钱提现) + [ + //您账户1999于11月12日15:04银联入账人民币0.09元,余额238.06元(微信零钱提现/微信零钱提现) + /您账户(\d{4})于(\d+月\d+日\d+:\d+)(.*?)人民币([\d,]+.\d{2})元,余额(.*?)元((.*?))/, + match => { + let [, fromNumber, date, shopItem, money, total,shopName] = match; + + let obj = new RuleObject(); + + obj.money = toFloat(money); + obj.channel = `招商银行[入账]`; + obj.currency = 'CNY'; + obj.shopName = shopName; + obj.shopItem = shopItem; + obj.time = formatDate(date, "M月D日h:i"); + + obj.type = BillType.Income; + obj.accountNameFrom = `招商银行(${fromNumber})`; + return obj; + } ] ]; @@ -56,4 +76,4 @@ export function get(data) { return rule[1](match, t); } } -} \ No newline at end of file +} diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.test.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.test.js" index 10f56de..15ab1a5 100644 --- "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.test.js" +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/main.test.js" @@ -35,3 +35,19 @@ test('招商银行信用卡还款', () => "channel": '招商银行[还款]', }, ])); + +test('招商银行收入', () => + testAnkio('招商银行收入', [ + { + "type": "Income", + "money": 0.09, + "fee": 0, + "shopName": '微信零钱提现/微信零钱提现', + "shopItem": '银联入账', + "accountNameFrom": '招商银行(1999)', + "accountNameTo": '', + "currency": 'CNY', + "time": formatDate("11月12日15:04", "M月D日h:i"), + "channel": '招商银行[入账]', + }, + ])); diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/tests/\346\213\233\345\225\206\351\223\266\350\241\214\346\224\266\345\205\245.txt" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/tests/\346\213\233\345\225\206\351\223\266\350\241\214\346\224\266\345\205\245.txt" new file mode 100644 index 0000000..50d261e --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\213\233\345\225\206\351\223\266\350\241\214/tests/\346\213\233\345\225\206\351\223\266\350\241\214\346\224\266\345\205\245.txt" @@ -0,0 +1,5 @@ +{ +"sender": "95555", +"body": "【招商银行】您账户1999于11月12日15:04银联入账人民币0.09元,余额238.06元(微信零钱提现/微信零钱提现)", +"t": 1731395062038 +}