namespace IStation.Application
{
///
/// LogicPolicy
///
[Route("SZJT/Logic/Policy/Std")]
[ApiDescriptionSettings("SZJT", Name = "策略(Std)", Order = 99900)]
public class LogicPolicy_StdController : IDynamicApiController
{
///
/// 获取所有
///
[Route("GetAll@V1.0")]
[HttpGet]
public List GetAll()
{
var keyContent = $"SZJT_Logic_Policy_Std_GetAll";
var cacheKey = MemoryCacheKeyHelper.GetKey(MemoryCacheKey.WebApiLevel, MemoryCacheKey.Module, keyContent);
var vm_list = MemoryCacheHelper.GetSet(cacheKey, () =>
{
var all = new Yw.Service.LogicPolicy().GetAll();
Yw.Service.LogicPolicy.PublishCache(cacheKey);
var vmList = all?.Select(x => new LogicPolicyStdDto(x)).ToList();
return vmList;
}, Yw.Service.ConfigHelper.CacheLevel1);
return vm_list;
}
///
/// 获取默认
///
[Route("GetDefault@V1.0")]
[HttpGet]
public LogicPolicyStdDto GetDefault()
{
var all = new Yw.Service.LogicPolicy().GetAll();
var model = all?.FirstOrDefault(x => x.Flags.Contains(Flags.默认));
if (model == null)
{
model = all?.FirstOrDefault();
}
return model == null ? null : new LogicPolicyStdDto(model);
}
}
}