From 0c0a4440cb6b0e4dc3c3335bd069fa9ee7698c19 Mon Sep 17 00:00:00 2001 From: ankio Date: Wed, 18 Dec 2024 11:39:04 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20(rule):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B3=89=E5=B7=9E=E5=85=AC=E7=A7=AF=E9=87=91=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E8=A7=A3=E6=9E=90=E8=A7=84=E5=88=99=E5=8F=8A?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=20#469?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增泉州公积金中心短信解析规则,支持解析公积金缴存信息并生成收入账单对象。同时添加了相应的测试用例和测试数据,确保规则的正确性和稳定性。 --- .../main.js" | 37 +++++++++++++++++++ .../main.test.js" | 21 +++++++++++ ...5\345\277\203\346\224\266\345\205\245.txt" | 5 +++ 3 files changed, 63 insertions(+) create mode 100644 "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" create mode 100644 "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" create mode 100644 "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" 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 +}