O4 的设备,不计算距离

This commit is contained in:
yanghongwei 2025-04-18 00:48:02 +08:00
parent d08766df48
commit 1e0e5ff151
1 changed files with 7 additions and 1 deletions

View File

@ -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;