Merge remote-tracking branch 'origin/main'

feature-flyModify
陈伟 2025-07-15 08:45:09 +08:00
commit dc1be56dc3
3 changed files with 65 additions and 50 deletions

View File

@ -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<LasaDronePort, SugarDbContext>
{
public AirportMaintenanceApp(ISugarUnitOfWork<SugarDbContext> unitWork, ISimpleClient<LasaDronePort> repository, IAuth auth) : base(unitWork, repository, auth)
private readonly IConfiguration _configuration;
public AirportMaintenanceApp(ISugarUnitOfWork<SugarDbContext> unitWork, IConfiguration configuration, ISimpleClient<LasaDronePort> repository, IAuth auth) : base(unitWork, repository, auth)
{
_configuration = configuration;
}
//获取设备绑定码
public async Task<Response<LasaDeviceBindingCode>> 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<PageInfo<List<LasaLog>>>
{

View File

@ -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<string>
@ -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<string>
@ -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 () =>

View File

@ -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<IMqttMessageHandler>();
// 创建配置构建器
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<string>();