using Ips.Library.Basic;
using Ips.Library.DxpLib;
using Ips.Library.Entity;
using Ips.Library.Signals;
using Ips.Library.WebApi;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ips.Service.GpuServer
{
///
/// 参估接口
///
public class CgController : BaseController
{
[Autowired]
private CgService CgService { get; set; }//Service单例注入方式1
//private CgService CgServiceAutowired { get; set; }//Service单例注入方式2
///
/// 开始参估
///
/// 参估参数
///
[HttpPost]
public async Task> Start(CorParams dto)
{
try
{
if (!AppConst.UseCg)
{
return Error($"GPU服务[{AppConst.SvrNo}]没有启用参数估计功能!");
}
var res = await CgService.StartAsync(dto);
IpsLogger.Info($"参估计算完成,相关峰个数={res.Count(p => p.Snr >= dto.Snr)}");
return Success(res);
}
catch (Exception ex)
{
IpsLogger.Error($"GPU服务[{AppConst.SvrNo}]参数估计计算异常,{ex.Message}", ex);
return Error($"GPU服务[{AppConst.SvrNo}]参数估计计算异常");
}
}
///
/// 停止参估
///
///
[HttpPost]
public async Task Stop()
{
var res = await Task.Run(() =>
{
IpsLogger.Info($"接收{RemoteIp}下发的停止参估任务");
try
{
IpsLogger.Info("参估已停止");
return Success();
}
catch (Exception ex)
{
IpsLogger.Error($"停止参估异常", ex);
return Error("停止参估异常");
}
});
return res;
}
}
}