diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/main.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/main.js" new file mode 100644 index 0000000..34f67d3 --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/main.js" @@ -0,0 +1,37 @@ +import { BillType, Currency, formatDate, RuleObject, splitSms, toFloat } from 'common/index.js'; + +let rules = [ + { + // *辉您公积金账号[尾号6864]于10月30日缴存2186元,余额12611.76元。【泉州公积金中心】 + 'regex': /(.*?)您公积金账号\[尾号(\d+)\]于(.*?)缴存(.*?)元,余额(.*?)元。【泉州公积金中心】/, + 'match': (match,t) => { + let [, shopName,number,date, money,shopItem, ] = match; + let obj = new RuleObject(); + + obj.money = toFloat(money); + obj.channel = `泉州公积金中心[收入]`; + obj.shopName = shopName; + obj.shopItem = `余额:${shopItem}`; + obj.time = t; + + obj.type = BillType.Income; + + obj.accountNameFrom = `泉州公积金中心(${number})`; + return obj; + } + + }, +]; + +export function get (data) { + let { sender, bankName, text, t } = splitSms(data); + if (bankName !== '福建12329') { + 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\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/main.test.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/main.test.js" new file mode 100644 index 0000000..c9e3abb --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/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": "Income", + "money": 2186, + "fee": 0, + "shopName": '*辉', + "shopItem": '余额:12611.76', + "accountNameFrom": '泉州公积金中心(6864)', + "accountNameTo": '', + "currency": 'CNY', + "time": 1730341259074, + "channel": '泉州公积金中心[收入]', + }, + ])); + + diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/tests/\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203\346\224\266\345\205\245.txt" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/tests/\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203\346\224\266\345\205\245.txt" new file mode 100644 index 0000000..66610ae --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203/tests/\346\263\211\345\267\236\345\205\254\347\247\257\351\207\221\344\270\255\345\277\203\346\224\266\345\205\245.txt" @@ -0,0 +1,5 @@ +{ +"sender": "12329", +"body": "【福建12329】*辉您公积金账号[尾号6864]于10月30日缴存2186元,余额12611.76元。【泉州公积金中心】", +"t": 1730341259074 +}