using Microsoft.AspNetCore.Mvc; using Rhea.Common; using Tiger.IBusiness; using System.Threading.Tasks; using Tiger.Model; namespace Tiger.Api.Controllers.TSK { public partial class TskController : ControllerBase { /// /// 根据Job实体名称和Job名称添加任务 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task AddJob(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().GetInterfaceService()?.AddJob(action.NewDataEntity(), action.Data)?? new ApiAction($"任务未启用", false)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 根据Job实体名称和Job名称添加任务 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task AddJob(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().GetInterfaceService()?.AddJob(action.NewDataEntity(), action.Data) ?? new ApiAction($"任务未启用", false)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } [HttpPost] [Route("api/[controller]/[action]")] public async Task UpdateJob(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().GetInterfaceService()?.UpdateJob( action.Data)??new ApiAction($"任务未启用", false)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 根据Job名称启动任务 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task StartJob(ApiAction action) { ApiAction response = new(); try { DI.Resolve().GetInterfaceService()?.StartJob(action.Data?.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 获取单个作业 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task GetJob(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().GetInterfaceService()?.GetJob(action.Data?.ToString())); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 获取所有作业 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task GetJobs(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().GetInterfaceService()?.GetJobs()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 暂停作业 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task PauseJob(ApiAction action) { ApiAction response = new(); try { DI.Resolve().GetInterfaceService()?.PauseJob(action.Data?.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 删除作业 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task RemoveJob(ApiAction action) { ApiAction response = new(); try { DI.Resolve().GetInterfaceService()?.RemoveJob(action.Data?.ToString()); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } /// /// 保存作业 /// /// /// [HttpPost] [Route("api/[controller]/[action]")] public async Task SaveTskJob(ApiAction action) { ApiAction response = new(); try { response = response.GetResponse(DI.Resolve().SaveTskJob(action.Data)); } catch (System.Exception ex) { response = response.GetResponse().CatchExceptionWithLog(ex); } return Ok(response); } } }