45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
using langguanApi.Model;
 | 
						|
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)
 | 
						|
        {
 | 
						|
            _alertService = alertService;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// export data 默认最近7天数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="start"></param>
 | 
						|
        /// <param name="end"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpGet("export")]
 | 
						|
        public async Task<IActionResult> 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");
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// add alert
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="input"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost("TestAdd")]
 | 
						|
        public async Task<IActionResult> TestAdd(AddAlertDto input)
 | 
						|
        {
 | 
						|
            var result = await _alertService.Add(input);
 | 
						|
            return Ok(result);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |