diff --git a/OpenAuth.App/ServiceApp/ManageApp.cs b/OpenAuth.App/ServiceApp/ManageApp.cs index 3558a4f..0e62e48 100644 --- a/OpenAuth.App/ServiceApp/ManageApp.cs +++ b/OpenAuth.App/ServiceApp/ManageApp.cs @@ -366,6 +366,7 @@ namespace OpenAuth.App.ServiceApp task.CreateId = user.Id; task.CreateUserName = user.Name; task.CreateTime = DateTime.Now; + //task.FlightId = Guid.NewGuid().ToString(); // todo 添加一些航线信息 // 如:执行时长,单次定时的时间 // 0-飞行计划 1-指点飞行 @@ -401,6 +402,12 @@ namespace OpenAuth.App.ServiceApp } } + /// + /// 已禁止使用 + /// + /// + /// + [Obsolete] //编辑任务 public async Task> EditTask(LasaTask task) { @@ -835,6 +842,27 @@ namespace OpenAuth.App.ServiceApp dynamic data = new ExpandoObject(); data.flight_id = Guid.NewGuid().ToString(); // 用任务id 作为 + // external + if (!string.IsNullOrEmpty(task.ExternalTaskId)) + { + // 关联detail + var detail = await Repository + .ChangeRepository>() + .GetSingleAsync(r => r.id == task.ExternalTaskId); + if (detail == null) + { + throw new Exception("找不到原始省任务"); + } + + var record = new DroneDocktaskdetail(); + record.id = task.ExternalTaskId; + record.flighttaskid = data.flight_id; + await Repository.ChangeRepository>() + .AsUpdateable(record) + .IgnoreNullColumns() + .ExecuteCommandAsync(); + } + data.execute_time = DateTimeOffset.Now.ToUnixTimeMilliseconds(); //{"0":"立即任务","1":"定时任务","2":"条件任务"} // 立即任务和定时任务均由execute_time指定执行时间;条件任务支持ready_conditions字段指定任务就绪条件,设备可在指定时间段内满足就绪条件后即可执行;立即任务媒体上传优先级最高,定时任务和条件任务媒体上传优先级相同 diff --git a/OpenAuth.Repository/Domain/LasaTask.cs b/OpenAuth.Repository/Domain/LasaTask.cs index bffe500..68bbe3d 100644 --- a/OpenAuth.Repository/Domain/LasaTask.cs +++ b/OpenAuth.Repository/Domain/LasaTask.cs @@ -136,5 +136,7 @@ namespace OpenAuth.Repository.Domain public string? Reason { get; set; } public int? FlightTaskType { get; set; } + + public string ExternalTaskId { get; set; } } } \ No newline at end of file