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);
}
}
}