using System;

namespace Waste.Application.SubscribeInfo
{
    /// <summary>
    /// 测量记录
    /// </summary>
    public class ResultS2SDto
    {
        /// <summary>
        /// 设备ID
        /// </summary>
        public Guid DeviceId { get; set; }

        /// <summary>
        /// 最近使用时间
        /// </summary>
        public DateTime? LastHeartTime { get; set; }

        /// <summary>
        /// 记录ID
        /// </summary>
        public Guid ResultId { get; set; }

        /// <summary>
        /// 设备服务商ID
        /// </summary>
        public Guid BusinessId { get; set; }

        /// <summary>
        /// 设备的IMEI
        /// </summary>
        public string imei { get; set; }

        /// <summary>
        /// ICCID
        /// </summary>
        public string iccid { get; set; }

        /// <summary>
        /// IMSI
        /// </summary>
        public string imsi { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        public decimal latitude { get; set; }

        /// <summary>
        /// 经度
        /// </summary>
        public decimal longtitude { get; set; }

        /// <summary>
        /// 信号强度
        /// </summary>
        public int gslq { get; set; }

        /// <summary>
        /// 垃圾类型
        /// </summary>
        public string wastetype { get; set; }

        /// <summary>
        /// 垃圾桶编号
        /// </summary>
        public string trash { get; set; }

        /// <summary>
        /// 毛重
        /// </summary>
        public string weight { get; set; }

        /// <summary>
        /// 皮重
        /// </summary>
        public decimal Tare { get; set; }
    }

    /// <summary>
    /// 设备版本信息
    /// </summary>
    public class DeviceVerS2SDto
    {
        /// <summary>
        /// 设备机器码
        /// </summary>
        public string ecode { get; set; }

        /// <summary>
        /// 版本号
        /// </summary>
        public string ver { get; set; }
    }

    /// <summary>
    /// 发送第三方消息
    /// </summary>
    public class SendThirdMessageSubscribeS2SDto
    {
        /// <summary>
        /// 设备ID
        /// </summary>
        public Guid DeviceId { get; set; }

        /// <summary>
        /// 垃圾类别
        /// </summary>
        public string WasteType { get; set; }

        /// <summary>
        /// 物品小类别
        /// </summary>
        public string WasteSType { get; set; } = "";

        /// <summary>
        /// 重量,单位KG
        /// </summary>
        public decimal Weight { get; set; }

        /// <summary>
        /// 垃圾桶编号
        /// </summary>s
        public string TrashCode { get; set; }

        /// <summary>
        /// 上报时间
        /// </summary>
        public DateTime Time { get; set; }

        /// <summary>
        /// 设备机器码
        /// </summary>
        public string ecode { get; set; }

        /// <summary>
        /// 设备编号
        /// </summary>
        public string faccode { get; set; }

        /// <summary>
        /// 设备所属省份
        /// </summary>
        public string province { get; set; }

        /// <summary>
        /// 设备所属城市
        /// </summary>
        public string city { get; set; }

        /// <summary>
        /// 设备所属区/县
        /// </summary>
        public string area { get; set; }

        /// <summary>
        /// 设备详细地址
        /// </summary>
        public string address { get; set; }
    }

    /// <summary>
    /// 发送第三方消息
    /// </summary>
    public class SendThirdMessageSubscriDto : SendMessageToThirdS2CDto
    {
        /// <summary>
        /// 推送地址
        /// </summary>
        public string Url { get; set; }
    }

    /// <summary>
    /// 推送给第三方的信息
    /// </summary>
    public class SendMessageToThirdS2CDto
    {
        /// <summary>
        /// 垃圾类别
        /// </summary>
        public string WasteType { get; set; }

        /// <summary>
        /// 物品小类别
        /// </summary>
        public string WasteSType { get; set; } = "";

        /// <summary>
        /// 重量,单位KG
        /// </summary>
        public string Weight { get; set; }

        /// <summary>
        /// 垃圾桶编号
        /// </summary>
        public string TrashCode { get; set; }

        /// <summary>
        /// 上报时间
        /// </summary>
        public long Time { get; set; }

        /// <summary>
        /// 额外信息
        /// </summary>
        public string Body { get; set; }

        /// <summary>
        /// 设备ID
        /// </summary>
        public Guid DeviceId { get; set; }

        /// <summary>
        /// 设备机器码
        /// </summary>
        public string ecode { get; set; }

        /// <summary>
        /// 设备编号
        /// </summary>
        public string faccode { get; set; }

        /// <summary>
        /// 设备所属省份
        /// </summary>
        public string province { get; set; }

        /// <summary>
        /// 设备所属城市
        /// </summary>
        public string city { get; set; }

        /// <summary>
        /// 设备所属区/县
        /// </summary>
        public string area { get; set; }

        /// <summary>
        /// 设备详细地址
        /// </summary>
        public string address { get; set; }

        /// <summary>
        /// 最近心跳时间
        /// </summary>
        public long BeatTime { get; set; }
    }
}