using Org.BouncyCastle.Asn1.Mozilla; using WIDESEA_DTO; using WIDESEA_StorageTaskServices; namespace WIDESEA_WMSServer.Controllers.Task; /// /// 任务操作接口 /// [Route("api/Task")] [ApiController] public class TaskController : ApiBaseController { private readonly IHttpContextAccessor _httpContextAccessor; private readonly IDt_TaskService _taskService; public TaskController(IDt_TaskService service, IHttpContextAccessor httpContextAccessor) : base(service) { _httpContextAccessor = httpContextAccessor; } /// /// 任务完成 /// /// 任务号 /// 成功或失败 [HttpGet, HttpPost, Route("CompleteTaskAsync"), AllowAnonymous] public async Task CompleteTaskAsync(int taskNum) { return await Service.CompleteAsync(taskNum); } /// /// 任务取消 /// /// /// [HttpPost, HttpGet, Route("TaskCancel"), AllowAnonymous] public WebResponseContent TaskCancel(int taskNum) { return Service.TaskCancel(taskNum); } /// /// 获取任务信息 /// /// [HttpPost, HttpGet, Route("GetTaskInfo")] public WebResponseContent GetTaskInfo() { return Service.GetTaskInfo(); } /// /// 请求入库任务 /// /// 请求数据 /// [HttpPost, HttpGet, AllowAnonymous, Route("RequestInboundTaskAsync")] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] public async Task RequestInboundTaskAsync([FromBody] RequestTaskDto input) { return await Service.RequestInboundTaskAsync(input); } /// /// 任务状态修改 /// /// 请求数据 /// [HttpPost, HttpGet, Route("UpdateTaskStatus"), AllowAnonymous] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] public async Task UpdateTaskStatus([FromBody] UpdateStatusDto input) { return await Service.UpdateTaskStatus(input.TaskNum, input.TaskState); } [HttpPost, AllowAnonymous, Route("GetEmptyLocation")] [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] public async Task GetEmptyLocation(string roadWay) { return await Service.GetEmptyLocation(roadWay); } }