using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OpenAuth.App.ServiceApp.DroneDocking.Request
{
    public class AirPortRegistReq
    {
        public string serviceUrl {  get; set; } 
        public string liveStreampluginUrl {  get; set; } 
        public string contacts {  get; set; } 
        public string phone {  get; set; } 
    }

    public class AddDeviceReq
    {
        //区域代码
        public string regioncode { get; set; }
        //无人机设备id
        public string deviceid { get; set; }
        //无人机品牌
        public string brand { get; set; }
        //无人机型号
        public string model { get; set; }
        //无人机机场经度，保留7位小数
        public double longitude { get; set; }
        //无人机机场维度，保留7位小数
        public double latitude { get; set; }
        //无人机机场高度
        public double height { get; set; }
        //无人机机场飞行半径，单位米
        public double radius { get; set; }
        //设备类型（默认0），0表示机场无人机 1表示手持无人机
        public int devicetype { get; set; }
        //紧急联系人，devicetype=1时必填
        public string contacts { get; set; }
        //紧急联系电话 ，devicetype=1时必填
        public string phone { get; set; }
    }

    public class AuthorizationReq
    {
        //无人机机场设备唯一id
        public string deviceid { get; set; }
        //0：不可用 1：可用
        public int  status { get; set; }
    }

    public class AirPortTaskReq
    {
        //无人机机场设备唯一id
        public List<string> deviceid { get; set; }
        /// <summary>
        /// Desc:业务类型，用于标识数据来源
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string bizidname { get; set; }

        /// <summary>
        /// Desc:下发任务名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string taskname { get; set; }

        /// <summary>
        /// Desc:下发任务id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string taskid { get; set; }

        /// <summary>
        /// Desc:数据类型，	用于后续成果上传获取上传路径
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string datacode { get; set; }

        public List<TaskDetail> tasklist { get; set; }
    }

    public class TaskDetail
    {
        /// <summary>
        /// Desc:图斑标识码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string bsm { get; set; }

        /// <summary>
        /// Desc:县级行政区代码
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string xzqdm { get; set; }

        /// <summary>
        /// Desc:地块编号
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string dkbh { get; set; }

        /// <summary>
        /// Desc:地块类型
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string dklx { get; set; }

        /// <summary>
        /// Desc:子地块编号
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string zdkbh { get; set; }

        /// <summary>
        /// Desc:地块名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string dkmc { get; set; }

        /// <summary>
        /// Desc:地块面积
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? dkmj { get; set; }

        /// <summary>
        /// Desc:地块范围，cgcs2000的经纬度坐标，wkt格式
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string dkfw { get; set; }

        /// <summary>
        /// Desc:备注
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string bz { get; set; }

    }

    public class ResData
    {
        /// <summary>
        /// 操作消息【当Status不为 200时，显示详细的错误信息】
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 操作状态码，200为正常
        /// </summary>
        public int Code { get; set; }

        public ResData()
        {
            Code = 200;
            Message = "操作成功";
        }
        public string Result { get; set; }
        public string Secret {get;set;}
    }


    public class AirPortUpdateTaskReq
    {
        //无人机机场设备唯一id
        public List<string> deviceid { get; set; }

        /// <summary>
        /// Desc:下发任务id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string taskid { get; set; }

        public List<TaskDetail> tasklist { get; set; }
    }
}
