From 60d91954603640cab73aecc1e76ed439260e2b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BC=9F?= <421281095@qq.com> Date: Wed, 23 Jul 2025 14:53:24 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=8C=82=E6=9C=BA=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=202.=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E5=88=A0=E9=99=A4=E5=AE=9A=E6=97=B6=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/ServiceApp/FlyTaskJob.cs | 5 +++++ OpenAuth.App/ServiceApp/ManageApp.cs | 22 +++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/OpenAuth.App/ServiceApp/FlyTaskJob.cs b/OpenAuth.App/ServiceApp/FlyTaskJob.cs index 4bbb781..71e92c7 100644 --- a/OpenAuth.App/ServiceApp/FlyTaskJob.cs +++ b/OpenAuth.App/ServiceApp/FlyTaskJob.cs @@ -18,11 +18,16 @@ public class FlyTaskJob : IJob public Task Execute(IJobExecutionContext context) { var jobId = context.MergedJobDataMap.GetString(Define.JOBMAPKEY); + if (string.IsNullOrEmpty(jobId)) + { + return Task.CompletedTask; + } var job = _openJobApp.Get(jobId); if (job == null) return Task.CompletedTask; var param = JsonConvert.DeserializeObject(job.JobCallParams); var taskId = (string)param.taskId; _ = _manageApp.ExecuteFlyTask(taskId); + _openJobApp.Delete(jobId.Select(c => c.ToString()).ToArray()); return Task.CompletedTask; } } \ No newline at end of file diff --git a/OpenAuth.App/ServiceApp/ManageApp.cs b/OpenAuth.App/ServiceApp/ManageApp.cs index 2d3dc28..774127a 100644 --- a/OpenAuth.App/ServiceApp/ManageApp.cs +++ b/OpenAuth.App/ServiceApp/ManageApp.cs @@ -839,13 +839,29 @@ namespace OpenAuth.App.ServiceApp } #endregion - - // todo 保存任务时,执行任务 - + public async Task ExecuteFlyTask(string taskId) { // 任务信息 var task = await Repository.ChangeRepository>().GetByIdAsync(taskId); + // 如果任务被挂起,则直接失败 + if (task.Status == 3) + { + var taskUpdate = new LasaTask + { + Id = taskId, + //任务因挂起失败 + Status = 2, + Reason = "任务因挂起执行失败" + }; + await Repository + .ChangeRepository>() + .AsUpdateable(taskUpdate) + .IgnoreNullColumns() + .ExecuteCommandAsync(); + return; + } + // 航线文件信息 var airLine = await Repository.ChangeRepository>() .GetByIdAsync(task.AirLineId);