diff --git a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs index 607514c..6dcc53c 100644 --- a/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs +++ b/OpenAuth.App/ServiceApp/AirportMaintenanceApp.cs @@ -14,15 +14,16 @@ using DocumentFormat.OpenXml.EMMA; using NPOI.SS.Formula.Functions; using Infrastructure.Extensions; using DocumentFormat.OpenXml.Math; -using DocumentFormat.OpenXml.Spreadsheet; -using Org.BouncyCastle.Ocsp; +using Microsoft.Extensions.Configuration; namespace OpenAuth.App.ServiceApp { public class AirportMaintenanceApp : SqlSugarBaseApp { - public AirportMaintenanceApp(ISugarUnitOfWork unitWork, ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) + private readonly IConfiguration _configuration; + public AirportMaintenanceApp(ISugarUnitOfWork unitWork, IConfiguration configuration, ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) { + _configuration = configuration; } //获取设备绑定码 public async Task> GetDeviceBindingCode() @@ -115,15 +116,19 @@ namespace OpenAuth.App.ServiceApp } else { + var serverIp = _configuration.GetSection("MQTT:Server").Value; + var port = _configuration.GetSection("MQTT:Port").Value; + var username = _configuration.GetSection("MQTT:UserName").Value; + var password = _configuration.GetSection("MQTT:Password").Value; //如果网关不存在,则创建一个新的 var newGateway = new LasaGateway { Id = Guid.NewGuid().ToString(), CreateTime = DateTime.Now, - GatewayAccount = "sdhc", + GatewayAccount = username, GatewaySn = Guid.NewGuid().ToString("N").Substring(0, 8).ToUpper(), // 生成一个新的 - MqttGateway = "175.27.168.120:6011", - MqttPassword = "", + MqttGateway = serverIp + ":" + port, + MqttPassword = password, OrgId = "371300", // 默认组织ID BindStatus = 0 // 未绑定状态 }; @@ -316,7 +321,7 @@ namespace OpenAuth.App.ServiceApp var list = await db.LasaLog.AsQueryable() .Where(x => x.CreateTime >= startTime && x.CreateTime <= endTime) .Where(x => x.Topic == topic) - .OrderBy(x => x.CreateTime, OrderByType.Asc) + .OrderBy(x => x.CreateTime, OrderByType.Asc) .ToPageListAsync(page, limit, totalCount); return new Response>> { diff --git a/OpenAuth.App/ServiceApp/ManageApp.cs b/OpenAuth.App/ServiceApp/ManageApp.cs index d5a5160..74c6477 100644 --- a/OpenAuth.App/ServiceApp/ManageApp.cs +++ b/OpenAuth.App/ServiceApp/ManageApp.cs @@ -504,6 +504,7 @@ namespace OpenAuth.App.ServiceApp } var list = await db.LasaWorkspace.AsQueryable() + .Where(a=>a.IsDelete==false) .WhereIF(!string.IsNullOrEmpty(key), a => a.WorkspaceName.Contains(key)) .WhereIF(state != 0, a => a.Sate == state) .WhereIF(isjoin == 1, a => ids.Contains(a.Id)) @@ -888,7 +889,8 @@ namespace OpenAuth.App.ServiceApp model.Id = id; //格式化数据 - string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + //string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + string _wktModel = model.Geom; model.Geom = null; @@ -896,15 +898,15 @@ namespace OpenAuth.App.ServiceApp geomSql.AppendFormat( $" update lasa_shpdata set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{id}'"); - //更新面积 - StringBuilder sql = new StringBuilder(); - sql.AppendFormat( - $" update lasa_shpdata set \"Area\" = st_area(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); + ////更新面积 + //StringBuilder sql = new StringBuilder(); + //sql.AppendFormat( + // $" update lasa_shpdata set \"Area\" = st_area(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); - //更新周长 - StringBuilder sqlle = new StringBuilder(); - sqlle.AppendFormat( - $" update lasa_shpdata set \"Length\" = ST_Perimeter(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); + ////更新周长 + //StringBuilder sqlle = new StringBuilder(); + //sqlle.AppendFormat( + // $" update lasa_shpdata set \"Length\" = ST_Perimeter(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); //使用事务提交数据 var transFlag = await db.UseTranAsync(async () => @@ -915,11 +917,11 @@ namespace OpenAuth.App.ServiceApp //修改图斑数据 var flagGeom = await db.Ado.ExecuteCommandAsync(geomSql.ToString()); - //修改图斑面积 - var flagUpdate = await db.Ado.ExecuteCommandAsync(sql.ToString()); + ////修改图斑面积 + //var flagUpdate = await db.Ado.ExecuteCommandAsync(sql.ToString()); - //修改图斑周长 - var lengthUpdate = await db.Ado.ExecuteCommandAsync(sqlle.ToString()); + ////修改图斑周长 + //var lengthUpdate = await db.Ado.ExecuteCommandAsync(sqlle.ToString()); }); if (transFlag.IsSuccess) return new Response @@ -953,15 +955,15 @@ namespace OpenAuth.App.ServiceApp geomSql.AppendFormat( $" update lasa_shpdata set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{model.Id}'"); - //更新面积 - StringBuilder sql = new StringBuilder(); - sql.AppendFormat( - $" update lasa_shpdata set \"Area\" = st_area(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{model.Id}'"); + ////更新面积 + //StringBuilder sql = new StringBuilder(); + //sql.AppendFormat( + // $" update lasa_shpdata set \"Area\" = st_area(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{model.Id}'"); - //更新周长 - StringBuilder sqlle = new StringBuilder(); - sqlle.AppendFormat( - $" update lasa_shpdata set \"Length\" = ST_Perimeter(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{model.Id}'"); + ////更新周长 + //StringBuilder sqlle = new StringBuilder(); + //sqlle.AppendFormat( + // $" update lasa_shpdata set \"Length\" = ST_Perimeter(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{model.Id}'"); //使用事务提交数据 var transFlag = await db.UseTranAsync(async () => @@ -972,11 +974,11 @@ namespace OpenAuth.App.ServiceApp //修改图斑数据 var flagGeom = await db.Ado.ExecuteCommandAsync(geomSql.ToString()); - //修改图斑面积 - var flagUpdate = await db.Ado.ExecuteCommandAsync(sql.ToString()); + ////修改图斑面积 + //var flagUpdate = await db.Ado.ExecuteCommandAsync(sql.ToString()); - //修改图斑周长 - var lengthUpdate = await db.Ado.ExecuteCommandAsync(sqlle.ToString()); + ////修改图斑周长 + //var lengthUpdate = await db.Ado.ExecuteCommandAsync(sqlle.ToString()); }); if (transFlag.IsSuccess) return new Response @@ -1056,23 +1058,14 @@ namespace OpenAuth.App.ServiceApp model.Id = id; //格式化数据 - string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + //string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + string _wktModel = model.Geom; model.Geom = null; StringBuilder geomSql = new StringBuilder(); geomSql.AppendFormat( - $" update lasa_shpdata set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{id}'"); - - ////更新面积 - //StringBuilder sql = new StringBuilder(); - //sql.AppendFormat( - // $" update lasa_shpdata set \"Area\" = st_area(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); - - ////更新周长 - //StringBuilder sqlle = new StringBuilder(); - //sqlle.AppendFormat( - // $" update lasa_shpdata set \"Length\" = ST_Perimeter(st_transform(\"Geom\",4527)) where \"Geom\" is not null and \"Id\" = '{id}'"); + $" update lasa_annotation set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{id}'"); //使用事务提交数据 var transFlag = await db.UseTranAsync(async () => @@ -1113,13 +1106,14 @@ namespace OpenAuth.App.ServiceApp using (var db = base.UnitWork.CreateContext().Db.CopyNew()) { //格式化数据 - string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + //string _wktModel = _commonDataManager.WktDataConvert(model.Geom, "MULTIPOLYGON ZM", 4); + string _wktModel = model.Geom; model.Geom = null; StringBuilder geomSql = new StringBuilder(); geomSql.AppendFormat( - $" update lasa_shpdata set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{model.Id}'"); + $" update lasa_annotation set \"Geom\" = st_geomfromtext('{_wktModel}',4326) where \"Id\" = '{model.Id}'"); //使用事务提交数据 var transFlag = await db.UseTranAsync(async () => diff --git a/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs b/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs index 5476411..09bb4c5 100644 --- a/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs +++ b/OpenAuth.WebApi/Model/mqtt/MqttHostedService.cs @@ -12,6 +12,7 @@ namespace OpenAuth.WebApi.Model.mqtt private readonly MqttMessageCenter _mqttCenter; private readonly AirportMaintenanceApp _app; + public MqttHostedService(IServiceProvider serviceProvider, MqttMessageCenter mqttCenter, AirportMaintenanceApp app) { _serviceProvider = serviceProvider; @@ -23,14 +24,29 @@ namespace OpenAuth.WebApi.Model.mqtt { using var scope = _serviceProvider.CreateScope(); var handlers = scope.ServiceProvider.GetServices(); + // 创建配置构建器 + var builder = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) + .AddJsonFile( + $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development"}.json", + optional: true) + .AddEnvironmentVariables(); + // 构建配置 + var configuration = builder.Build(); + // 读取连接字符串 + var serverIp = configuration["MQTT:Server"]; + var port = configuration["MQTT:Port"]; + var username = configuration["MQTT:UserName"]; + var password = configuration["MQTT:Password"]; await _mqttCenter.InitializeAsync( handlers, - server: "175.27.168.120", - port: 6011, + server: serverIp, + port: int.Parse(port), clientId: Guid.NewGuid().ToString(), - username: "sdhc", - password: "" + username: username, + password: password ); //查询网关,订阅主题 var topics = new List();