using Service.AI; namespace Service.EmailServices.EmailParse; public class EmailParseForm95555( ILogger logger, IOpenAiService openAiService ) : EmailParseServicesBase(logger, openAiService) { public override bool CanParse(string from, string subject, string body) { if (!from.Contains("95555@message.cmbchina.com")) { return false; } if (!subject.Contains("账户变动通知")) { return false; } // 不能包含HTML标签 if (Regex.IsMatch(body, "<.*?>")) { return false; } return true; } public override Task<( string card, string reason, decimal amount, decimal balance, TransactionType type, DateTime? occurredAt )[]> ParseEmailContentAsync(string emailContent) { // 示例1:您账户8826于12月31日09:34在财付通-微信支付-这有电快捷支付1.00元,余额30.21 // 示例2: 您账户8826于12月31日10:47入账款项,人民币1000.00,余额人民币1030.21。 var pattern = "您账户(?\\d+)" + // 卡号 "于(?