2023-10-05 16:56:02 +10:00
|
|
|
|
using AutoMapper;
|
2023-12-04 10:16:00 +10:00
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
2023-10-05 16:56:02 +10:00
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
|
using PARR.API.Contracts.V1;
|
2024-08-01 14:21:28 +10:00
|
|
|
|
using PARR.API.Contracts.V1.Requests.Queries;
|
2023-10-05 16:56:02 +10:00
|
|
|
|
using PARR.API.Controllers.V1.Base;
|
2024-08-01 14:21:28 +10:00
|
|
|
|
using PARR.API.Services.Interfaces;
|
2026-04-30 10:35:31 +10:00
|
|
|
|
using PARR.Core.Repositories.Interfaces;
|
2026-05-04 11:55:07 +10:00
|
|
|
|
using PARR.Core.Services.NextRunServices;
|
2026-05-25 16:59:42 +10:00
|
|
|
|
using PARR.Core.Services.RobotTask.Interfaces;
|
2026-05-04 11:55:07 +10:00
|
|
|
|
using PARR.Core.Services.Shortcodes;
|
2026-04-14 12:01:49 +10:00
|
|
|
|
using PARR.Domain.Common.Roles;
|
2026-04-13 16:58:30 +10:00
|
|
|
|
using PARR.Domain.Enums;
|
2026-05-04 11:55:07 +10:00
|
|
|
|
using PARR.Domain.Settings;
|
2023-10-05 16:56:02 +10:00
|
|
|
|
|
|
|
|
|
|
namespace PARR.API.Controllers.V1
|
|
|
|
|
|
{
|
2026-05-25 16:59:42 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Формирование заданий роботам
|
|
|
|
|
|
/// </summary>
|
2023-12-04 10:16:00 +10:00
|
|
|
|
[Authorize(Roles = ParrRoles.EsppRobot.RoleOrAdmin)]
|
2023-10-05 16:56:02 +10:00
|
|
|
|
public class RobotTaskController : BaseApiController
|
|
|
|
|
|
{
|
|
|
|
|
|
private readonly IMapper mapper;
|
|
|
|
|
|
private readonly SettingsFromDb settingsFromDb;
|
2026-04-30 10:35:31 +10:00
|
|
|
|
private readonly IRobotConfigurationRepository robotConfigurationService;
|
2026-05-25 16:59:42 +10:00
|
|
|
|
private readonly ILogger<RobotTaskOldController> logger;
|
2024-08-01 14:21:28 +10:00
|
|
|
|
private readonly IClientService clientService;
|
2026-04-30 10:35:31 +10:00
|
|
|
|
private readonly IRobotHistoryRepository robotHistoryService;
|
2025-08-06 10:33:55 +10:00
|
|
|
|
private readonly IShortcodesService shortcodesService;
|
2026-03-05 10:19:54 +10:00
|
|
|
|
private readonly INextRunService nextRunService;
|
2026-05-25 16:59:42 +10:00
|
|
|
|
private readonly IRobotTaskService robotTaskService;
|
2023-10-05 16:56:02 +10:00
|
|
|
|
|
|
|
|
|
|
public RobotTaskController(
|
|
|
|
|
|
IMapper mapper,
|
|
|
|
|
|
SettingsFromDb settingsFromDb,
|
2026-04-30 10:35:31 +10:00
|
|
|
|
IRobotConfigurationRepository robotConfigurationService,
|
2026-05-25 16:59:42 +10:00
|
|
|
|
ILogger<RobotTaskOldController> logger,
|
2024-08-01 14:21:28 +10:00
|
|
|
|
IClientService clientService,
|
2026-04-30 10:35:31 +10:00
|
|
|
|
IRobotHistoryRepository robotHistoryService,
|
2026-01-22 11:46:05 +10:00
|
|
|
|
IShortcodesService shortcodesService,
|
2026-05-25 16:59:42 +10:00
|
|
|
|
INextRunService nextRunService,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IRobotTaskService robotTaskService
|
2023-10-05 16:56:02 +10:00
|
|
|
|
)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.mapper = mapper;
|
|
|
|
|
|
this.settingsFromDb = settingsFromDb;
|
|
|
|
|
|
this.robotConfigurationService = robotConfigurationService;
|
2024-02-27 16:01:08 +10:00
|
|
|
|
this.logger = logger;
|
2024-08-01 14:21:28 +10:00
|
|
|
|
this.clientService = clientService;
|
|
|
|
|
|
this.robotHistoryService = robotHistoryService;
|
2025-08-06 10:33:55 +10:00
|
|
|
|
this.shortcodesService = shortcodesService;
|
2026-01-22 11:46:05 +10:00
|
|
|
|
this.nextRunService = nextRunService;
|
2026-05-25 16:59:42 +10:00
|
|
|
|
this.robotTaskService = robotTaskService;
|
2023-10-05 16:56:02 +10:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-05-25 16:59:42 +10:00
|
|
|
|
/// Получить задание для робота по коду робота и статусу задания
|
2023-10-05 16:56:02 +10:00
|
|
|
|
/// </summary>
|
2026-05-25 16:59:42 +10:00
|
|
|
|
/// <param name="robotCode">Код робота</param>
|
|
|
|
|
|
/// <param name="taskStatusCode">Статус задания</param>
|
|
|
|
|
|
/// <param name="requestQuery">Параметры</param>
|
2023-10-05 16:56:02 +10:00
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
[HttpGet(ApiRoutes.RobotTask.GetByRobotAndStatusTask)]
|
2024-08-01 14:21:28 +10:00
|
|
|
|
public async Task<IActionResult> GetByRobotAndStatusTask([FromRoute] RobotsEnum robotCode, [FromRoute] TaskStatusEnum taskStatusCode, [FromQuery] RobotTaskQuery requestQuery)
|
2023-10-05 16:56:02 +10:00
|
|
|
|
{
|
2026-02-16 16:54:06 +10:00
|
|
|
|
|
2026-05-25 16:59:42 +10:00
|
|
|
|
//robotTaskService
|
2026-02-16 16:54:06 +10:00
|
|
|
|
|
2024-02-27 16:01:08 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-25 16:59:42 +10:00
|
|
|
|
return Ok();
|
2023-10-17 10:53:02 +10:00
|
|
|
|
}
|
2024-08-01 14:21:28 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-27 14:03:10 +10:00
|
|
|
|
|
|
|
|
|
|
|
2023-10-05 16:56:02 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|