From 1e0e5ff15153f866090f0fd4ba228ca7beaaae64 Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Fri, 18 Apr 2025 00:48:02 +0800 Subject: [PATCH] =?UTF-8?q?O4=20=E7=9A=84=E8=AE=BE=E5=A4=87=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=AE=A1=E7=AE=97=E8=B7=9D=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/AlarmService.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs index b57e374..de34ec1 100644 --- a/Service/AlarmService.cs +++ b/Service/AlarmService.cs @@ -47,9 +47,14 @@ namespace LY.App.Service await _redisService.SetAsync(key, deviceinfo, TimeSpan.FromDays(1)); } var entity = input.data.Adapt>(); - 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 /// 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;