X2D1NoRefTaskProcessingController.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 X2D1NoRefTaskServer54.Service;
  11. using System.Threading.Tasks;
  12. namespace X2D1NoRefTaskServer54.Controllers
  13. {
  14. /// <summary>
  15. ///高轨两星一地任务处理接口
  16. /// </summary>
  17. public class X2D1NoRefTaskProcessingController : BaseController
  18. {
  19. /*******************
  20. * !!!不要在Controller中放业务逻辑的全局变量(每次调用Http接口Controller都可能是一个新的对象)
  21. * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
  22. * ********************/
  23. private readonly TaskService _service;
  24. public X2D1NoRefTaskProcessingController(TaskService service)
  25. {
  26. _service = service;
  27. }
  28. /// <summary>
  29. /// 执行任务
  30. /// </summary>
  31. /// <param name="dto">任务信息</param>
  32. /// <returns></returns>
  33. [HttpPost]
  34. public async Task<AjaxResult> Run(X2D1NoRefTaskHandleDto dto)
  35. {
  36. try
  37. {
  38. await LogHelper.Info($"接收到任务编号:{dto.ID}");
  39. _service.StartAsync(dto);
  40. return Success();
  41. }
  42. catch (Exception ex)
  43. {
  44. await LogHelper.Error($"【任务{dto.ID}】任务执行出错!", ex);
  45. return Error($"【任务{dto.ID}】任务执行出错!");
  46. }
  47. }
  48. /// <summary>
  49. /// 任务停止
  50. /// </summary>
  51. /// <param name="dto"></param>
  52. /// <returns></returns>
  53. [HttpPost]
  54. public async Task<AjaxResult> Stop(TaskStopHandleDto dto)
  55. {
  56. try
  57. {
  58. await LogHelper.Warning($"用户停止了任务,ID={dto.ID}");
  59. _service.Stop();
  60. return Success();
  61. }
  62. catch (Exception ex)
  63. {
  64. await LogHelper.Error($"【任务{dto.ID}】停止执行异常!", ex);
  65. return Error($"【任务{dto.ID}】停止执行异常!");
  66. }
  67. }
  68. }
  69. }