|
|
|
@ -1,14 +1,17 @@
|
|
|
|
|
using Application.Domain.Entities;
|
|
|
|
|
using CSScriptLib;
|
|
|
|
|
using Hangfire;
|
|
|
|
|
using Infrastructure.Application.Entites.Settings;
|
|
|
|
|
using Infrastructure.Events;
|
|
|
|
|
using Infrastructure.Extensions;
|
|
|
|
|
using IoTNode.DeviceServices.Onvif;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Concurrent;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace IoTNode.Services
|
|
|
|
|
{
|
|
|
|
|
public class IoTNodeEventHandler :
|
|
|
|
|
IEventHander<EntityUpdatedEvent<Setting>>,
|
|
|
|
|
IEventHander<EntityInsertedEvent<SceneTimer>>,
|
|
|
|
|
IEventHander<EntityUpdatedEvent<SceneTimer>>,
|
|
|
|
|
IEventHander<EntityDeletedEvent<SceneTimer>>,
|
|
|
|
@ -16,11 +19,13 @@ namespace IoTNode.Services
|
|
|
|
|
{
|
|
|
|
|
private readonly ISceneTiggerService _sceneTiggerService;
|
|
|
|
|
private readonly IoTNodeJob _job;
|
|
|
|
|
private readonly OnvifService _onvifService;
|
|
|
|
|
|
|
|
|
|
public IoTNodeEventHandler(ISceneTiggerService sceneTiggerService, IoTNodeJob job)
|
|
|
|
|
public IoTNodeEventHandler(ISceneTiggerService sceneTiggerService, IoTNodeJob job, OnvifService onvifService)
|
|
|
|
|
{
|
|
|
|
|
this._sceneTiggerService = sceneTiggerService;
|
|
|
|
|
this._job = job;
|
|
|
|
|
this._onvifService = onvifService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Handle(EntityInsertedEvent<SceneTimer> message)
|
|
|
|
@ -63,5 +68,15 @@ namespace IoTNode.Services
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Handle(EntityUpdatedEvent<Setting> message)
|
|
|
|
|
{
|
|
|
|
|
if (message.Data.Name == "stream.rtmp" || message.Data.Name == "ffmpeg.args")
|
|
|
|
|
{
|
|
|
|
|
Task.Delay(1000);
|
|
|
|
|
this._onvifService.StopPushToServer();
|
|
|
|
|
this._onvifService.StartPushToServer();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|