using YLErp.Enums; namespace YLErp.DBModels { /// /// 保证金配置期限常量定义(利率债TRS) /// public static class ConsMarginTerm { /// /// 允许配置期限档(SpanConfig.BondTerm)的标的资产类型标志位。 /// 区间追保结构"按资产类型分类"时,仅这些类型允许设置非空期限档; /// 仅含 利率债(TBonds=1<<4=16)。 /// ETF 不分期限档(2026-08-27 业务裁定:ETF 没有期限概念, /// 此前的 可转债 ETF/科创债 ETF 分档白名单 TermTierEnabledEtfKinds 已移除,如需恢复查 git 历史)。 /// public static readonly UnderlyingTypeEnum[] TermTierEnabledUnderlyingTypes = { UnderlyingTypeEnum.TBonds }; /// /// 5年以下(同时也是兜底默认期限) /// public const string UnderFiveYear = "<5y"; /// /// 5年-10年 /// public const string FiveToTenYear = "5y-10y"; /// /// 10年-30年 /// public const string TenToThirtyYear = "10y-30y"; /// /// 30年以上 /// public const string OverThirtyYear = ">30y"; /// /// 所有允许的期限值 /// public static readonly List AllowedTerms = new List { UnderFiveYear, FiveToTenYear, TenToThirtyYear, OverThirtyYear }; /// /// 验证期限是否有效 /// public static bool IsValidTerm(string term) { return AllowedTerms.Contains(term ?? string.Empty); } /// /// 获取期限的显示名称(与设置页 bondTermLabel 同口径的开闭区间文案:≤5y / (5y-10y] / (10y-30y] / >30y;空=全部兜底档) /// public static string GetDisplayName(string term) { return term switch { UnderFiveYear => "≤5y", FiveToTenYear => "(5y-10y]", TenToThirtyYear => "(10y-30y]", OverThirtyYear => ">30y", _ => string.IsNullOrEmpty(term) ? "全部" : term }; } } }