using Microsoft.AspNetCore.Mvc; using System; using System.Threading.Tasks; using HT.Cloud.Service.ChartsManage; using HT.Cloud.Service.ReportManage; using Newtonsoft.Json; using System.Diagnostics.Metrics; using System.Text; using static System.Net.Mime.MediaTypeNames; using Microsoft.AspNetCore.Mvc.Rendering; namespace HT.Cloud.Web.Areas.ReportManage.Controllers { [Area("ReportManage")] public class HistoryReportController : BaseController { public HistoryReportService _historyReportService { get; set; } [HttpPost] public async Task GetReport(Reportparam reportparam) { //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); var StartTime = Gettime( reportparam.StartTime.ToString()); var EndTime = Gettime( reportparam.EndTime.ToString()); var Interval = int.Parse(reportparam.Interval); var data = await _historyReportService.GetReportFileName(StartTime, EndTime, Interval); return Content(data); } [HttpPost] public async Task GetReportNew(Reportparam reportparam) { var t1 = DateTime.Now; //var ob = JsonConvert.SerializeObject(reportparam); var t2 = DateTime.Now; Console.WriteLine($"第1次序列化,花费时间:{(t2 - t1).TotalMilliseconds}"); //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); var StartTime = Gettime(reportparam.StartTime.ToString()); var EndTime = Gettime(reportparam.EndTime.ToString()); var Interval = int.Parse(reportparam.Interval); var t5 = DateTime.Now; var data = await _historyReportService.GetReportNew(StartTime, EndTime, Interval); var t6 = DateTime.Now; Console.WriteLine($"调用service,花费时间:{(t6 - t5).TotalMilliseconds}"); var t3 = DateTime.Now; var con = JsonConvert.SerializeObject(data); var t4 = DateTime.Now; Console.WriteLine($"第2次序列化,花费时间:{(t4 - t3).TotalMilliseconds}"); return Content(con, "text/html; charset=utf-8"); //return Content(con); } [HttpGet] public async Task GetReportFirstHead() { //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); var data = await _historyReportService.GetReportFirstHead(); return Content(data); } [HttpGet] public async Task GetReportSecondHead() { //var StartTime = reportparam.StartTime.ToString("yyyy-MM-dd HH:mm:ss"); //var EndTime = reportparam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); var data = await _historyReportService.GetReportSecondHead(); return Content(data); } public string Gettime(string longtime) { long jsTimeStamp =long.Parse( longtime); System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 DateTime dt = startTime.AddMilliseconds(jsTimeStamp); return (dt.ToString("yyyy/MM/dd HH:mm:ss")); } public class Reportparam { public string StartTime { get; set; } public string EndTime { get; set; } public string Interval { get; set; } } } }