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

@@ -110,6 +110,30 @@ public sealed class PlatformBillingDunningNotificationEvent : AuditableTenantEnt
public JsonElement Metadata { get; set; } = JsonDefaults.Object();
}
public sealed class PlatformPaymentApp : AuditableEntity
{
public string AppCode { get; set; } = string.Empty;
public string AppName { get; set; } = string.Empty;
public PlatformPaymentAppStatus Status { get; set; } = PlatformPaymentAppStatus.Disabled;
public string SettlementMode { get; set; } = "PlatformCollect";
public string? Description { get; set; }
public JsonElement Metadata { get; set; } = JsonDefaults.Object();
}
public sealed class PlatformPaymentChannel : AuditableEntity
{
public Guid AppId { get; set; }
public string Provider { get; set; } = "manual";
public string Mode { get; set; } = "PlatformCollect";
public PlatformPaymentChannelStatus Status { get; set; } = PlatformPaymentChannelStatus.Disabled;
public string DisplayName { get; set; } = string.Empty;
public string? SecretRef { get; set; }
public string? CallbackPath { get; set; }
public int Priority { get; set; } = 100;
public JsonElement ConfigPublic { get; set; } = JsonDefaults.Object();
public JsonElement Metadata { get; set; } = JsonDefaults.Object();
}
public enum PlatformBillingCycle { Monthly, Quarterly, Yearly, OneTime }
public enum TenantBillingInvoiceTitleType { None, NormalVat, SpecialVat }
public enum PlatformBillingInvoiceReminderType { DueSoon, Overdue, FinalNotice, Manual }
@@ -119,3 +143,5 @@ public enum PlatformAlertSeverity { Low, Medium, High, Critical }
public enum PlatformAuditAlertStatus { Open, Acknowledged, Resolved, Ignored }
public enum PlatformBillingDunningProvider { Generic, Dingtalk, Feishu, Wecom }
public enum PlatformBillingDunningNotificationStatus { Pending, Processing, Sent, Retrying, Failed, Discarded }
public enum PlatformPaymentAppStatus { Active, Disabled, Testing }
public enum PlatformPaymentChannelStatus { Active, Disabled, Testing }