diff --git "a/src/rule/app/com.tencent.mm/\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/app/com.tencent.mm/\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 ba47c74..6a6552f 100644 --- "a/src/rule/app/com.tencent.mm/\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/app/com.tencent.mm/\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" @@ -11,15 +11,26 @@ const TITLES_BOC = ['交易成功通知']; // 正则表达式和处理函数的映射关系 const regexMapBOC = new Map([ [ - /交易时间:(.*?)\n交易类型:卡号尾号((\d+)),网上支付\n交易金额:([\d,]+.\d{2})元\n可用余额:.*?元\n交易地址:(.*?)-(.*?)$/, + //交易时间:2024-05-27 00:30:49\n交易类型:卡号尾号(5981),退货\n交易金额:1281.56元\n可用余额:67591.21元\n交易地址:财付通退款 + /交易时间:(.*?)\n交易类型:卡号尾号((\d+)),(.*?)\n交易金额:([\d,]+.\d{2})元\n可用余额:.*?元\n交易地址:(.*?)$/, match => { - const [, time, number, money, shopName, shopItem] = match; + const [, time, number, type, money, shopName] = match; + + let billType = BillType.Expend; + let channel = ``; + if (type.includes('退货')) { + billType = BillType.Income; + channel = `收入`; + } else if (type.includes('支付')) { + billType = BillType.Expend; + channel = `支出`; + } return { money: toFloat(money), - type: BillType.Expend, + type: billType, time: formatDate(time, 'Y-M-D h:i:s'), //2024-05-12 17:51 - shopItem: shopItem, + shopItem: type, shopName: shopName, accountNameFrom: `${SOURCE_NAME_BOC}(${number})`, Currency: Currency['人民币'], diff --git "a/src/rule/app/com.tencent.mm/\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/app/com.tencent.mm/\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 c9b9fc9..a0c31d6 100644 --- "a/src/rule/app/com.tencent.mm/\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/app/com.tencent.mm/\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" @@ -13,8 +13,8 @@ test('农业银行信用卡支出', () => type: 0, money: 1281.56, fee: 0, - shopName: '财付通,微信支付', - shopItem: '京东商城平台商户', + shopName: '财付通,微信支付-京东商城平台商户', + shopItem: '网上支付', accountNameFrom: '农业银行信用卡(5981)', accountNameTo: '', currency: 'CNY', @@ -22,3 +22,18 @@ test('农业银行信用卡支出', () => channel: '微信[农业银行信用卡-支出]', }, ])); +test('农业银行信用卡退款', () => + testAnkio('农业银行信用卡退款', [ + { + type: 1, + money: 1281.56, + fee: 0, + shopName: '财付通退款', + shopItem: '退货', + accountNameFrom: '农业银行信用卡(5981)', + accountNameTo: '', + currency: 'CNY', + time: formatDate('2024-05-27 00:30:49', 'Y-M-D h:i:s'), + channel: '微信[农业银行信用卡-收入]', + }, + ])); diff --git "a/src/rule/app/com.tencent.mm/\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/app/com.tencent.mm/\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 0000000..f2895c8 --- /dev/null +++ "b/src/rule/app/com.tencent.mm/\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,12 @@ + { + "mMap": { + "tableName": "AppMessage", + "description": "交易时间:2024-05-27 00:30:49\n交易类型:卡号尾号(5981),退货\n交易金额:1281.56元\n可用余额:67591.21元\n交易地址:财付通退款", + "source": "农业银行信用卡", + "arg": "msgId", + "type": 5, + "appId": "", + "msgId": 10111361, + "title": "交易成功通知" + } +}