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