更新邮件解析服务,添加主题参数以增强解析能力;修改HTML文件以支持PWA和优化视图设置
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 18s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s

This commit is contained in:
孙诚
2025-12-25 13:40:26 +08:00
parent 728c39f43d
commit b14efd8d16
5 changed files with 32 additions and 13 deletions

View File

@@ -50,9 +50,10 @@ public class EmailHandleService(
}
var parsed = await ParseEmailBodyAsync(
from,
string.IsNullOrEmpty(emailMessage.Body)
? emailMessage.HtmlBody
from,
subject,
string.IsNullOrEmpty(emailMessage.Body)
? emailMessage.HtmlBody
: emailMessage.Body
);
if (parsed == null || parsed.Length == 0)
@@ -112,7 +113,8 @@ public class EmailHandleService(
var parsed = await ParseEmailBodyAsync(
emailMessage.From,
string.IsNullOrEmpty(emailMessage.Body)
emailMessage.Subject,
string.IsNullOrEmpty(emailMessage.Body)
? emailMessage.HtmlBody
: emailMessage.Body
);
@@ -159,7 +161,7 @@ public class EmailHandleService(
{
From = from,
Subject = subject,
ReceivedDate = date,
};
@@ -260,9 +262,9 @@ public class EmailHandleService(
return inserted;
}
private async Task<(string card, string reason, decimal amount, decimal balance, TransactionType type, DateTime? occurredAt)[]?> ParseEmailBodyAsync(string from, string body)
private async Task<(string card, string reason, decimal amount, decimal balance, TransactionType type, DateTime? occurredAt)[]?> ParseEmailBodyAsync(string from, string subject, string body)
{
var service = emailParsers.FirstOrDefault(s => s.CanParse(from, body));
var service = emailParsers.FirstOrDefault(s => s.CanParse(from, subject, body));
if (service == null)
{