using F9WebAiTest.Application.Dtos.SYS.Reports;
using MediatR;
namespace F9WebAiTest.Application.Interfaces.Reports;
///
/// 报表数据提供者(对应 F9 的 IReportService):
/// 报表配置 Config.DsName 指定查询名称,后端按名称解析到对应实现执行查询。
/// 实现类注册到 DI 后自动被发现(静态 ReportName 属性作为解析键)。
/// 查询实现应通过 MediatR 发送 CQRS Query,由 QueryHandler 组装 ReportDto_DataSource。
///
public interface IReportDataProvider
{
/// 查询名称(对应报表配置中的 DsName,如 "RepDt_Sys_Users")
string ReportName { get; }
///
/// 执行查询。pairs 为前端查询控件收集的键值对(键 = Config.Parms[].Name);
/// 返回含记录集(Field_Data)与报表参数(Parameter_Data)的数据源。
///
Task GetData(Dictionary pairs, IMediator mediator);
}