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