1. 修改任务执行接口,并添加返回值

2. 添加飞行次数字段,并添加相应更新逻辑
3. bugfix: 飞行记录在飞行结束后,数据未更新
4. 媒体库接口修改
feature-flyModify
陈伟 2025-09-28 16:50:57 +08:00
parent c817feade6
commit 509d1cc692
6 changed files with 58 additions and 15 deletions

View File

@ -408,7 +408,7 @@ namespace OpenAuth.App.ServiceApp
#endregion
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string taskId, string airId, string device,
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string flightId,string taskId, string airId, string device,
int? type, string picname, DateTime? startTime, DateTime? endTime, int page, int limit, string parentKey, int? objectKeyExist)
{
RefAsync<int> totalCount = 0;

View File

@ -905,7 +905,7 @@ namespace OpenAuth.App.ServiceApp
#endregion
public async Task ExecuteFlyTask(string taskId)
public async Task<Response<bool>> ExecuteFlyTask(string taskId)
{
// 任务信息
var task = await Repository.ChangeRepository<SugarRepositiry<LasaTask>>().GetByIdAsync(taskId);
@ -1056,7 +1056,10 @@ namespace OpenAuth.App.ServiceApp
.AsUpdateable(taskUpdate)
.IgnoreNullColumns()
.ExecuteCommandAsync();
return;
return new Response<bool>()
{
Result = false
};
}
// 航线文件信息
@ -1215,6 +1218,19 @@ namespace OpenAuth.App.ServiceApp
FlightId = data.flight_id,
ExternalTaskId = task.ExternalTaskId
});
var taskUpdate1 = new LasaTask
{
Id = taskId,
//任务因挂起失败
Status = 0,
};
await Repository
.ChangeRepository<SugarRepositiry<LasaTask>>()
.AsUpdateable(taskUpdate1)
.IgnoreNullColumns()
.ExecuteCommandAsync();
return new Response<bool>(){Result = true};
}
public async Task PendingFlyTask(string taskId)
@ -2800,10 +2816,22 @@ namespace OpenAuth.App.ServiceApp
};
}
public async Task<Response<dynamic>> GetTaskHistoryList(string taskId)
public async Task<Response<dynamic>> GetTaskHistoryList(string taskId, string date)
{
DateTime start = DateTime.MinValue, end = DateTime.MaxValue;
if (!string.IsNullOrEmpty(date))
{
var array = date.Split("-");
int year = int.Parse(array[0]);
int month = int.Parse(array[1]);
start = new DateTime(year, month, 1);
end = start.AddMonths(1).AddDays(-1);;
}
var taskHistoryList = await Repository.ChangeRepository<SugarRepositiry<LasaTaskHistory>>()
.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(date),
r => r.ExecuteTime >= start && r.ExecuteTime <= end)
.Where(r => r.TaskId == taskId)
.OrderByDescending(r => r.ExecuteTime)
.ToListAsync();

View File

@ -619,17 +619,22 @@ public class ConfigSubscribe : IJob
var record = new LasaTask()
{
Id = taskAssign1.TaskId,
Status = 5
Status = 5,
CompletedTime = DateTime.Now,
FlyNumber = task.FlyNumber + 1
};
_logger.LogDebug($"要更新的任务信息:{JsonConvert.SerializeObject(record)}");
await _sqlSugarClient.Updateable(record).IgnoreNullColumns().ExecuteCommandAsync();
var taskHistory = await _sqlSugarClient
.Queryable<LasaTaskHistory>()
.Where(x => x.TaskId == flightId1)
.Where(x => x.FlightId == flightId1)
.FirstAsync();
var taskHistoryUpdate = new LasaTaskHistory()
{
Id = taskHistory.Id,
Status = 5
Status = 5,
CompletedTime = DateTime.Now,
//ActualExecuteDuration =(((DateTimeOffset)DateTime.Now).ToUnixTimeSeconds() - (DateTimeOffset)taskHistory.ExecuteTime);
};
await _sqlSugarClient.Updateable(taskHistoryUpdate)
.IgnoreNullColumns().ExecuteCommandAsync();
@ -853,6 +858,7 @@ public class ConfigSubscribe : IJob
{
// 任务开始执行
taskRecordExecute.Status = 1; // 任务执行中
//taskRecordExecute.FlyNumber = flyTask.FlyNumber + 1;
taskHistoryUpdate.Status = 1;
Console.WriteLine($"任务执行响应 {code} {message}");
}

View File

@ -155,6 +155,8 @@ namespace OpenAuth.Repository.Domain
public string BreakPoint { get; set; }
public string PushUrl { get; set; }
public int FlyNumber { get; set; }
[SugarColumn(IsIgnore = true)] public string AlgoInstanceId { get; set; }
[SugarColumn(IsIgnore = true)] public string WarningTitle { get; set; }

View File

@ -700,14 +700,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
[HttpGet]
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string taskId, string airId,
public async Task<Response<PageInfo<List<LasaMediaFile>>>> GetMediaFile(string flightId,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,type, picname, startTime, endTime, page, limit,
result = await _app.GetMediaFile(flightId,taskId, airId, device,type, picname, startTime, endTime, page, limit,
parentKey, objectKeyExist);
}
catch (Exception ex)

View File

@ -557,15 +557,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
// 航线任务在云端的 共享查看、下发执行、取消以及进度上报等功能。
/// <summary>
/// 解除挂起(执行任务) todo 需不需要加时间限制判断?
/// 解除挂起(执行任务)
/// </summary>
/// <param name="taskId"></param>
[HttpPost]
[AllowAnonymous]
// todo 根据项目设置的起飞条件设置是否起飞
public async Task ExecuteFlyTask(string taskId)
public async Task<Response<bool>> ExecuteFlyTask(string taskId)
{
await _app.ExecuteFlyTask(taskId);
return await _app.ExecuteFlyTask(taskId);
}
/// <summary>
@ -945,9 +944,17 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// <param name="taskId"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<dynamic>> GetTaskHistoryList(string taskId)
public async Task<Response<dynamic>> GetTaskHistoryList(string taskId,string date)
{
return await _app.GetTaskHistoryList(taskId);
if (string.IsNullOrEmpty(taskId))
{
return new Response<dynamic>()
{
Code = 500,
Message = "参数缺失"
};
}
return await _app.GetTaskHistoryList(taskId,date);
}
}
}