飞地任务结束判断优化
parent
87b49f21ec
commit
55ed6a0fc8
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Dynamic;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Dynamic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Infrastructure.Cache;
|
using Infrastructure.Cache;
|
||||||
using Infrastructure.CloudSdk;
|
using Infrastructure.CloudSdk;
|
||||||
|
|
@ -317,10 +318,12 @@ public class ConfigSubscribe : IJob
|
||||||
UploadedFileCount = uploadedFileCount // 已上传文件数量
|
UploadedFileCount = uploadedFileCount // 已上传文件数量
|
||||||
};
|
};
|
||||||
// 当expectFileCount 等于uploadedFileCount时,则表示航线执行完成
|
// 当expectFileCount 等于uploadedFileCount时,则表示航线执行完成
|
||||||
|
/*
|
||||||
if (uploadedFileCount.Equals(expectFileCount))
|
if (uploadedFileCount.Equals(expectFileCount))
|
||||||
{
|
{
|
||||||
taskRecord.Status = 5; // 成功状态
|
taskRecord.Status = 5; // 成功状态
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
await _sqlSugarClient.Updateable(taskRecord)
|
await _sqlSugarClient.Updateable(taskRecord)
|
||||||
.IgnoreNullColumns().ExecuteCommandAsync();
|
.IgnoreNullColumns().ExecuteCommandAsync();
|
||||||
|
|
@ -331,7 +334,40 @@ public class ConfigSubscribe : IJob
|
||||||
break;
|
break;
|
||||||
case "flighttask_progress":
|
case "flighttask_progress":
|
||||||
{
|
{
|
||||||
code = data.result;
|
// "0":"初始状态"
|
||||||
|
// "1":"启动前检查,飞行器是否在执行航线中"
|
||||||
|
// "2":"启动前检查,机场是否退出工作模式"
|
||||||
|
// "3":"启动前检查,航线执行中"
|
||||||
|
// "4":"启动前检查,返航中"
|
||||||
|
// "5":"航线执行进入准备状态,开始等待任务下发"
|
||||||
|
// "6":"机场进入工作状态"
|
||||||
|
// "7":"进入开机检查准备工作和开盖准备工作"
|
||||||
|
// "8":"图传远程对频"
|
||||||
|
// "9":"等待飞行系统准备就绪,推送连接建立"
|
||||||
|
// "10":"等待 RTK 源监听有值上报"
|
||||||
|
// "11":"检查 RTK 源是否是机场源,如果不是要重新设置"
|
||||||
|
// "12":"等待飞行控制权通知"
|
||||||
|
// "13":"机场无控制权,抢夺飞行器控制权"
|
||||||
|
// "14":"自定义飞行区一致性检查"
|
||||||
|
// "15":"离线地图一致性检查"
|
||||||
|
// "16":"获取最新 KMZ URL"
|
||||||
|
// "17":"下载 KMZ"
|
||||||
|
// "18":"KMZ 上传中"
|
||||||
|
// "19":"染色配置"
|
||||||
|
// "20":"飞行器起飞参数设置,备降点设置,起飞高度设置,染色设置"
|
||||||
|
// "21":"飞行器 flyto 起飞参数设置"
|
||||||
|
// "22":"起飞机场检查降落机场准备状态"
|
||||||
|
// "23":"Home 点设置"
|
||||||
|
// "24":"触发执行航线"
|
||||||
|
// "25":"航线执行中"
|
||||||
|
// "26":"进入返航的检查准备工作"
|
||||||
|
// "27":"飞行器降落机场"
|
||||||
|
// "28":"降落以后的关盖"
|
||||||
|
// "29":"机场退出工作模式"
|
||||||
|
// "30":"机场异常恢复","31":"机场上传飞行系统日志","32":"相机录像状态检查","33":"获取媒体文件数量","34":"机场起飞开盖的异常恢复","35":"通知任务结果","36":"日志列表拉取 - 飞行器列表","37":"日志列表拉取 - 拉取机场列表","38":"日志列表拉取 - 上传日志列表结果","39":"日志拉取-拉取飞行器日志","40":"日志拉取-拉取机场日志","41":"日志拉取-压缩飞行器日志","42":"日志拉取-压缩机场日志","43":"日志拉取-上传飞行器日志","44":"日志拉取-上传机场日志","45":"日志拉取-通知结果","46":"自定义飞行区文件更新准备中","47":"自定义飞行区更新中","48":"离线地图更新准备中","49":"离线地图更新中","65533":"结束后等待服务回包","65534":"无具体状态","65535":"UNKNOWN"}
|
||||||
|
code = data.result; // result
|
||||||
|
var x = (int)data.output.ext.wayline_mission_state;
|
||||||
|
var flightId2 = (string)data.output.ext.flight_id;
|
||||||
// 处理航线进度 ,也有可能是失败
|
// 处理航线进度 ,也有可能是失败
|
||||||
if (code != 0)
|
if (code != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -361,27 +397,40 @@ public class ConfigSubscribe : IJob
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (result.need_reply.Equals(1))
|
// 航线成功
|
||||||
|
if (x.Equals(9)) // 航结结束,更新任务状态
|
||||||
{
|
{
|
||||||
var fileUploadCallbackEventReply = new FileUploadCallbackEventReply<object>()
|
var task1 = await _sqlSugarClient
|
||||||
|
.Queryable<LasaTask>()
|
||||||
|
.SingleAsync(a => a.FlightId == flightId2);
|
||||||
|
var record = new LasaTask()
|
||||||
{
|
{
|
||||||
bid = result.bid,
|
Id = task1.Id,
|
||||||
tid = result.tid,
|
Status = 5
|
||||||
method = "flighttask_progress",
|
|
||||||
gateway = sn,
|
|
||||||
data = new
|
|
||||||
{
|
|
||||||
result = 0
|
|
||||||
},
|
|
||||||
timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(),
|
|
||||||
};
|
};
|
||||||
await _mqttClientManager.PublishAsync($"thing/product/{sn}/events_reply",
|
await _sqlSugarClient.Updateable(record).IgnoreNullColumns().ExecuteCommandAsync();
|
||||||
JsonConvert.SerializeObject(fileUploadCallbackEventReply));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine($"航线进度:{message}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (result.need_reply.Equals(1))
|
||||||
|
{
|
||||||
|
var fileUploadCallbackEventReply = new FileUploadCallbackEventReply<object>()
|
||||||
|
{
|
||||||
|
bid = result.bid,
|
||||||
|
tid = result.tid,
|
||||||
|
method = "flighttask_progress",
|
||||||
|
gateway = sn,
|
||||||
|
data = new
|
||||||
|
{
|
||||||
|
result = 0
|
||||||
|
},
|
||||||
|
timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(),
|
||||||
|
};
|
||||||
|
await _mqttClientManager.PublishAsync($"thing/product/{sn}/events_reply",
|
||||||
|
JsonConvert.SerializeObject(fileUploadCallbackEventReply));
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine($"航线进度:{message}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -501,6 +550,7 @@ public class ConfigSubscribe : IJob
|
||||||
break;
|
break;
|
||||||
case "thing/product/*/osd":
|
case "thing/product/*/osd":
|
||||||
// todo 处理保存 减少三位,保存
|
// todo 处理保存 减少三位,保存
|
||||||
|
// todo 字段信息
|
||||||
Console.WriteLine($"osd消息: {message}");
|
Console.WriteLine($"osd消息: {message}");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue