using GFramework.Core.Abstractions.CQRS.Query; using GFramework.Core.Abstractions.Query; using GFramework.Core.Rule; namespace GFramework.Core.Query; /// /// 抽象异步查询基类,用于处理输入类型为TInput、结果类型为TResult的异步查询操作 /// /// 查询输入类型,必须实现IQueryInput接口 /// 查询结果类型 /// 查询输入参数 public abstract class AbstractAsyncQuery( TInput input ) : ContextAwareBase, IAsyncQuery where TInput : IQueryInput { /// /// 执行异步查询操作 /// /// 返回查询结果的异步任务 public Task DoAsync() { return OnDoAsync(input); } /// /// 抽象方法,用于实现具体的异步查询逻辑 /// /// 查询输入参数 /// 返回查询结果的异步任务 protected abstract Task OnDoAsync(TInput input); }