diff --git a/Model/Alarm.cs b/Model/Alarm.cs
index 64d9b0e..900dec7 100644
--- a/Model/Alarm.cs
+++ b/Model/Alarm.cs
@@ -51,6 +51,12 @@ namespace LY.App.Model
[SugarColumn(ColumnName = "is_whitelist", ColumnDescription = "是否白名单")]
public bool IsWhitelist { get; set; }
///
+ /// 白名单id
+ ///
+ [JsonConverter(typeof(ValueToStringConverter))]
+ [SugarColumn(IsIgnore = true)]
+ public long WhiteListId { get; set; }
+ ///
/// ,#东向速度
///
public double speed_E { get; set; }
diff --git a/Service/AlarmService.cs b/Service/AlarmService.cs
index 1b90e74..4d2ed51 100644
--- a/Service/AlarmService.cs
+++ b/Service/AlarmService.cs
@@ -7,6 +7,7 @@ using Mapster;
using NetTopologySuite.Geometries;
using NetTopologySuite.IO;
using SqlSugar;
+using System.ComponentModel.DataAnnotations;
namespace LY.App.Service
{
@@ -67,7 +68,9 @@ namespace LY.App.Service
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);
+ var temp = await Iswhitlist(item.serial_number, item.drone_lat, item.drone_lon);
+ item.IsWhitelist = temp.Item1;
+ item.WhiteListId = temp.Item2;
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);
}
@@ -131,11 +134,11 @@ namespace LY.App.Service
///
///
///
- private async Task Iswhitlist(string serial_number, double lat, double lon)
+ private async Task> Iswhitlist(string serial_number, double lat, double lon)
{
string key = RedisKeyList.white_list(serial_number);
if (!await _redisService.ExistsAsync(key))
- return false;
+ return new Tuple(false, 0);
else
{
var entity = await _redisService.GetAsync(key);
@@ -153,19 +156,21 @@ namespace LY.App.Service
//判断时间是否在区在
if (entity.allDay)
{
- return true;
+ return new Tuple(false, entity.Id);
}
else
{
- return entity.startTime <= DateTime.Now && DateTime.Now <= entity.endTime;
+ var has = entity.startTime <= DateTime.Now && DateTime.Now <= entity.endTime;
+ return new Tuple(has, has ? entity.Id : 0);
+ }
+
}
}
}
}
}
- }
- return false;
+ return new Tuple(false, 0); ;
}
static bool IsPointInGeoJson(double latitude, double longitude, string geoJson)
diff --git a/appsettings.json b/appsettings.json
index 4b49c56..979b578 100644
--- a/appsettings.json
+++ b/appsettings.json
@@ -8,7 +8,7 @@
"log2db": true, //是否记录
"AllowedHosts": "*",
"ConnectionStrings": {
- "DefaultConnection": "server=114.66.57.139;port=13306;database=lyapp;user=root;password=dklymysql;Pooling=true;"
+ "DefaultConnection": "server=114.66.57.139;port=23306;database=lyapp;user=root;password=dklymysql;Pooling=true;"
},
"Token": {
"SecretKey": "HWLSNPM+OhlFe4wwEV/teSWsxGjrWbxKnHonxW5Z+mFlQq3zonv5",