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}】停止执行异常!"); } } } }