using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; using WaterCloud.Code; using WaterCloud.Domain.ClassTask; using WaterCloud.Domain.MaterialManage; using WaterCloud.Service.ClassTask; using WaterCloud.Service.MaterialManage; using WaterCloud.Service.SystemSecurity; namespace WaterCloud.Web.Controllers { /// /// 调度任务接口 /// [Route("api/[controller]/[action]")] [ApiController] [ServiceFilter(typeof(LoginFilterAttribute))] public class TaskJobController : ControllerBase { //自动注入服务 public LogService _logService { get; set; } public StorageService _storageService { get; set; } public ControlJobService _service { get; set; } #region 获取数据 /// /// 获取未完成任务列表 /// /// [HttpGet] public async Task GetUnDoTaskJob() { var data = (await _service.GetList()).Where(a => a.F_JobState<2).OrderBy(a=>a.F_NeedTime).ToList(); return new AlwaysResult> { state = ResultType.success.ToString(), data = data, count = data.Count }; } /// /// 获取任务信息 /// /// 任务编号 /// [HttpGet] public async Task GetTaskJobForm(string jobCode) { var data = (await _service.GetTaskJobForm(jobCode)); return new AlwaysResult { state = ResultType.success.ToString(), data = data }; } #endregion #region 提交数据 /// /// 获取 /// /// 任务编号 /// [HttpPost] public async Task DoTaskJob([Required,FromBody] string jobCode) { try { await _service.DoTaskJob(jobCode); await _logService.WriteLog("操作成功", "调度任务接口-开始任务", "", Service.DbLogType.Submit); return new AlwaysResult { state = ResultType.success.ToString() }; } catch (Exception ex) { await _logService.WriteLog(ex.Message, "调度任务接口-开始任务", "", Service.DbLogType.Submit, true); return new AlwaysResult { state = ResultType.error.ToString(), message = LogHelper.ExMsgFormat(ex.Message) }; } } #endregion } }