From 2a4fc03bf68703a15258560f9a4ad53ac291e796 Mon Sep 17 00:00:00 2001 From: yanghongwei Date: Wed, 23 Apr 2025 10:05:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89uav=E7=9A=84=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Service/AlarmService.cs | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs index 665a08e..8c33eb6 100644 --- a/Service/AlarmService.cs +++ b/Service/AlarmService.cs @@ -49,28 +49,28 @@ namespace LY.App.Service var entity = input.data.Adapt>(); if (entity.Any()) { - var O4entity = entity.Where(s => s.device_type == "O4" || s.serial_number == "O4"); + var O4entity = entity.Where(s => s.device_type == "O4" || s.serial_number == "O4"||s.device_type== "UAV"); 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); + item.DeviceId = deviceinfo.Id; + item.DeviceName = deviceinfo.Name; + item.positionId = deviceinfo.PositionId; + item.PostionName = deviceinfo.PositionName; + item.Time = input.time; + item.distance = GisHelper.HaversineDistance(item.drone_lat, item.drone_lon, item.app_lat, item.app_lon); + item.IsWhitelist = await Iswhitlist(item.serial_number, item.drone_lat, item.drone_lon); + item.alarmLevel = item.IsWhitelist == true ? 0 : await GetAlarmLevel(deviceinfo.PositionId, item.drone_lon, item.drone_lat); + item.centerdistance = await GetCenterDistance(item.drone_lat, item.drone_lon, item.positionId); + } + await _db.CopyNew().Insertable(entity).SplitTable().ExecuteReturnSnowflakeIdListAsync(); + //推送报警信息 + await _pushService.SendMessageToAll(new { msgType = "event", data = entity }); } - foreach (var item in entity) - { - item.BatchId = await GetBatId(item.serial_number); - item.DeviceId = deviceinfo.Id; - item.DeviceName = deviceinfo.Name; - item.positionId = deviceinfo.PositionId; - item.PostionName = deviceinfo.PositionName; - item.Time = input.time; - item.distance = GisHelper.HaversineDistance(item.drone_lat, item.drone_lon, item.app_lat, item.app_lon); - item.IsWhitelist = await Iswhitlist(item.serial_number, item.drone_lat, item.drone_lon); - item.alarmLevel = item.IsWhitelist == true ? 0 : await GetAlarmLevel(deviceinfo.PositionId, item.drone_lon, item.drone_lat); - item.centerdistance = await GetCenterDistance(item.drone_lat, item.drone_lon, item.positionId); - } - await _db.CopyNew().Insertable(entity).SplitTable().ExecuteReturnSnowflakeIdListAsync(); - //推送报警信息 - await _pushService.SendMessageToAll(new { msgType = "event", data = entity }); } return new ApiResult(); }