HistoryTaskProcessingController.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using DevExpress.Utils.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Web.Http;
  8. using XdCxRhDW.Dto;
  9. using XdCxRhDW.WebApi;
  10. using XdCxRhDW.X2D1TaskServer.Service;
  11. namespace XdCxRhDW.X2D1TaskServer.Controllers
  12. {
  13. /// <summary>
  14. ///离线任务处理接口
  15. /// </summary>
  16. public class HistoryTaskProcessingController : BaseController
  17. {
  18. /*******************
  19. * !!!不要在Controller中放业务逻辑的全局变量
  20. * !!!不要在Controller写太复杂的业务逻辑
  21. * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
  22. * ********************/
  23. private readonly HistoryTaskService _service;
  24. public HistoryTaskProcessingController(HistoryTaskService service)
  25. {
  26. _service = service;
  27. }
  28. /// <summary>
  29. /// 开始执行两星一地离线任务
  30. /// </summary>
  31. /// <param name="dto">离线任务信息</param>
  32. /// <returns></returns>
  33. [HttpPost]
  34. public AjaxResult Run(X2D1HistoryTaskHandleDto dto)
  35. {
  36. try
  37. {
  38. if (!Directory.Exists(dto.CapDir))
  39. {
  40. LogHelper.Error($"文件路径[{dto.CapDir}]不存在");
  41. return Error($"文件路径[{dto.CapDir}]不存在");
  42. }
  43. _service.StartAsync(dto);
  44. return Success();
  45. }
  46. catch (Exception ex)
  47. {
  48. Serilog.Log.Error(ex, $"【任务{dto.ID}】开始执行异常!");
  49. return Error($"【任务{dto.ID}】开始执行异常!");
  50. }
  51. }
  52. /// <summary>
  53. /// 停止执行两星一地离线任务
  54. /// </summary>
  55. /// <param name="dto"></param>
  56. /// <returns></returns>
  57. [HttpPost]
  58. public AjaxResult Stop(TaskStopHandleDto dto)
  59. {
  60. try
  61. {
  62. LogHelper.Warning($"用户停止了任务,ID={dto.ID}");
  63. _service.Stop();
  64. return Success();
  65. }
  66. catch (Exception ex)
  67. {
  68. Serilog.Log.Error(ex, $"【任务{dto.ID}】停止执行异常!");
  69. return Error($"【任务{dto.ID}】停止执行异常!");
  70. }
  71. }
  72. }
  73. }