namespace Service; /// /// 智能处理服务 - 使用 Agent Framework 重构 /// public interface ISmartHandleServiceV2 { /// /// 使用 Agent Framework 进行智能分类 /// Task> SmartClassifyAgentAsync( long[] transactionIds, Action<(string type, string data)> chunkAction); /// /// 使用 Agent Framework 解析单行账单 /// Task> ParseOneLineBillAgentAsync(string text); } /// /// 智能处理服务实现 - Agent Framework 版本 /// public class SmartHandleServiceV2( ClassificationAgent classificationAgent, ParsingAgent parsingAgent, ITransactionCategoryRepository categoryRepository, ILogger logger ) : ISmartHandleServiceV2 { /// /// 使用 Agent Framework 进行智能分类 /// public async Task> SmartClassifyAgentAsync( long[] transactionIds, Action<(string type, string data)> chunkAction) { try { logger.LogInformation("开始执行智能分类 Agent,ID 数量: {Count}", transactionIds.Length); var result = await classificationAgent.ExecuteAsync(transactionIds, categoryRepository); logger.LogInformation("分类完成:{Summary}", result.Summary); return result; } catch (Exception ex) { logger.LogError(ex, "智能分类 Agent 执行失败"); throw; } } /// /// 使用 Agent Framework 解析单行账单 /// public async Task> ParseOneLineBillAgentAsync(string text) { try { logger.LogInformation("开始解析账单: {Text}", text); var result = await parsingAgent.ExecuteAsync(text); if (result.Success) { logger.LogInformation("解析成功: {Summary}", result.Summary); } else { logger.LogWarning("解析失败: {Error}", result.Error); } return result; } catch (Exception ex) { logger.LogError(ex, "解析 Agent 执行失败"); throw; } } }