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;
}
}
}