12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using DevExpress.CodeParser;
- 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 Microsoft.Extensions.Logging;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ips.Service.CapServer
- {
- /// <summary>
- /// 采集接口
- /// </summary>
- public class AdController : BaseController
- {
- private readonly ILogger<AdController> _logger;
- public AdController(ILogger<AdController> logger)
- {
- _logger = logger;
- }
- [Autowired]
- private AdcService AdcService { get; set; }//Service单例注入
- /*******************
- * !!!不要在Controller中放业务逻辑的全局变量
- * !!!不要在Controller写太复杂的业务逻辑
- * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
- * ********************/
- /// <summary>
- /// 开始采集
- /// </summary>
- /// <param name="dto">采集参数</param>
- /// <returns></returns>
- [HttpPost]
- public async Task<AjaxResult<AdcResult>> StartAD(AdcOptions dto)
- {
- try
- {
- #region 判断存储路径是否有效
- //未指定存储目录,使用配置中配置的目录
- if (string.IsNullOrWhiteSpace(AppConst.DataDir))
- {
- return Error<AdcResult>("采集服务配置文件未指定数据存储目录");
- }
- dto.StorePath = AppConst.DataDir;
- Directory.CreateDirectory(dto.StorePath);
- #endregion
- var res = await AdcService.StartTestAsync(dto);
- return Success(res);
- }
- catch (Exception ex)
- {
- IpsLogger.Error("开始采集异常", ex);
- return Error<AdcResult>("开始采集异常");
- }
- }
- /// <summary>
- /// 停止采集
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- public async Task<AjaxResult> StopAD()
- {
- var res = await Task.Run(() =>
- {
- // 先停止采集
- IpsLogger.Info($"接收{RemoteIp}下发的停止采集任务");
- try
- {
- AdcService.Stop();
- IpsLogger.Info("采集已停止");
- return Success();
- }
- catch (Exception ex)
- {
- IpsLogger.Error($"停止采集异常", ex);
- return Error("停止采集异常");
- }
- });
- return res;
- }
- }
- }
|