X2D1NoRefTaskProcessingController.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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 X2D1NoRefTaskServer.Service;
  11. using System.Threading;
  12. namespace X2D1NoRefTaskServer.Controllers
  13. {
  14. /// <summary>
  15. ///两星一地无参任务处理接口
  16. /// </summary>
  17. public class X2D1NoRefTaskProcessingController : BaseController
  18. {
  19. /*******************
  20. * !!!不要在Controller中放业务逻辑的全局变量
  21. * !!!不要在Controller写太复杂的业务逻辑
  22. * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
  23. * ********************/
  24. private readonly TaskService _service;
  25. public X2D1NoRefTaskProcessingController(TaskService service)
  26. {
  27. _service = service;
  28. }
  29. /// <summary>
  30. /// 开始执行两星一地无参任务
  31. /// </summary>
  32. /// <param name="dto">离线任务信息</param>
  33. /// <returns></returns>
  34. [HttpPost]
  35. public AjaxResult Run(X2D1NoRefTaskHandleDto dto)
  36. {
  37. try
  38. {
  39. if (dto.TaskType == EnumTaskTypeDto.History)
  40. _service.StartHistoryAsync(dto);
  41. else
  42. _service.StarRealAsync(dto);
  43. return Success();
  44. }
  45. catch (Exception ex)
  46. {
  47. Serilog.Log.Error(ex, $"【任务{dto.ID}】开始执行异常!");
  48. return Error($"【任务{dto.ID}】开始执行异常!");
  49. }
  50. }
  51. /// <summary>
  52. /// 停止执行两星一地无参任务
  53. /// </summary>
  54. /// <param name="dto"></param>
  55. /// <returns></returns>
  56. [HttpPost]
  57. public AjaxResult Stop(TaskStopHandleDto dto)
  58. {
  59. try
  60. {
  61. LogHelper.Warning($"用户停止了任务,ID={dto.ID}");
  62. _service.Stop(dto.ID);
  63. return Success();
  64. }
  65. catch (Exception ex)
  66. {
  67. Serilog.Log.Error(ex, $"【任务{dto.ID}】停止执行异常!");
  68. return Error($"【任务{dto.ID}】停止执行异常!");
  69. }
  70. }
  71. }
  72. }