| 123456789101112131415161718192021222324252627282930313233 |
- namespace Admin.NET.Plugin.AiDOP.Infrastructure;
- /// <summary>
- /// WP0-D4:qms_* 表 tenant_id 解析(优先入参,其次登录租户,最后系统默认)。
- /// </summary>
- public static class QmsTenantScope
- {
- public const long DefaultTenantId = 1300000000001L;
- public static long Resolve(long? inputTenantId, long? userTenantId = null)
- {
- if (inputTenantId is > 0) return inputTenantId.Value;
- if (userTenantId is > 0) return userTenantId.Value;
- return DefaultTenantId;
- }
- /// <summary>从当前请求 UserManager 解析租户(无登录时回落默认)。无可选参数,可安全用于表达式树外局部变量。</summary>
- public static long Current()
- {
- try
- {
- var um = App.GetRequiredService<UserManager>();
- return Resolve(null, um.TenantId);
- }
- catch
- {
- return Resolve(null, null);
- }
- }
- /// <summary>优先使用显式入参租户。</summary>
- public static long Current(long inputTenantId) => Resolve(inputTenantId, null);
- }
|