|
|
|
@ -36,7 +36,8 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
private readonly HttpClient _httpClient;
|
|
|
|
|
private readonly MinioService _minioService;
|
|
|
|
|
|
|
|
|
|
public AirportMaintenanceController(AirportMaintenanceApp app, MqttClientManager mqttClientManager, MqttMessageCenter mqttCenter, RedisCacheContext cache, HttpClient httpClient,MinioService minioService)
|
|
|
|
|
public AirportMaintenanceController(AirportMaintenanceApp app, MqttClientManager mqttClientManager,
|
|
|
|
|
MqttMessageCenter mqttCenter, RedisCacheContext cache, HttpClient httpClient, MinioService minioService)
|
|
|
|
|
{
|
|
|
|
|
_app = app;
|
|
|
|
|
_mqttClientManager = mqttClientManager;
|
|
|
|
@ -45,6 +46,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
_httpClient = httpClient;
|
|
|
|
|
_minioService = minioService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 机场注册 注册码生成
|
|
|
|
|
/// </summary>
|
|
|
|
@ -75,7 +77,6 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
{
|
|
|
|
|
device_binding_code = result.Result.DeviceBindingCode,
|
|
|
|
|
organization_id = result.Result.OrgId
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -83,7 +84,6 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
string payload = JsonSerializer.Serialize(requestData);
|
|
|
|
|
await _mqttClientManager.PublishAsync(topicRequest, payload);
|
|
|
|
|
//在这个地方在接收一下?
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
@ -94,6 +94,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 机场注册 注册码生成
|
|
|
|
|
/// </summary>
|
|
|
|
@ -125,6 +126,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取网关列表
|
|
|
|
|
/// </summary>
|
|
|
|
@ -149,6 +151,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 固件版本管理
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 添加固件版本
|
|
|
|
|
/// </summary>
|
|
|
|
@ -168,8 +171,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 修改无人机或机场版本
|
|
|
|
|
/// </summary>
|
|
|
|
@ -189,8 +194,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上传固件文件
|
|
|
|
|
/// </summary>
|
|
|
|
@ -205,6 +212,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
var path = await _app.UploadFile(xmlFile);
|
|
|
|
|
return Ok(new { message = "上传成功", path });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -244,19 +252,18 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
await Task.CompletedTask;
|
|
|
|
|
});
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response; ;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置直播镜头
|
|
|
|
|
/// </summary>
|
|
|
|
@ -267,7 +274,6 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
Response<int> response = new Response<int>();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var videoids = zhiboReq.videoId.Split("/");
|
|
|
|
|
var topicRequest = $"thing/product/" + videoids[0] + "/services";
|
|
|
|
|
var requestData = new
|
|
|
|
@ -296,15 +302,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -346,15 +351,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -378,7 +382,6 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
|
|
|
|
|
data = new
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
video_id = zhiboReq.videoId
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
@ -396,17 +399,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -439,13 +439,11 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
access_key_secret = "minioadmin",
|
|
|
|
|
expire = 3600,
|
|
|
|
|
security_token = "security_token"
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
endpoint = "175.27.168.120:6013",
|
|
|
|
|
object_key_prefix = "",
|
|
|
|
|
provider = "ali",
|
|
|
|
|
region = "hz"
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
result = 0
|
|
|
|
|
}
|
|
|
|
@ -453,21 +451,17 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开始直播
|
|
|
|
|
/// </summary>
|
|
|
|
@ -507,21 +501,19 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
response.Result = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
response.Code = 500;
|
|
|
|
|
response.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
return response;
|
|
|
|
|
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region redis 多用户控制
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 添加修改mqtt客户端信息
|
|
|
|
|
/// </summary>
|
|
|
|
@ -570,6 +562,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
{
|
|
|
|
|
await _cache.SetRemoveAsync(lockSetKey, info.UserId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result.Result = true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
@ -577,8 +570,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取当前用户mqtt客户端信息
|
|
|
|
|
/// </summary>
|
|
|
|
@ -597,8 +592,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MqttClientResp ParseClient(HashEntry[] entries)
|
|
|
|
|
{
|
|
|
|
|
if (entries == null || entries.Length == 0)
|
|
|
|
@ -613,6 +610,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
IsLock = bool.Parse(dict["IsLock"])
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取所有锁定的用户客户端信息
|
|
|
|
|
/// </summary>
|
|
|
|
@ -630,11 +628,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
if (entries.Length > 0)
|
|
|
|
|
result.Add(ParseClient(entries));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 获取告警信息
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取告警信息
|
|
|
|
|
/// </summary>
|
|
|
|
@ -646,12 +647,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
/// <param name="limit"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaManageDeviceHms>>>> GetManageDeviceHmsList(int level, int model, DateTime startTime, DateTime endTime, int page, int limit, string message,string getway)
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaManageDeviceHms>>>> GetManageDeviceHmsList(int level, int model,
|
|
|
|
|
DateTime startTime, DateTime endTime, int page, int limit, string message, string getway)
|
|
|
|
|
{
|
|
|
|
|
var result = new Response<PageInfo<List<LasaManageDeviceHms>>>();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
result = await _app.GetManageDeviceHmsList(level, model, startTime, endTime, page, limit, message, getway);
|
|
|
|
|
result = await _app.GetManageDeviceHmsList(level, model, startTime, endTime, page, limit, message,
|
|
|
|
|
getway);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
@ -661,9 +664,11 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 日志信息
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据设备sn读取实时数据
|
|
|
|
|
/// </summary>
|
|
|
|
@ -674,7 +679,8 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
/// <param name="limit"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaLog>>>> GetLogList(string sn, DateTime startTime, DateTime endTime, int page, int limit)
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaLog>>>> GetLogList(string sn, DateTime startTime, DateTime endTime,
|
|
|
|
|
int page, int limit)
|
|
|
|
|
{
|
|
|
|
|
var result = new Response<PageInfo<List<LasaLog>>>();
|
|
|
|
|
try
|
|
|
|
@ -686,42 +692,50 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string taskId,string airId,string device,string picname, DateTime startTime, DateTime endTime, int page, int limit,string parentKey,int? objectKeyExist)
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string taskId, string airId,
|
|
|
|
|
string device, int? type, string picname, DateTime startTime, DateTime endTime, int page, int limit,
|
|
|
|
|
string parentKey, int? objectKeyExist)
|
|
|
|
|
{
|
|
|
|
|
var result = new Response<PageInfo<List<LasaMediaFile>>>();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
result = await _app.GetMediaFile(taskId,airId,device, picname,startTime, endTime, page, limit,parentKey,objectKeyExist);
|
|
|
|
|
result = await _app.GetMediaFile(taskId, airId, device,type, picname, startTime, endTime, page, limit,
|
|
|
|
|
parentKey, objectKeyExist);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
[AllowAnonymous]
|
|
|
|
|
public async Task<Response<string>> UpdatePicStatus(string id, int showOnMap,int display,string fileTags,string graffitiJson)
|
|
|
|
|
public async Task<Response<string>> UpdatePicStatus(string id, int showOnMap, int display, string fileTags,
|
|
|
|
|
string graffitiJson)
|
|
|
|
|
{
|
|
|
|
|
var result = new Response<string>();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
result = await _app.UpdatePicStatus(id, showOnMap, display,fileTags,graffitiJson);
|
|
|
|
|
result = await _app.UpdatePicStatus(id, showOnMap, display, fileTags, graffitiJson);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -739,6 +753,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -756,6 +771,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -774,8 +790,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
[AllowAnonymous]
|
|
|
|
|
public async Task<Response<string>> getMiniPic()
|
|
|
|
@ -783,9 +801,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
var result = new Response<string>();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// string presignedUrl = "http://175.27.168.120:6014/test/44fc8b4b-9448-4e79-a71d-536d094b8598/ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_202507231000_002_ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_20250723100110_0001_V.jpeg";
|
|
|
|
|
var imageStream = _minioService.GetObjectAsStream("test", "44fc8b4b-9448-4e79-a71d-536d094b8598/ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_202507231000_002_ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_20250723100110_0001_V.jpeg");
|
|
|
|
|
// var imageStream = await _httpClient.GetStreamAsync(presignedUrl);
|
|
|
|
|
// string presignedUrl = "http://175.27.168.120:6014/test/44fc8b4b-9448-4e79-a71d-536d094b8598/ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_202507231000_002_ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_20250723100110_0001_V.jpeg";
|
|
|
|
|
var imageStream = _minioService.GetObjectAsStream("test",
|
|
|
|
|
"44fc8b4b-9448-4e79-a71d-536d094b8598/ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_202507231000_002_ad854032-d4b7-42dc-8ac0-d1faef0ebc1e/DJI_20250723100110_0001_V.jpeg");
|
|
|
|
|
// var imageStream = await _httpClient.GetStreamAsync(presignedUrl);
|
|
|
|
|
|
|
|
|
|
using (var image = Image.Load(imageStream.Result))
|
|
|
|
|
{
|
|
|
|
@ -803,18 +822,20 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
|
|
|
{
|
|
|
|
|
thumbnail.SaveAsJpeg(memoryStream); // 可以根据需要选择不同的格式,如Png, Bmp等。
|
|
|
|
|
memoryStream.Position = 0; // 重置流的位置到开始处
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 上传缩略图到MinIO
|
|
|
|
|
await _minioService.PutObjectAsync("test" , "suolue_DJI_20250723100110_0001_V.jpeg", "abc/suolue_DJI_20250723100110_0001_V.jpeg", memoryStream); // 根据实际格式修改Content-Type
|
|
|
|
|
await _minioService.PutObjectAsync("test", "suolue_DJI_20250723100110_0001_V.jpeg",
|
|
|
|
|
"abc/suolue_DJI_20250723100110_0001_V.jpeg", memoryStream); // 根据实际格式修改Content-Type
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
result.Code = 500;
|
|
|
|
|
result.Message = ex.Message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|