Compare commits
No commits in common. "a09b03444b4af35320ca80095dfd1365446df95f" and "3c05c070168235762155c4efbfc10f1fe8d03eee" have entirely different histories.
a09b03444b
...
3c05c07016
|
|
@ -287,7 +287,7 @@ public class ConfigSubscribe : IJob
|
||||||
{
|
{
|
||||||
if (!method.Equals("hms"))
|
if (!method.Equals("hms"))
|
||||||
{
|
{
|
||||||
//Console.WriteLine($"未处理事件events:{message}");
|
Console.WriteLine($"未处理事件events:{message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
handlers,
|
handlers,
|
||||||
server: "175.27.168.120",
|
server: "175.27.168.120",
|
||||||
port: 6011,
|
port: 6011,
|
||||||
clientId: "mqtt_client_15823456",
|
clientId: "mqtt_client_1582",
|
||||||
username: "sdhc",
|
username: "sdhc",
|
||||||
password: ""
|
password: ""
|
||||||
);
|
);
|
||||||
|
|
@ -44,7 +44,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
$"thing/product/{gateway}/services_reply",
|
$"thing/product/{gateway}/services_reply",
|
||||||
//$"thing/product/{gateway}/drc/up",
|
//$"thing/product/{gateway}/drc/up",
|
||||||
//$"thing/product/{gateway}/drc/down",
|
//$"thing/product/{gateway}/drc/down",
|
||||||
$"thing/product/{gateway}/status"
|
$"thing/product/{gateway}/state"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
await _mqttCenter.ConnectAndSubscribeAsync(topics.ToArray());
|
await _mqttCenter.ConnectAndSubscribeAsync(topics.ToArray());
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ namespace OpenAuth.WebApi.Model.mqtt
|
||||||
public async Task HandleAsync(string topic, string payload)
|
public async Task HandleAsync(string topic, string payload)
|
||||||
{
|
{
|
||||||
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
_logger.LogError($"[Request] Topic={topic}, Payload={payload}");
|
||||||
if (payload.Contains("update_topo"))
|
if (payload.Contains("config"))
|
||||||
{
|
{
|
||||||
var root = JsonNode.Parse(payload)?.AsObject();
|
var root = JsonNode.Parse(payload)?.AsObject();
|
||||||
if (root == null)
|
if (root == null)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -177,7 +177,6 @@ namespace OpenAuth.WebApi
|
||||||
services.AddSingleton<IMqttMessageHandler, ThingOsdHandler>();
|
services.AddSingleton<IMqttMessageHandler, ThingOsdHandler>();
|
||||||
services.AddSingleton<IMqttMessageHandler, ThingEventHandler>();
|
services.AddSingleton<IMqttMessageHandler, ThingEventHandler>();
|
||||||
//services.AddSingleton<IMqttMessageHandler, ThingDrcHandler>();
|
//services.AddSingleton<IMqttMessageHandler, ThingDrcHandler>();
|
||||||
services.AddSingleton<IMqttMessageHandler, ThingStatusHandler>();
|
|
||||||
services.AddHostedService<MqttHostedService>();
|
services.AddHostedService<MqttHostedService>();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue