TellmeRevitPluging/Models/TaskModels.cs

120 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using Newtonsoft.Json;
namespace RevitHttpControl.Models
{
/// <summary>
/// 任务状态响应
/// </summary>
public class TaskStatusResponse
{
/// <summary>
/// 外部执行ID用于批处理回调
/// </summary>
public string ExecutionId { get; set; }
/// <summary>
/// 任务ID
/// </summary>
public Guid TaskId { get; set; }
/// <summary>
/// 任务状态
/// </summary>
public TaskStatus Status { get; set; }
/// <summary>
/// 任务结果(如果已完成)
/// </summary>
public object Result { get; set; }
/// <summary>
/// 错误消息(如果失败)
/// </summary>
public string ErrorMessage { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
/// <summary>
/// 完成时间
/// </summary>
public DateTime? CompletedAt { get; set; }
}
/// <summary>
/// 任务状态枚举
/// </summary>
public enum TaskStatus
{
/// <summary>
/// 等待中
/// </summary>
Pending,
/// <summary>
/// 运行中
/// </summary>
Running,
/// <summary>
/// 已完成
/// </summary>
Completed,
/// <summary>
/// 失败
/// </summary>
Failed,
/// <summary>
/// 已取消
/// </summary>
Cancelled
}
/// <summary>
/// 通用异步操作响应
/// </summary>
public class AsyncOperationResponse
{
/// <summary>
/// 任务ID
/// </summary>
public Guid TaskId { get; set; }
/// <summary>
/// 状态查询URL
/// </summary>
public string StatusUrl { get; set; }
}
/// <summary>
/// 批处理任务结果回调请求体
/// </summary>
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; }
}
}