using GFramework.Core.Abstractions.Command; using GFramework.Core.Abstractions.Cqrs.Command; using GFramework.Core.Rule; namespace GFramework.Core.Command; /// /// 抽象异步命令基类,用于处理有返回值的异步命令操作 /// /// 命令输入类型,必须实现ICommandInput接口 /// 命令执行结果类型 public abstract class AbstractAsyncCommand(TInput input) : ContextAwareBase, IAsyncCommand where TInput : ICommandInput { /// /// 执行异步命令并返回结果的实现方法 /// /// 表示异步操作且包含结果的任务 async Task IAsyncCommand.ExecuteAsync() { return await OnExecuteAsync(input); } /// /// 定义异步执行逻辑的抽象方法,由派生类实现具体业务逻辑并返回结果 /// /// 命令输入参数 /// 表示异步操作且包含结果的任务 protected abstract Task OnExecuteAsync(TInput input); }