using Microsoft.AspNetCore.Mvc; using System.Net; using System.Net.Http.Headers; using Microsoft.Extensions.Hosting.Internal; using Microsoft.AspNetCore.Http.Extensions; using IStation.Untity; using Furion.DynamicApiController; using System.ComponentModel.DataAnnotations; using Mapster; using Microsoft.AspNetCore.Http; using Furion.DependencyInjection; using Microsoft.AspNetCore.Authorization; using Furion.DataEncryption; using Furion.FriendlyException; namespace IStation.Application { /// /// Test /// [AllowAnonymous] [Route("DataFile/Test")] [ApiDescriptionSettings("DataFile", Name = "测试", Order = 999)] public class Test_Controller : IDynamicApiController, ITransient { private readonly IHttpContextAccessor _httpContextAccessor; /// /// /// public Test_Controller(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } /// /// 生成 /// [Route("Create@V1.0")] [HttpPost] public bool Create([Required] DataFileTestInput input) { var filePath = FileHelper.GetFilePath2(input.Sub,input.Name); var paras = new DataFile.EnginePumpDayReportParasV1(); paras.EnginePumpName = "测试机泵"; paras.EnginePumpNo = "测试编码"; paras.ReportDay = DateTime.Now.Date; paras.ErangeList = new List>() { new KeyValuePair("20%-50%","2h"), new KeyValuePair("50%-60%","3h"), new KeyValuePair("60%-80%","4h"), new KeyValuePair("80%-100%","5h"), }; paras.RunTime = "14h"; var helper = new DataFile.EnginePumpDayReportV1Helper(); var bol = helper.Create(filePath, paras,out string msg); if (!bol) { throw new Exception(msg); } return bol; } /// /// 获取 /// [Route("Get@V1.0")] [HttpGet] public string Get([FromQuery][Required] DataFileTestInput input) { var url = $"http://{_httpContextAccessor.HttpContext.Request.Host}/{FileHelper.GetRelatedFilePath(input.Sub, input.Name)}"; return url; } } }