From 0129d9045f7a463fb978820795dd674eaa66e71f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B4=81=20=E4=BB=BB?= Date: Tue, 6 Jan 2026 15:05:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=83=9F=E7=81=AB=E4=BF=A1=E6=81=AF=E8=AE=A2?= =?UTF-8?q?=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/Const/EnumInfo.cs | 4 +- .../FireManagement/FireManagementApp.cs | 6 +-- .../FireManagementController.cs | 52 ++++++++++++++++++- 3 files changed, 56 insertions(+), 6 deletions(-) diff --git a/OpenAuth.App/Const/EnumInfo.cs b/OpenAuth.App/Const/EnumInfo.cs index 86517fb..deffe5d 100644 --- a/OpenAuth.App/Const/EnumInfo.cs +++ b/OpenAuth.App/Const/EnumInfo.cs @@ -54,6 +54,8 @@ namespace OpenAuth.App.Const [Description("小程序")] 小程序 = 5, [Description("卫星遥感")] - 卫星遥感 = 6 + 卫星遥感 = 6, + [Description("摄像头")] + 摄像头 = 7 } } diff --git a/OpenAuth.App/ServiceApp/FireManagement/FireManagementApp.cs b/OpenAuth.App/ServiceApp/FireManagement/FireManagementApp.cs index fce662d..e271392 100644 --- a/OpenAuth.App/ServiceApp/FireManagement/FireManagementApp.cs +++ b/OpenAuth.App/ServiceApp/FireManagement/FireManagementApp.cs @@ -1626,7 +1626,7 @@ ORDER BY /// 感知中心--摄像头类型数量统计 /// /// - public async Task> GetCameraCountByType() + public async Task>> GetCameraCountByType() { using (var db = base.UnitWork.CreateContext()) { @@ -1690,9 +1690,9 @@ ORDER BY } clist.Add(cs); } - return new Response + return new Response> { - Result = JsonConvert.SerializeObject(clist) + Result = clist }; } } diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/FireManagement/FireManagementController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/FireManagement/FireManagementController.cs index 822b080..5726ac9 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/FireManagement/FireManagementController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/FireManagement/FireManagementController.cs @@ -1,12 +1,16 @@ using Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json.Linq; +using Newtonsoft.Json; using OpenAuth.App.BaseApp.Base; +using OpenAuth.App.Const; using OpenAuth.App.Response; using OpenAuth.App.ServiceApp.FireManagement; using OpenAuth.App.ServiceApp.FireManagement.Request; using OpenAuth.App.ServiceApp.FireManagement.Response; using OpenAuth.Repository.Domain.FireManagement; +using DocumentFormat.OpenXml.EMMA; namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement { @@ -748,8 +752,13 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement #endregion #region 感知中心--摄像头类型 + /// + /// 感知中心--摄像头类型统计 + /// + /// [HttpGet] - public async Task> GetCameraCountByType() + [AllowAnonymous] + public async Task>> GetCameraCountByType() { try { @@ -757,7 +766,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement } catch (Exception ex) { - return new Response + return new Response> { Result = null, Message = ex.Message.ToString() @@ -765,5 +774,44 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement } } #endregion + + #region 海康火情订阅 + /// + /// 海康 报警事件订阅回调方法 火点检测 192515,烟火检测 192514 ,烟雾检测 192513 + /// + /// + /// + [HttpPost] + [AllowAnonymous] + public async Task> AddCameraFireInfo(dynamic str) + { + var param = JsonConvert.DeserializeObject(str.ToString()); + FmFireclueInfo ewInfo = new FmFireclueInfo(); + ewInfo.Address = param["params"]["events"][0]["data"]["fireDetection"][0]["targetAttrs"]["cameraAddress"]; + ewInfo.EventId = param["params"]["events"][0]["eventId"]; + + ewInfo.ReportTime = param["params"]["events"][0]["happenTime"]; + ewInfo.Image = param["params"]["events"][0]["data"]["fielddetection"][0]["imageUrl"]; + //ewInfo.EWAddress = param["params"]["events"][0]["data"]["fielddetection"][0]["targetAttrs"]["cameraAddress"]; + ewInfo.CreateId = param["params"]["events"][0]["data"]["fielddetection"][0]["targetAttrs"]["cameraIndexCode"]; + ewInfo.Lat = param["params"]["events"][0]["data"]["fielddetection"][0]["targetAttrs"]["latitude"]; + ewInfo.Lng = param["params"]["events"][0]["data"]["fielddetection"][0]["targetAttrs"]["longitude"]; + ewInfo.SourceType = (int)SourceType.摄像头; + ewInfo.State = (int)State.上报; + ewInfo.AreaName = "feixian"; + Response response = new Response(); + try + { + return await _app.AddFireClueInfo(ewInfo); + } + catch (Exception ex) + { + response.Code = 500; + response.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message; + response.Result=false; + return response; + } + } + #endregion } }