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; }
}
}