using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using YunDa.Server.ISMSTcp.Interfaces;
using YunDa.Server.ISMSTcp.Models;
namespace YunDa.Server.ISMSTcp.Controllers
{
///
/// 查询API控制器
///
[ApiController]
[Route("api")]
public class QueryController : ControllerBase
{
private readonly ILogger _logger;
private readonly IQueryService _queryService;
///
/// 构造函数
///
/// 日志记录器
/// 查询服务
public QueryController(ILogger logger, IQueryService queryService)
{
_logger = logger;
_queryService = queryService;
}
///
/// 处理查询请求
///
/// 定值参数
/// 故障报告参数
/// 波形配置参数
/// 波形文件参数
/// 装置版本参数
/// 取消令牌
/// 查询结果
[HttpGet]
public async Task ProcessQuery(
[FromQuery] string? dz = null,
[FromQuery] string? faultRpt = null,
[FromQuery] string? waveCfg = null,
[FromQuery] string? waveDat = null,
[FromQuery] string? version = null,
CancellationToken cancellationToken = default)
{
try
{
_logger.LogInformation("收到查询请求 - dz:{Dz}, faultRpt:{FaultRpt}, waveCfg:{WaveCfg}, waveDat:{WaveDat}, version:{Version}",
dz, faultRpt, waveCfg, waveDat, version);
WebResult