2025-06-12 14:33:37 +08:00
|
|
|
|
using OpenAuth.App.BaseApp.Base;
|
|
|
|
|
|
using OpenAuth.Repository.Domain;
|
|
|
|
|
|
using OpenAuth.Repository;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using OpenAuth.App.Interface;
|
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
using Infrastructure;
|
|
|
|
|
|
using OpenAuth.App.ServiceApp.Response;
|
2025-06-17 13:53:54 +08:00
|
|
|
|
using DocumentFormat.OpenXml.EMMA;
|
2025-06-12 14:33:37 +08:00
|
|
|
|
|
|
|
|
|
|
namespace OpenAuth.App.ServiceApp
|
|
|
|
|
|
{
|
|
|
|
|
|
public class AirportMaintenanceApp : SqlSugarBaseApp<LasaDronePort, SugarDbContext>
|
|
|
|
|
|
{
|
|
|
|
|
|
public AirportMaintenanceApp(ISugarUnitOfWork<SugarDbContext> unitWork, ISimpleClient<LasaDronePort> repository, IAuth auth) : base(unitWork, repository, auth)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取设备绑定码
|
|
|
|
|
|
public async Task<Response<LasaDeviceBindingCode>> GetDeviceBindingCode()
|
|
|
|
|
|
{
|
|
|
|
|
|
RefAsync<int> totalCount = 0;
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var info = await db.LasaDeviceBindingCode.AsQueryable().Where(r => r.BindStatus == 0).FirstAsync();
|
|
|
|
|
|
|
|
|
|
|
|
if (info != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaDeviceBindingCode>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 200,
|
|
|
|
|
|
Message = "获取设备绑定码成功",
|
|
|
|
|
|
Result = info
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
//如果设备绑定码不存在,则创建一个新的设备绑定码
|
|
|
|
|
|
var newBindingCode = new LasaDeviceBindingCode
|
|
|
|
|
|
{
|
|
|
|
|
|
Id = Guid.NewGuid().ToString(),
|
|
|
|
|
|
DeviceBindingCode = Guid.NewGuid().ToString("N").Substring(0, 8), // 生成一个新的绑定码
|
|
|
|
|
|
OrgId = "371300", // 默认组织ID
|
|
|
|
|
|
OrgName = "临沂市", // 默认组织名称
|
|
|
|
|
|
BindStatus = 0 // 未绑定状态
|
|
|
|
|
|
};
|
|
|
|
|
|
await db.LasaDeviceBindingCode.InsertAsync(newBindingCode);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaDeviceBindingCode>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 200,
|
|
|
|
|
|
Message = "获取设备绑定码成功",
|
|
|
|
|
|
Result = newBindingCode
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaDeviceBindingCode>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 500,
|
|
|
|
|
|
Message = "获取设备绑定码失败",
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-17 13:53:54 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 修改注册码状态
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="DeviceBindingCode"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<bool> UpdateCodeStatus(string DeviceBindingCode)
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var flag = await db.LasaDeviceBindingCode.UpdateAsync(it => new LasaDeviceBindingCode()
|
|
|
|
|
|
{
|
|
|
|
|
|
BindStatus = 1,
|
|
|
|
|
|
}, it => it.DeviceBindingCode == DeviceBindingCode);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
return true;
|
|
|
|
|
|
else
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-18 15:44:13 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//使用网关
|
|
|
|
|
|
public async Task<Response<LasaGateway>> GetGateway()
|
|
|
|
|
|
{
|
|
|
|
|
|
RefAsync<int> totalCount = 0;
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var info = await db.LasaGateway.AsQueryable().Where(r => r.BindStatus == 0).FirstAsync();
|
|
|
|
|
|
|
|
|
|
|
|
if (info != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaGateway>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 200,
|
|
|
|
|
|
Message = "获取设备绑定码成功",
|
|
|
|
|
|
Result = info
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
//如果网关不存在,则创建一个新的
|
|
|
|
|
|
var newGateway = new LasaGateway
|
|
|
|
|
|
{
|
|
|
|
|
|
Id = Guid.NewGuid().ToString(),
|
|
|
|
|
|
CreateTime = DateTime.Now,
|
|
|
|
|
|
GatewayAccount="sdhc",
|
|
|
|
|
|
GatewaySn = Guid.NewGuid().ToString("N").Substring(0, 8).ToUpper(), // 生成一个新的
|
|
|
|
|
|
MqttGateway= "175.27.168.120:6011",
|
|
|
|
|
|
MqttPassword = "",
|
|
|
|
|
|
OrgId = "371300", // 默认组织ID
|
|
|
|
|
|
BindStatus = 0 // 未绑定状态
|
|
|
|
|
|
};
|
|
|
|
|
|
await db.LasaGateway.InsertAsync(newGateway);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaGateway>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 200,
|
|
|
|
|
|
Message = "获取设备绑定码成功",
|
|
|
|
|
|
Result = newGateway
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
return new Response<LasaGateway>
|
|
|
|
|
|
{
|
|
|
|
|
|
Code = 500,
|
|
|
|
|
|
Message = "获取设备绑定码失败",
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public async Task<bool> UpdateGateway(string gateway,string did)
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var flag = await db.LasaGateway.UpdateAsync(it => new LasaGateway()
|
|
|
|
|
|
{
|
|
|
|
|
|
BindStatus = 1,
|
|
|
|
|
|
Did = did,
|
|
|
|
|
|
UpdateTime = DateTime.Now,
|
|
|
|
|
|
}, it => it.GatewaySn == gateway);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
return true;
|
|
|
|
|
|
else
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-17 13:53:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
#region 健康报警
|
2025-06-18 15:44:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 添加健康报警
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="info"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2025-06-17 13:53:54 +08:00
|
|
|
|
public bool AddManageDeviceHms(List<LasaManageDeviceHms> info)
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var flag = db.LasaManageDeviceHms.InsertRange(info);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
return true;
|
|
|
|
|
|
else
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
2025-06-18 15:44:13 +08:00
|
|
|
|
|
|
|
|
|
|
#region 日志
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 添加日志
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="info"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public bool AddLog(LasaLog info)
|
|
|
|
|
|
{
|
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
|
{
|
|
|
|
|
|
var flag = db.LasaLog.Insert(info);
|
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
|
return true;
|
|
|
|
|
|
else
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
2025-06-12 14:33:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|