namespace Admin.NET.Plugin.AiDOP.Entity.DataPlatform; [SugarTable("mdp_sync_task", "MDP同步任务业务配置")] public class MdpSyncTask { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "tenant_id")] public long TenantId { get; set; } [SugarColumn(ColumnName = "task_code", Length = 100)] public string TaskCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "task_name", Length = 200)] public string TaskName { get; set; } = string.Empty; [SugarColumn(ColumnName = "task_type", Length = 40)] public string TaskType { get; set; } = "SERVICE_SYNC"; [SugarColumn(ColumnName = "business_domain_code", Length = 100, IsNullable = true)] public string? BusinessDomainCode { get; set; } [SugarColumn(ColumnName = "business_domain_name", Length = 200, IsNullable = true)] public string? BusinessDomainName { get; set; } [SugarColumn(ColumnName = "consumer_modules", Length = 500, IsNullable = true)] public string? ConsumerModules { get; set; } [SugarColumn(ColumnName = "source_system_code", Length = 100, IsNullable = true)] public string? SourceSystemCode { get; set; } [SugarColumn(ColumnName = "service_key", Length = 100, IsNullable = true)] public string? ServiceKey { get; set; } [SugarColumn(ColumnName = "job_code", Length = 100, IsNullable = true)] public string? JobCode { get; set; } [SugarColumn(ColumnName = "schedule_job_id", Length = 100, IsNullable = true)] public string? ScheduleJobId { get; set; } [SugarColumn(ColumnName = "status")] public int Status { get; set; } = 1; [SugarColumn(ColumnName = "owner_role", Length = 100, IsNullable = true)] public string? OwnerRole { get; set; } [SugarColumn(ColumnName = "config_version")] public int ConfigVersion { get; set; } = 1; [SugarColumn(ColumnName = "description", Length = 1000, IsNullable = true)] public string? Description { get; set; } [SugarColumn(ColumnName = "create_time")] public DateTime CreateTime { get; set; } [SugarColumn(ColumnName = "update_time")] public DateTime UpdateTime { get; set; } } [SugarTable("mdp_sync_task_step", "MDP同步任务步骤配置")] public class MdpSyncTaskStep { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "tenant_id")] public long TenantId { get; set; } [SugarColumn(ColumnName = "task_code", Length = 100)] public string TaskCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "step_code", Length = 100)] public string StepCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "step_name", Length = 200)] public string StepName { get; set; } = string.Empty; [SugarColumn(ColumnName = "stage_type", Length = 40)] public string StageType { get; set; } = string.Empty; [SugarColumn(ColumnName = "service_method_key", Length = 100, IsNullable = true)] public string? ServiceMethodKey { get; set; } [SugarColumn(ColumnName = "enabled")] public int Enabled { get; set; } = 1; [SugarColumn(ColumnName = "sort_order")] public int SortOrder { get; set; } [SugarColumn(ColumnName = "description", Length = 1000, IsNullable = true)] public string? Description { get; set; } [SugarColumn(ColumnName = "create_time")] public DateTime CreateTime { get; set; } [SugarColumn(ColumnName = "update_time")] public DateTime UpdateTime { get; set; } } [SugarTable("mdp_sync_task_schedule", "MDP同步任务调度业务配置")] public class MdpSyncTaskSchedule { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } [SugarColumn(ColumnName = "tenant_id")] public long TenantId { get; set; } [SugarColumn(ColumnName = "task_code", Length = 100)] public string TaskCode { get; set; } = string.Empty; [SugarColumn(ColumnName = "schedule_job_id", Length = 100, IsNullable = true)] public string? ScheduleJobId { get; set; } [SugarColumn(ColumnName = "schedule_mode", Length = 40)] public string ScheduleMode { get; set; } = "CRON"; [SugarColumn(ColumnName = "cron_expr", Length = 200, IsNullable = true)] public string? CronExpr { get; set; } [SugarColumn(ColumnName = "cron_desc", Length = 500, IsNullable = true)] public string? CronDesc { get; set; } [SugarColumn(ColumnName = "timezone", Length = 100)] public string Timezone { get; set; } = "Asia/Shanghai"; [SugarColumn(ColumnName = "auto_enabled")] public int AutoEnabled { get; set; } = 1; [SugarColumn(ColumnName = "manual_enabled")] public int ManualEnabled { get; set; } = 1; [SugarColumn(ColumnName = "retry_enabled")] public int RetryEnabled { get; set; } = 1; [SugarColumn(ColumnName = "max_retry_count")] public int MaxRetryCount { get; set; } = 3; [SugarColumn(ColumnName = "retry_interval_seconds")] public int RetryIntervalSeconds { get; set; } = 300; [SugarColumn(ColumnName = "timeout_seconds")] public int TimeoutSeconds { get; set; } = 3600; [SugarColumn(ColumnName = "misfire_policy", Length = 40, IsNullable = true)] public string? MisfirePolicy { get; set; } [SugarColumn(ColumnName = "sync_window_type", Length = 40)] public string SyncWindowType { get; set; } = "FULL"; [SugarColumn(ColumnName = "sync_window_value", Length = 200, IsNullable = true)] public string? SyncWindowValue { get; set; } [SugarColumn(ColumnName = "last_schedule_time", IsNullable = true)] public DateTime? LastScheduleTime { get; set; } [SugarColumn(ColumnName = "next_schedule_time", IsNullable = true)] public DateTime? NextScheduleTime { get; set; } [SugarColumn(ColumnName = "admin_job_config_json", ColumnDataType = "text", IsNullable = true)] public string? AdminJobConfigJson { get; set; } [SugarColumn(ColumnName = "description", Length = 1000, IsNullable = true)] public string? Description { get; set; } [SugarColumn(ColumnName = "create_time")] public DateTime CreateTime { get; set; } [SugarColumn(ColumnName = "update_time")] public DateTime UpdateTime { get; set; } }