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 XdCxRhDW.X2D1TaskServer54.Service; namespace XdCxRhDW.X2D1TaskServer54.Controllers { /// ///离线任务处理接口 /// public class HistoryTaskProcessingController : BaseController { /******************* * !!!不要在Controller中放业务逻辑的全局变量(每次调用Http接口Controller都可能是一个新的对象) * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库 * ********************/ private readonly HistoryTaskService _service; public HistoryTaskProcessingController(HistoryTaskService service) { _service = service; } /// /// 执行离线任务 /// /// 离线任务信息 /// [HttpPost] public AjaxResult Run(HistoryTaskProcessingDto dto) { try { LogHelper.Info($"接收到历史任务编号:{dto.ID}"); _service.StartAsync(); return Success(); } catch (Exception ex) { Serilog.Log.Error(ex, "历史任务处理出错!"); return Error("历史任务处理出错"); } } /// /// 历史任务停止 /// /// /// [HttpPost] public AjaxResult Stop(HistoryTaskStopDto dto) { try { LogHelper.Info($"接收停止历史任务编号:{dto.ID}"); _service.Stop(); return Success(); } catch (Exception ex) { Serilog.Log.Error(ex, "停止历史任务处理出错!"); return Error("停止历史任务处理出错"); } } } }