|
|
|
@ -12,13 +12,15 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|
|
|
|
private readonly MqttClientManager _mqttClientManager;
|
|
|
|
|
AirportMaintenanceApp _app;
|
|
|
|
|
ManageApp _manageApp;
|
|
|
|
|
private readonly MqttMessageCenter _mqttCenter;
|
|
|
|
|
|
|
|
|
|
public ThingRequestHandler(ILogger<ThingRequestHandler> logger, MqttClientManager mqttClientManager, AirportMaintenanceApp app, ManageApp manageApp)
|
|
|
|
|
public ThingRequestHandler(ILogger<ThingRequestHandler> logger, MqttClientManager mqttClientManager, AirportMaintenanceApp app, ManageApp manageApp, MqttMessageCenter mqttCenter)
|
|
|
|
|
{
|
|
|
|
|
_logger = logger;
|
|
|
|
|
_mqttClientManager = mqttClientManager;
|
|
|
|
|
_app = app;
|
|
|
|
|
_manageApp = manageApp;
|
|
|
|
|
_mqttCenter = mqttCenter;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool CanHandle(string topic)
|
|
|
|
@ -30,7 +32,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|
|
|
|
public async Task HandleAsync(string topic, string payload)
|
|
|
|
|
{
|
|
|
|
|
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
|
|
|
|
if (payload.Contains("update_topo"))
|
|
|
|
|
if (payload.Contains("config"))
|
|
|
|
|
{
|
|
|
|
|
var root = JsonNode.Parse(payload)?.AsObject();
|
|
|
|
|
if (root == null)
|
|
|
|
@ -178,6 +180,13 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|
|
|
|
uavsn = uavsn == "" ? "1581F8HGX254V00A0BUY" : uavsn;
|
|
|
|
|
_manageApp.AddDronePort(lasaDronePort);
|
|
|
|
|
_manageApp.AddLasaUav(lasaUav);
|
|
|
|
|
var topics = new List<string>();
|
|
|
|
|
topics.AddRange(new[]
|
|
|
|
|
{
|
|
|
|
|
$"thing/product/{dronesn}/osd",
|
|
|
|
|
$"thing/product/{uavsn}/osd",
|
|
|
|
|
});
|
|
|
|
|
await _mqttCenter.SubscribeAsync(topics.ToArray());
|
|
|
|
|
var requestData = new
|
|
|
|
|
{
|
|
|
|
|
bid = Guid.NewGuid().ToString(),
|
|
|
|
|