using System; using Newtonsoft.Json; namespace RevitHttpControl.Models { /// /// 任务状态响应 /// public class TaskStatusResponse { /// /// 外部执行ID(用于批处理回调) /// public string ExecutionId { get; set; } /// /// 任务ID /// public Guid TaskId { get; set; } /// /// 任务状态 /// public TaskStatus Status { get; set; } /// /// 任务结果(如果已完成) /// public object Result { get; set; } /// /// 错误消息(如果失败) /// public string ErrorMessage { get; set; } /// /// 创建时间 /// public DateTime CreatedAt { get; set; } /// /// 完成时间 /// public DateTime? CompletedAt { get; set; } } /// /// 任务状态枚举 /// public enum TaskStatus { /// /// 等待中 /// Pending, /// /// 运行中 /// Running, /// /// 已完成 /// Completed, /// /// 失败 /// Failed, /// /// 已取消 /// Cancelled } /// /// 通用异步操作响应 /// public class AsyncOperationResponse { /// /// 任务ID /// public Guid TaskId { get; set; } /// /// 状态查询URL /// public string StatusUrl { get; set; } } /// /// 批处理任务结果回调请求体 /// public class TaskResultCallbackRequest { [JsonProperty("execution_id")] public string ExecutionId { get; set; } [JsonProperty("software_id")] public string SoftwareId { get; set; } [JsonProperty("status")] public string Status { get; set; } [JsonProperty("error_message")] public string ErrorMessage { get; set; } [JsonProperty("result")] public object Result { get; set; } [JsonProperty("finished_at")] public string FinishedAt { get; set; } [JsonProperty("token")] public string Token { get; set; } } }