diff --git a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs index f20d9c8..4bbf4b2 100644 --- a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs +++ b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs @@ -180,6 +180,23 @@ namespace OpenAuth.App.ServiceApp } } } + public async Task> GetUavSn() + { + using (var db = UnitWork.CreateContext()) + { + var uavinfo = await db.LasaUav.AsQueryable().Where(r => r.IsDelete == false).Select(r => r.Sn).ToListAsync(); + var dockinfo = await db.LasaDronePort.AsQueryable().Where(r => r.IsDelete == false).Select(r => r.Sn).ToListAsync(); + + if (dockinfo != null) + { + return dockinfo.Union(uavinfo).ToList(); + } + else + { + return new List(); + } + } + } #region 固件版本管理 public async Task> AddFirmware(LasaFirmware info) diff --git a/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs b/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs index 24d3524..5476411 100644 --- a/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs +++ b/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs @@ -49,10 +49,15 @@ namespace OpenAuth.WebApi.Model.mqtt $"sys/product/{gateway}/status" }); } - topics.AddRange(new[] + var snList = await _app.GetUavSn(); + + foreach (var sn in snList) { - $"thing/product/1581F8HGX254V00A0BUY/osd" - }); + topics.AddRange(new[] + { + $"thing/product/{sn}/osd" + }); + } await _mqttCenter.ConnectAndSubscribeAsync(topics.ToArray()); }