using DevExpress.Utils.Extensions;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web.Http;
using XdCxRhDW.Dto;
using XdCxRhDW.WebApi;
using X2D1NoRefTaskServer.Service;
namespace X2D1NoRefTaskServer.Controllers
{
///
///离线任务处理接口
///
public class HistoryTaskProcessingController : BaseController
{
/*******************
* !!!不要在Controller中放业务逻辑的全局变量
* !!!不要在Controller写太复杂的业务逻辑
* Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
* ********************/
private readonly HistoryTaskService _service;
public HistoryTaskProcessingController(HistoryTaskService service)
{
_service = service;
}
///
/// 开始执行两星一地离线任务
///
/// 离线任务信息
///
[HttpPost]
public AjaxResult Run(X2D1HistoryTaskHandleDto dto)
{
try
{
_service.StartAsync(dto);
return Success();
}
catch (Exception ex)
{
Serilog.Log.Error(ex, $"【任务{dto.ID}】开始执行异常!");
return Error($"【任务{dto.ID}】开始执行异常!");
}
}
///
/// 停止执行两星一地离线任务
///
///
///
[HttpPost]
public AjaxResult Stop(TaskStopHandleDto dto)
{
try
{
LogHelper.Warning($"用户停止了任务,ID={dto.ID}");
_service.Stop();
return Success();
}
catch (Exception ex)
{
Serilog.Log.Error(ex, $"【任务{dto.ID}】停止执行异常!");
return Error($"【任务{dto.ID}】停止执行异常!");
}
}
}
}