Files
zszq-trs/Framework/YLErp.Core/DBModels/Consts/ConsMarginTerm.cs
T

75 lines
2.1 KiB
C#

using YLErp.Enums;
namespace YLErp.DBModels
{
/// <summary>
/// 保证金配置期限常量定义(利率债TRS)
/// </summary>
public static class ConsMarginTerm
{
/// <summary>
/// 允许配置期限档(SpanConfig.BondTerm)的标的资产类型标志位。
/// 区间追保结构"按资产类型分类"时,仅这些类型允许设置非空期限档;
/// 本期仅含 利率债(TBonds=1&lt;&lt;4=16),后续按资产分类扩展(转债ETF/科创债ETF 等)时在此补充。
/// </summary>
public static readonly UnderlyingTypeEnum[] TermTierEnabledUnderlyingTypes =
{
UnderlyingTypeEnum.TBonds
};
/// <summary>
/// 5年以下(同时也是兜底默认期限)
/// </summary>
public const string UnderFiveYear = "<5y";
/// <summary>
/// 5年-10年
/// </summary>
public const string FiveToTenYear = "5y-10y";
/// <summary>
/// 10年-30年
/// </summary>
public const string TenToThirtyYear = "10y-30y";
/// <summary>
/// 30年以上
/// </summary>
public const string OverThirtyYear = ">30y";
/// <summary>
/// 所有允许的期限值
/// </summary>
public static readonly List<string> AllowedTerms = new List<string>
{
UnderFiveYear,
FiveToTenYear,
TenToThirtyYear,
OverThirtyYear
};
/// <summary>
/// 验证期限是否有效
/// </summary>
public static bool IsValidTerm(string term)
{
return AllowedTerms.Contains(term ?? string.Empty);
}
/// <summary>
/// 获取期限的显示名称
/// </summary>
public static string GetDisplayName(string term)
{
return term switch
{
UnderFiveYear => "<5y",
FiveToTenYear => "5y-10y",
TenToThirtyYear => "10y-30y",
OverThirtyYear => ">30y",
_ => term ?? "<5y"
};
}
}
}