CgController.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using Ips.Library.Basic;
  2. using Ips.Library.DxpLib;
  3. using Ips.Library.Entity;
  4. using Ips.Library.Signals;
  5. using Ips.Library.WebApi;
  6. using Microsoft.AspNetCore.Mvc;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.IO;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. namespace Ips.Service.CpuServer
  14. {
  15. /// <summary>
  16. /// 参估接口
  17. /// </summary>
  18. public class CgController : BaseController
  19. {
  20. [Autowired]
  21. private CgService CgService { get; set; }//Service单例注入方式1
  22. //private CgService CgServiceAutowired { get; set; }//Service单例注入方式2
  23. /// <summary>
  24. /// 开始参估
  25. /// </summary>
  26. /// <param name="dto">参估参数</param>
  27. /// <returns></returns>
  28. [HttpPost]
  29. public async Task<AjaxResult<CorResult[]>> Start(CorParams dto)
  30. {
  31. try
  32. {
  33. if (!AppConst.UseCg)
  34. {
  35. return Error<CorResult[]>($"CPU服务[{AppConst.SvrNo}]没有启用参数估计功能!");
  36. }
  37. var res = await CgService.StartAsync(dto);
  38. IpsLogger.Info($"参估计算完成,相关峰个数={res.Count(p => p.Snr >= dto.Snr)}");
  39. return Success(res);
  40. }
  41. catch (Exception ex)
  42. {
  43. IpsLogger.Error($"CPU服务[{AppConst.SvrNo}]参数估计计算异常,{ex.Message}", ex);
  44. return Error<CorResult[]>($"CPU服务[{AppConst.SvrNo}]参数估计计算异常");
  45. }
  46. }
  47. /// <summary>
  48. /// 停止参估
  49. /// </summary>
  50. /// <returns></returns>
  51. [HttpPost]
  52. public async Task<AjaxResult> Stop()
  53. {
  54. var res = await Task.Run(() =>
  55. {
  56. IpsLogger.Info($"接收{RemoteIp}下发的停止参估任务");
  57. try
  58. {
  59. IpsLogger.Info("参估已停止");
  60. return Success();
  61. }
  62. catch (Exception ex)
  63. {
  64. IpsLogger.Error($"停止参估异常", ex);
  65. return Error("停止参估异常");
  66. }
  67. });
  68. return res;
  69. }
  70. }
  71. }