using Microsoft.AspNetCore.Mvc; using System; using System.Linq; using System.Text; using System.Text.RegularExpressions; using VideoSurveillanceAdapter; using Yunda.ISAS.DataMonitoringServer.DataAnalysis; using Yunda.ISAS.DataMonitoringServer.DataAnalysis.DataCollection; using Yunda.ISAS.DataMonitoringServer.DataAnalysis.Model; using Yunda.ISAS.DataMonitoringServer.DataCenter; using YunDa.ISAS.DataTransferObject; using YunDa.ISAS.DataTransferObject.EquipmentLiveData; using YunDa.ISAS.DataTransferObject.VideoSurveillance.VideoDevDto; namespace Yunda.ISAS.DataMonitoringServer.WebApi.Controllers { [Route("isas/api/dataMonitoringService/getTeleData/[action]")] public class GetTeleDataController { private readonly RunningDataCache _runningDataCache; public GetTeleDataController() { _runningDataCache = WebApiServer._runningDataCache; } public string Index() { return "Hello GetTeleDataController!"; } /// /// 获取遥测数据 /// /// /// [HttpGet] public RequestResult GetTelemeteringData([FromQuery] int dispatcherAddr) { RequestResult requestEasyResult = new(); try { if (dispatcherAddr > 0) { foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values) { TelemeteringModel telesignal = e.Telemeterings.Where(m => m.DispatcherAddress == dispatcherAddr).FirstOrDefault(); if (telesignal != null) { requestEasyResult.ResultData = telesignal; requestEasyResult.Flag = true; } } } } catch (Exception ex) { requestEasyResult.Message = ex.Message; MonitoringEventBus.LogHandler(ex.Message, "异常信息"); } return requestEasyResult; } /// /// 获取遥信数据 /// /// /// [HttpGet] public RequestResult GetTelesignalData([FromQuery] Guid id) { //MonitoringEventBus.LogHandler($"请求调度地址:{dispatcherAddr}", "外部请求"); RequestResult requestEasyResult = new(); try { if (id !=default) { foreach (EquipmentDataModel e in _runningDataCache.EquipmentDataDic.Values) { TelesignalisationModel telesignal = e.Telesignalisations.Where(m=> m.Id == id).FirstOrDefault(); if (telesignal!=null) { requestEasyResult.ResultData= telesignal; requestEasyResult.Flag = true; } } } } catch (Exception ex) { requestEasyResult.Message = ex.Message; MonitoringEventBus.LogHandler(ex.Message, "异常信息"); } return requestEasyResult; } } }