using LY.App.Model;
using LY.App.Service;
using Mapster;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace LY.App.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class AlarmController : ControllerBase
    {
        private readonly AlarmService _alarmService;
        public AlarmController(AlarmService alarmService)
        {
            _alarmService = alarmService;
        }
        /// 
        ///列表
        /// 
        /// 
        /// 
        [HttpGet("list")]
        public async Task List([FromQuery] AlarmReq input)
        {
            var result = await _alarmService.GetPage(input);
            return Ok(result);
        }
        /// 
        ///列表快速分页
        /// 
        /// 
        /// 
        [HttpGet("list1")]
        public async Task List1([FromQuery] AlarmReq input)
        {
            var result = await _alarmService.CreateHistoryPage(input);
            return Ok(result);
        }
        /// 
        /// 新增告警
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task AddAlarm(RevData input)
        {
            var result = await _alarmService.AddAlarm(input);
            return Ok(result);
        }
        /// 
        /// 获取指定批次的告警详情
        /// 
        /// 
        /// 
        [HttpGet("detail")]
        public async Task detail(long batchid)
        {
            var result = await _alarmService.GetByBatchId(batchid);
            return Ok(result);
        }
        /// 
        /// 统计报表
        /// 
        /// 
        /// 
        /// 
        [HttpGet("report")]
        public async Task report(DateTime? start, DateTime? end)
        {
            var result=await _alarmService.GetReport(start, end);
        return Ok(result);
        }
    }
}