更新设备属性
parent
5fb3078919
commit
fdff676466
|
|
@ -287,7 +287,7 @@ public class ConfigSubscribe : IJob
|
|||
{
|
||||
if (!method.Equals("hms"))
|
||||
{
|
||||
Console.WriteLine($"未处理事件events:{message}");
|
||||
//Console.WriteLine($"未处理事件events:{message}");
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|||
handlers,
|
||||
server: "175.27.168.120",
|
||||
port: 6011,
|
||||
clientId: "mqtt_client_1582",
|
||||
clientId: "mqtt_client_15823456",
|
||||
username: "sdhc",
|
||||
password: ""
|
||||
);
|
||||
|
|
@ -44,7 +44,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|||
$"thing/product/{gateway}/services_reply",
|
||||
//$"thing/product/{gateway}/drc/up",
|
||||
//$"thing/product/{gateway}/drc/down",
|
||||
$"thing/product/{gateway}/state"
|
||||
$"thing/product/{gateway}/status"
|
||||
});
|
||||
}
|
||||
await _mqttCenter.ConnectAndSubscribeAsync(topics.ToArray());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
|||
public async Task HandleAsync(string topic, string payload)
|
||||
{
|
||||
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
||||
if (payload.Contains("config"))
|
||||
if (payload.Contains("update_topo"))
|
||||
{
|
||||
var root = JsonNode.Parse(payload)?.AsObject();
|
||||
if (root == null)
|
||||
|
|
|
|||
|
|
@ -1,39 +0,0 @@
|
|||
using Infrastructure.CloudSdk.mqttmessagecenter;
|
||||
using OpenAuth.App.ServiceApp;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using System.Text.Json.Nodes;
|
||||
|
||||
namespace OpenAuth.WebApi.Model.mqtt
|
||||
{
|
||||
public class ThingStateHandler : IMqttMessageHandler
|
||||
{
|
||||
private readonly ILogger<ThingStateHandler> _logger;
|
||||
AirportMaintenanceApp _app;
|
||||
public ThingStateHandler(ILogger<ThingStateHandler> logger, AirportMaintenanceApp app)
|
||||
{
|
||||
_logger = logger;
|
||||
_app = app;
|
||||
}
|
||||
|
||||
public bool CanHandle(string topic)
|
||||
{
|
||||
return topic.Contains("/state");
|
||||
}
|
||||
|
||||
public Task HandleAsync(string topic, string payload)
|
||||
{
|
||||
_logger.LogError($"[Service] Topic={topic}, Payload={payload}");
|
||||
Console.WriteLine($"[Service] Topic={topic}, Payload={payload}");
|
||||
var root = JsonNode.Parse(payload)?.AsObject();
|
||||
_app.AddLog(new LasaLog
|
||||
{
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
Topic = topic,
|
||||
Method = root["method"]?.ToString() ?? "",
|
||||
CreateTime = DateTime.Now,
|
||||
Data = root
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
using Infrastructure.CloudSdk.mqttmessagecenter;
|
||||
using OpenAuth.App.ServiceApp;
|
||||
using OpenAuth.Repository.Domain;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
|
||||
namespace OpenAuth.WebApi.Model.mqtt
|
||||
{
|
||||
public class ThingStatusHandler : IMqttMessageHandler
|
||||
{
|
||||
private readonly ILogger<ThingStatusHandler> _logger;
|
||||
AirportMaintenanceApp _app;
|
||||
private readonly MqttClientManager _mqttClientManager;
|
||||
public ThingStatusHandler(ILogger<ThingStatusHandler> logger, AirportMaintenanceApp app, MqttClientManager mqttClientManager)
|
||||
{
|
||||
_logger = logger;
|
||||
_app = app;
|
||||
_mqttClientManager = mqttClientManager;
|
||||
}
|
||||
|
||||
public bool CanHandle(string topic)
|
||||
{
|
||||
return topic.Contains("/status");
|
||||
}
|
||||
string bid, tid, previousgateway;
|
||||
public async Task HandleAsync(string topic, string payload)
|
||||
{
|
||||
_logger.LogError($"[Service] Topic={topic}, Payload={payload}");
|
||||
Console.WriteLine($"[Service] Topic={topic}, Payload={payload}");
|
||||
|
||||
if (payload.Contains("update_topo"))
|
||||
{
|
||||
var root = JsonNode.Parse(payload)?.AsObject();
|
||||
if (root == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
bid = root["bid"]?.ToString() ?? "";
|
||||
tid = root["tid"]?.ToString() ?? "";
|
||||
var requestData = new
|
||||
{
|
||||
bid = bid,
|
||||
method = "update_topo",
|
||||
tid = tid,
|
||||
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
||||
data = new
|
||||
{
|
||||
result = 0,
|
||||
}
|
||||
};
|
||||
string getway = topic.Split('/')[2];
|
||||
string payloadreq = JsonSerializer.Serialize(requestData);
|
||||
await _mqttClientManager.PublishAsync($"thing/product/{getway}/status_reply", payloadreq);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -176,7 +176,8 @@ namespace OpenAuth.WebApi
|
|||
services.AddSingleton<IMqttMessageHandler, ThingServiceHandler>();
|
||||
services.AddSingleton<IMqttMessageHandler, ThingOsdHandler>();
|
||||
services.AddSingleton<IMqttMessageHandler, ThingEventHandler>();
|
||||
//services.AddSingleton<IMqttMessageHandler, ThingDrcHandler>();
|
||||
services.AddSingleton<IMqttMessageHandler, ThingDrcHandler>();
|
||||
services.AddSingleton<IMqttMessageHandler, ThingStatusHandler>();
|
||||
services.AddHostedService<MqttHostedService>();
|
||||
#endregion
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue