You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
6.3KB

  1. using GpsCardGatewayPosition.Common;
  2. namespace GpsCardGatewayPosition.Service.Biz.Location.Dto.Wayz
  3. {
  4. public class WayzRequest
  5. {
  6. public long Timestamp { get; set; } = Utils.ConvertToSTimeStamp(DateTime.Now);
  7. // Id = "679e9043-14fe-44df-aba6-b2fd62592fea",
  8. // Timestamp = 1670231477000,
  9. // Asset = new AssetDevice
  10. // {
  11. // Id = "679e9043-14fe-44df-aba6-b2fd62592fea",
  12. // Manufacturer = "xiaomi",
  13. // ImeiMd5 = "1be14c6210b3115f",
  14. // UniqueId = "8f95204d-a60e-40bb-b8be-45a1ab3bef2a"
  15. // },
  16. public virtual string Id { get; set; } = Guid.NewGuid().ToString("D");
  17. public virtual AssetDevice Asset { get; set; } = new AssetDevice
  18. {
  19. Id= "679e9043-14fe-44df-aba6-b2fd62592fea",
  20. Manufacturer= "telpo",
  21. ImeiMd5= "1be14c6210b3115f",
  22. UniqueId= "8f95204d-a60e-40bb-b8be-45a1ab3bef2a"
  23. };
  24. public LocationDetail Location { get; set; }
  25. public class LocationDetail
  26. {
  27. /// <summary>
  28. /// Wifi
  29. /// </summary>
  30. public List<WifiItem> Wifis { get; set; }
  31. /// <summary>
  32. /// LBS/Cellular 基站
  33. /// </summary>
  34. public List<CellularItem> Cellulars { get; set; }
  35. /// <summary>
  36. /// Gnss 地球系坐标
  37. /// </summary>
  38. public Gnss Gnss { get; set; }
  39. /// <summary>
  40. /// gcj02 火星系坐标
  41. /// </summary>
  42. public Postion Position { get; set; }
  43. }
  44. // public List<WifiItem> Wifis { get; set; }
  45. public class AssetDevice
  46. {
  47. public string Id { get; set; }
  48. public string Manufacturer { get; set; }
  49. public string ImeiMd5 { get; set; }
  50. public string UniqueId { get; set; }
  51. }
  52. public class Item
  53. {
  54. /// <summary>
  55. /// 扫描到的时间戳(UTC 时间)
  56. /// </summary>
  57. public long Timestamp { get; set; }= Utils.ConvertToSTimeStamp(DateTime.Now);
  58. /// <summary>
  59. /// 设备是否已连接在该 AP 下,如果是"False"则可以省略此 字段
  60. /// </summary>
  61. public bool Connected { get; set; } = default;
  62. /// <summary>
  63. /// 信号强度,单位为:-dBm,即取真实信号强度的 绝 对值
  64. /// </summary>
  65. public virtual int SignalStrength { get; set; } = default;
  66. }
  67. public class WifiItem: Item
  68. {
  69. /// <summary>
  70. /// 设备网卡的 MAC 地址
  71. /// </summary>
  72. public string MacAddress { get; set; }
  73. /// <summary>
  74. /// WiFi 的ssid 名称,注意:JSON 编码时需要进行转义编码
  75. /// </summary>
  76. public string Ssid { get; set; } = default;
  77. /// <summary>
  78. /// 信号强度,单位为:-dBm,即取真实信号强度的绝对值
  79. /// </summary>
  80. public override int SignalStrength { get; set; }
  81. /// <summary>
  82. /// 指定通道下的频率,单位: MHz
  83. /// </summary>
  84. public int Frequency { get; set; } = default;
  85. /// <summary>
  86. /// WiFi 子频段的通道编号
  87. /// </summary>
  88. public int Channel { get; set; } = default;
  89. }
  90. public class CellularItem: Item
  91. {
  92. /// <summary>
  93. /// 小区 ID,当 CDMA 时,为 BID(Base Station ID)
  94. /// </summary>
  95. public int CellId { get; set; }
  96. /// <summary>
  97. /// 基站类 型, 只能 是以 下 值:gsm, wcdma, lte, cdma
  98. /// </summary>
  99. public string RadioType { get; set; }
  100. /// <summary>
  101. /// MCC 码
  102. /// </summary>
  103. public int MobileCountryCode { get; set; }
  104. /// <summary>
  105. /// 当 CDMA 时,为 SID(System ID)码
  106. /// </summary>
  107. public int MobileNetworkCode { get; set; }
  108. /// <summary>
  109. /// 当 CDMA 时,为 NID(Network ID);
  110. /// 当 LTE 时,为 TAC(Tracking Area code)
  111. /// </summary>
  112. public int LocationAreaCode { get; set; }
  113. }
  114. public class Gnss
  115. {
  116. /// <summary>
  117. /// 数据收集的时间戳(UTC 时间,单位:毫秒)
  118. /// </summary>
  119. public long Timestamp { get; set; }
  120. public Point Point { get; set; }
  121. /// <summary>
  122. /// 卫星定位水平精度,单位:米
  123. /// </summary>
  124. public float Accuracy { get; set; } = 0f;
  125. /// <summary>
  126. /// 卫星定位垂直精度,单位:米
  127. /// </summary>
  128. public float VerticalAccuracy { get; set; } = default;
  129. /// <summary>
  130. /// 速度,单位:米/秒
  131. /// </summary>
  132. public float Velocity { get; set; }
  133. /// <summary>
  134. /// 卫星定位垂直精度,单位:米
  135. /// </summary>
  136. public float VelocityAccuracy { get; set; } = default;
  137. /// <summary>
  138. /// 方向,单位:度,从北开始,顺时针 0~360 度
  139. /// </summary>
  140. public int Heading { get; set; } = 0;
  141. }
  142. public class Postion
  143. {
  144. public long Timestamp { get; set; }
  145. public Point Point { get; set; }
  146. public float Accuracy { get; set; } = 0f;
  147. public string SpatialReference { get; set; } = "gcj02";
  148. }
  149. public class Point
  150. {
  151. /// <summary>
  152. /// 经度
  153. /// </summary>
  154. // public double Longitude { get; set; } // 维智精度
  155. public decimal Longitude { get; set; } // 高德精度
  156. /// <summary>
  157. /// 纬度
  158. /// </summary>
  159. // public double Latitude { get; set; } // 维智精度
  160. public decimal Latitude { get; set; } // 高德精度
  161. /// <summary>
  162. /// 卫星定位水平精度,单位:米
  163. /// </summary>
  164. public float Altitude { get; set; }=default;
  165. }
  166. }
  167. }