using DataSharing.Share.Enums;
using SqlSugar;
using XF.Domain.Repository;

namespace DataSharing.LuZhou.LuZhou110
{
    public class SendTaskLuzhou110 : CreationEntity
    {
        /// <summary>
        /// 工单Id
        /// </summary>
        [SugarColumn(ColumnDescription = "工单Id")]
        public string? OrderId { get; set; }

        /// <summary>
        /// 工单编号
        /// </summary>
        [SugarColumn(ColumnDescription = "工单编号")]
        public string? No { get; set; }

        /// <summary>
        /// 初次推送时间
        /// </summary>
        [SugarColumn(ColumnDescription = "初次推送时间")]
        public DateTime? FirstTime { get; set; }

        /// <summary>
        /// 最近一次推送时间
        /// </summary>
        [SugarColumn(ColumnDescription = "最近一次推送时间")]
        public DateTime? LastTime { get; set; }

        /// <summary>
        /// 推送次数
        /// </summary>
        [SugarColumn(ColumnDescription = "推送次数")]
        public int SendTimes { get; set; }

        /// <summary>
        /// 推送成功
        /// </summary>
        [SugarColumn(ColumnDescription = "推送成功")]
        public ESendTaskState IsSuccess { get; set; } = ESendTaskState.WaitPush;

        /// <summary>
        /// 任务类型
        /// addOrder, expiredTimeChanged...
        /// </summary>
        [SugarColumn(ColumnDescription = "任务类型")]
        public string TaskType { get; set; }

        /// <summary>
        /// 请求方式
        /// </summary>
        [SugarColumn(ColumnDescription = "请求方式")]
        public string HttpMethod { get; set; }

        /// <summary>
        /// 请求地址
        /// </summary>
        [SugarColumn(ColumnDescription = "请求地址")]
        public string Path { get; set; }

        /// <summary>
        /// 请求参数
        /// </summary>
        [SugarColumn(ColumnDataType = "text", ColumnDescription = "请求参数")]
        public string Request { get; set; }

        /// <summary>
        /// 组装参数
        /// </summary>
        [SugarColumn(ColumnDataType = "text", ColumnDescription = "组装参数")]
        public string RequestData { get; set; }
    }
}
