O4 的设备,不计算距离
This commit is contained in:
parent
d08766df48
commit
1e0e5ff151
|
|
@ -47,9 +47,14 @@ namespace LY.App.Service
|
|||
await _redisService.SetAsync(key, deviceinfo, TimeSpan.FromDays(1));
|
||||
}
|
||||
var entity = input.data.Adapt<List<Alarm>>();
|
||||
entity = entity.Where(s => checkDistance(s.drone_lat, s.drone_lon, deviceinfo.Lat, deviceinfo.Lon) == true).ToList();
|
||||
if (entity.Any())
|
||||
{
|
||||
var O4entity = entity.Where(s => s.device_type == "O4" || s.serial_number == "O4");
|
||||
entity = entity.Where(s => checkDistance(s.drone_lat, s.drone_lon, deviceinfo.Lat, deviceinfo.Lon) == true).ToList();
|
||||
if (O4entity.Any())
|
||||
{
|
||||
entity.AddRange(O4entity);
|
||||
}
|
||||
foreach (var item in entity)
|
||||
{
|
||||
item.BatchId = await GetBatId(item.serial_number);
|
||||
|
|
@ -109,6 +114,7 @@ namespace LY.App.Service
|
|||
/// <returns></returns>
|
||||
private bool checkDistance(double lat, double lon, double d_lat, double d_lon)
|
||||
{
|
||||
if (lat == 0 || lon == 0) return false;
|
||||
var maxDistance = Convert.ToDouble(_config["MaxDistance"]);
|
||||
var distance = GisHelper.HaversineDistance(lat, lon, d_lat, d_lon);
|
||||
return distance < maxDistance;
|
||||
|
|
|
|||
Loading…
Reference in New Issue