diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.js" new file mode 100644 index 0000000..a9b589f --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.js" @@ -0,0 +1,40 @@ +import { BillType, formatDate, RuleObject, splitSms, toFloat } from 'common/index.js'; + +let rules = [ + { + // 您账户0561于11月6日13:03通过财付通支付1.00元。活期余额13773.30元。对方户名:微信红包。 + 'regex': + /您账户(\d{4})于(.*?)通过(.*?)支付(.*?)元。活期余额(.*?)元。对方户名:(.*?)。/, + 'match': (match,t) => { + let [, number, date, shopItem, money,,shopName ] = match; + let obj = new RuleObject(); + + obj.money = toFloat(money); + + let type = BillType.Expend; + let typeName = "支出"; + obj.channel = `北京银行[${typeName}]`; + obj.shopItem = shopItem; + obj.time = t; + obj.shopName = shopName; + + obj.type = type; + + obj.accountNameFrom = `北京银行(${number})`; + return obj; + } + }, +]; + +export function get (data) { + let { sender, bankName, text, t } = splitSms(data); + if (bankName !== '北京银行') { + return null; + } + for (let rule of rules) { + const match = text.match(rule.regex); + if (match) { + return rule.match(match,t); + } + } +} diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.test.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.test.js" new file mode 100644 index 0000000..18daaf6 --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/main.test.js" @@ -0,0 +1,21 @@ +const { get } = require('./main'); +const { testAnkio, testAnkioInit } = require('../../../../tests/TestUtils'); +const { formatDate } = require('common/Time.js'); +testAnkioInit(get, __dirname, 'com.android.phone'); +test('北京银行支出', () => + testAnkio('北京银行支出', [ + { + "type": "Expend", + "money": 1, + "fee": 0, + "shopName": '微信红包', + "shopItem": '财付通', + "accountNameFrom": '北京银行(0561)', + "accountNameTo": '', + "currency": 'CNY', + "time": 1730869418140, + "channel": '北京银行[支出]', + }, + ])); + + diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/tests/\345\214\227\344\272\254\351\223\266\350\241\214\346\224\257\345\207\272.txt" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/tests/\345\214\227\344\272\254\351\223\266\350\241\214\346\224\257\345\207\272.txt" new file mode 100644 index 0000000..8d6251e --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\214\227\344\272\254\351\223\266\350\241\214/tests/\345\214\227\344\272\254\351\223\266\350\241\214\346\224\257\345\207\272.txt" @@ -0,0 +1,5 @@ +{ +"sender": "95526", +"body": "【北京银行】您账户0561于11月6日13:03通过财付通支付1.00元。活期余额13773.30元。对方户名:微信红包。", +"t": 1730869418140 +}