feat(platform): add CRM SMS and payment settings

This commit is contained in:
2026-07-29 15:41:27 +08:00
parent 6db200a2fc
commit ead7bdc2e2
25 changed files with 23250 additions and 140 deletions

View File

@@ -29,6 +29,12 @@ public static class BackendPermissions
public const string PlatformBillingNotification = "platform:billing:notification";
public const string PlatformSaasCatalogManage = "platform:saas-catalog:manage";
public const string PlatformSaasBillingManage = "platform:saas-billing:manage";
public const string PlatformCrmRead = "platform:crm:read";
public const string PlatformCrmWrite = "platform:crm:write";
public const string PlatformSmsRead = "platform:sms:read";
public const string PlatformSmsWrite = "platform:sms:write";
public const string PlatformPaymentRead = "platform:payment:read";
public const string PlatformPaymentWrite = "platform:payment:write";
public static readonly IReadOnlySet<string> Tenant = new HashSet<string>(StringComparer.Ordinal)
{
@@ -61,7 +67,13 @@ public static class BackendPermissions
PlatformAuditView,
PlatformBillingNotification,
PlatformSaasCatalogManage,
PlatformSaasBillingManage
PlatformSaasBillingManage,
PlatformCrmRead,
PlatformCrmWrite,
PlatformSmsRead,
PlatformSmsWrite,
PlatformPaymentRead,
PlatformPaymentWrite
};
public static void EnsureTenant(string permissionCode)

View File

@@ -80,6 +80,9 @@ public static class PermissionModuleCatalog
["platform_content"] = null,
["platform_audit"] = null,
["platform_billing"] = null,
["platform_crm"] = null,
["platform_sms"] = null,
["platform_payment"] = null,
["commerce"] = SaasFeatureCatalog.StudentStore
};
@@ -108,6 +111,9 @@ public static class PermissionModuleCatalog
BackendPermissions.PlatformAuditView => "platform_audit",
BackendPermissions.PlatformBillingNotification => "platform_billing",
BackendPermissions.PlatformSaasCatalogManage or BackendPermissions.PlatformSaasBillingManage => "platform_billing",
BackendPermissions.PlatformCrmRead or BackendPermissions.PlatformCrmWrite => "platform_crm",
BackendPermissions.PlatformSmsRead or BackendPermissions.PlatformSmsWrite => "platform_sms",
BackendPermissions.PlatformPaymentRead or BackendPermissions.PlatformPaymentWrite => "platform_payment",
_ when permissionCode.StartsWith("commerce:", StringComparison.Ordinal) => "commerce",
_ => throw new ArgumentOutOfRangeException(nameof(permissionCode), permissionCode, "Permission module mapping is missing.")
};