namespace HStation.Application
{
///
/// XhsScheme
///
[Route("Xhs/Scheme/Std")]
[ApiDescriptionSettings("Xhs", Name = "方案(Std)", Order = 79000)]
public class XhsScheme_StdController : IDynamicApiController
{
///
/// 获取所有
///
[Route("GetAll@V1.0")]
[HttpGet]
public List GetAll()
{
var keyContent = $"Xhs_Scheme_Std_GetAll";
var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent);
var vm_list = Yw.MemoryCacheHelper.GetSet(cacheKey, () =>
{
var all = new Service.XhsScheme().GetAll();
Service.XhsScheme.PublishCache(cacheKey);
var vmList = all?.Select(x => new XhsSchemeStdDto(x)).ToList();
return vmList;
}, Yw.Service.ConfigHelper.CacheLevel1);
return vm_list;
}
///
/// 通过 ProjectID 获取
///
[Route("GetByProjectID@V1.0")]
[HttpGet]
public List GetByProjectID([FromQuery][Required] ProjectIDInput input)
{
var keyContent = $"Xhs_Scheme_Std_GetByProjectID_{input.ProjectID}";
var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent);
var vm_list = Yw.MemoryCacheHelper.GetSet(cacheKey, () =>
{
var all = new Service.XhsScheme().GetByProjectID(input.ProjectID);
Service.XhsScheme.PublishCache(cacheKey);
var vmList = all?.Select(x => new XhsSchemeStdDto(x)).ToList();
return vmList;
}, Yw.Service.ConfigHelper.CacheLevel3);
return vm_list;
}
///
/// 通过 Site 获取
///
[Route("GetBySiteID@V1.0")]
[HttpGet]
public List GetBySiteID([FromQuery][Required] SiteIDInput input)
{
var keyContent = $"Xhs_Scheme_Std_GetBySiteID_{input.SiteID}";
var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent);
var vm_list = Yw.MemoryCacheHelper.GetSet(cacheKey, () =>
{
var all = new Service.XhsScheme().GetBySiteID(input.SiteID);
Service.XhsScheme.PublishCache(cacheKey);
var vmList = all?.Select(x => new XhsSchemeStdDto(x)).ToList();
return vmList;
}, Yw.Service.ConfigHelper.CacheLevel4);
return vm_list;
}
}
}