using GpsCardGatewayPosition.Common; namespace GpsCardGatewayPosition.Service.Biz.Location.Dto.Wayz { public class WayzRequest { public long Timestamp { get; set; } = Utils.ConvertToSTimeStamp(DateTime.Now); // Id = "679e9043-14fe-44df-aba6-b2fd62592fea", // Timestamp = 1670231477000, // Asset = new AssetDevice // { // Id = "679e9043-14fe-44df-aba6-b2fd62592fea", // Manufacturer = "xiaomi", // ImeiMd5 = "1be14c6210b3115f", // UniqueId = "8f95204d-a60e-40bb-b8be-45a1ab3bef2a" // }, public virtual string Id { get; set; } = Guid.NewGuid().ToString("D"); public virtual AssetDevice Asset { get; set; } = new AssetDevice { Id= "679e9043-14fe-44df-aba6-b2fd62592fea", Manufacturer= "telpo", ImeiMd5= "1be14c6210b3115f", UniqueId= "8f95204d-a60e-40bb-b8be-45a1ab3bef2a" }; public LocationDetail Location { get; set; } public class LocationDetail { /// /// Wifi /// public List Wifis { get; set; } /// /// LBS/Cellular 基站 /// public List Cellulars { get; set; } /// /// Gnss 地球系坐标 /// public Gnss Gnss { get; set; } /// /// gcj02 火星系坐标 /// public Postion Position { get; set; } } // public List Wifis { get; set; } public class AssetDevice { public string Id { get; set; } public string Manufacturer { get; set; } public string ImeiMd5 { get; set; } public string UniqueId { get; set; } } public class Item { /// /// 扫描到的时间戳(UTC 时间) /// public long Timestamp { get; set; }= Utils.ConvertToSTimeStamp(DateTime.Now); /// /// 设备是否已连接在该 AP 下,如果是"False"则可以省略此 字段 /// public bool Connected { get; set; } = default; /// /// 信号强度,单位为:-dBm,即取真实信号强度的 绝 对值 /// public virtual int SignalStrength { get; set; } = default; } public class WifiItem: Item { /// /// 设备网卡的 MAC 地址 /// public string MacAddress { get; set; } /// /// WiFi 的ssid 名称,注意:JSON 编码时需要进行转义编码 /// public string Ssid { get; set; } = default; /// /// 信号强度,单位为:-dBm,即取真实信号强度的绝对值 /// public override int SignalStrength { get; set; } /// /// 指定通道下的频率,单位: MHz /// public int Frequency { get; set; } = default; /// /// WiFi 子频段的通道编号 /// public int Channel { get; set; } = default; } public class CellularItem: Item { /// /// 小区 ID,当 CDMA 时,为 BID(Base Station ID) /// public int CellId { get; set; } /// /// 基站类 型, 只能 是以 下 值:gsm, wcdma, lte, cdma /// public string RadioType { get; set; } /// /// MCC 码 /// public int MobileCountryCode { get; set; } /// /// 当 CDMA 时,为 SID(System ID)码 /// public int MobileNetworkCode { get; set; } /// /// 当 CDMA 时,为 NID(Network ID); /// 当 LTE 时,为 TAC(Tracking Area code) /// public int LocationAreaCode { get; set; } } public class Gnss { /// /// 数据收集的时间戳(UTC 时间,单位:毫秒) /// public long Timestamp { get; set; } public Point Point { get; set; } /// /// 卫星定位水平精度,单位:米 /// public float Accuracy { get; set; } = 0f; /// /// 卫星定位垂直精度,单位:米 /// public float VerticalAccuracy { get; set; } = default; /// /// 速度,单位:米/秒 /// public float Velocity { get; set; } /// /// 卫星定位垂直精度,单位:米 /// public float VelocityAccuracy { get; set; } = default; /// /// 方向,单位:度,从北开始,顺时针 0~360 度 /// public int Heading { get; set; } = 0; } public class Postion { public long Timestamp { get; set; } public Point Point { get; set; } public float Accuracy { get; set; } = 0f; public string SpatialReference { get; set; } = "gcj02"; } public class Point { /// /// 经度 /// // public double Longitude { get; set; } // 维智精度 public decimal Longitude { get; set; } // 高德精度 /// /// 纬度 /// // public double Latitude { get; set; } // 维智精度 public decimal Latitude { get; set; } // 高德精度 /// /// 卫星定位水平精度,单位:米 /// public float Altitude { get; set; }=default; } } }