using langguanApi.Common.Proxy;
using langguanApi.Model;
using langguanApi.Model.Dto;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class AlertController : ControllerBase
    {
        private readonly AlertService _alertService;
        public AlertController(AlertService alertService, HttpProxy httpProxy, IConfiguration configuration)
        {
            _alertService = alertService;
        }
        /// 
        /// export data 默认最近7天数据
        /// 
        /// 
        /// 
        /// 
        [HttpGet("export")]
        public async Task export(DateTime? start, DateTime? end)
        {
            start = start.HasValue ? start.Value.Date : DateTime.Now.AddDays(-7);
            end = end.HasValue ? end.Value.Date.AddDays(1) : DateTime.Now.Date.AddDays(1);
       
            var alerts = await _alertService.ExportData(start, end);
            return File(alerts, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                $"{start.Value.ToString("yyyy-MM-dd")}-{end.Value.ToString("yyyy-MM-dd")}_设备报警.xlsx");
        }
        /// 
        /// add alert
        /// 
        /// 
        /// 
        [HttpPost("TestAdd")]
        public async Task TestAdd(AddAlertDto input)
        {
            var result = await _alertService.Add(input);
            return Ok(result);
        }
    }
}