feat(api): Логика смены статусов для заданий робота. RobotTaskController

This commit is contained in:
Mikhail Trubnikov
2023-10-05 16:56:02 +10:00
parent 4679994600
commit af4a0b60b8
26 changed files with 2779 additions and 126 deletions

View File

@@ -1,9 +1,39 @@
using PARR.DAL.Models;
using PARR.DAL.Contracts;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces.Base;
namespace PARR.DAL.Services.Interfaces
{
public interface IRobotConfigurationService : IBaseService<RobotConfiguration>
{
/// <summary>
/// Обновить статус работы робота
/// </summary>
/// <param name="robotStatus"></param>
/// <param name="configuration"></param>
void ChangeRobotStatus(RobotStatusEnum robotStatus, ref RobotConfiguration configuration);
/// <summary>
/// Обновить статус задания (автоматически обновляется статус робота)
/// </summary>
/// <param name="taskStatus"></param>
/// <param name="configuration"></param>
void ChangeTaskStatus(TaskStatusEnum taskStatus, ref RobotConfiguration configuration);
/// <summary>
/// Поиск невыполненных заданий и установка им статуса ошибки робота
/// </summary>
/// <param name="robotAttemptsNumber"></param>
/// <param name="robotWaitTime"></param>
/// <returns></returns>
Task FindUnfulfilledTaskAndSetRobotErrorStatusAsync(int robotAttemptsNumber, TimeSpan robotWaitTime);
/// <summary>
/// Получить конфигурацию из шаблона по RobotCode. У шаблона обязательно должен быть Include таблицы RobotConfiguration
/// </summary>
/// <param name="robotsEnum"></param>
/// <param name="template"></param>
/// <returns></returns>
RobotConfiguration GetFromTemplateByRobotCode(RobotsEnum robotsEnum, ref Template template);
}
}

View File

@@ -4,6 +4,6 @@ namespace PARR.DAL.Services.Interfaces
{
public interface IStatusTemplateService
{
IQueryable<StatusTask> Get();
IQueryable<Models.TaskStatus> Get();
}
}