namespace Admin.NET.Plugin.AiDOP.Dto.DataPlatform; public sealed class MdpEntityRow { public long Id { get; set; } public long TenantId { get; set; } public long SourceId { get; set; } public string? SourceCode { get; set; } public string? SourceName { get; set; } public string? SourceType { get; set; } public string EntityCode { get; set; } = string.Empty; public string EntityName { get; set; } = string.Empty; public string EntityType { get; set; } = "TABLE"; public string? SourceTableName { get; set; } public string? TransformSourceTable { get; set; } public string? SourceApiPath { get; set; } public string? TargetTableName { get; set; } public string SyncMode { get; set; } = "INCR"; public string? IncrColumn { get; set; } public string? TieBreakerColumn { get; set; } public string? BizKeyExpr { get; set; } public int BatchSize { get; set; } = 5000; public string? JobId { get; set; } public int Status { get; set; } = 1; public string? LastCursor { get; set; } public DateTime? LastSyncTo { get; set; } public string? Remark { get; set; } public int FieldMappingCount { get; set; } public string ConfigState { get; set; } = "COMPLETE"; public List ConfigErrors { get; set; } = new(); } public sealed class MdpEntityUpsertInput { /// 仅新增时使用;复制该 tenant=0 内置模板的字段映射。 public long? TemplateEntityId { get; set; } public string EntityCode { get; set; } = string.Empty; public string EntityName { get; set; } = string.Empty; public string EntityType { get; set; } = "TABLE"; public long SourceId { get; set; } public string? SourceCode { get; set; } public string? SourceTableName { get; set; } public string? TransformSourceTable { get; set; } public string? SourceApiPath { get; set; } public string? TargetTableName { get; set; } public string SyncMode { get; set; } = "INCR"; public string? IncrColumn { get; set; } public string? TieBreakerColumn { get; set; } public int? BatchSize { get; set; } public string? JobId { get; set; } public int Status { get; set; } = 1; public string? Remark { get; set; } /// 未传时保留原值。仅 source_type=API_INBOUND 允许为 1。 public int? InboundEnabled { get; set; } public string? BizKeyExpr { get; set; } } public sealed class MdpFieldMappingRow { public long Id { get; set; } public long EntityId { get; set; } public string SourceField { get; set; } = string.Empty; public string TargetField { get; set; } = string.Empty; public string FieldType { get; set; } = "DIRECT"; public string? TransformScript { get; set; } public string? ConstValue { get; set; } public string? LookupTable { get; set; } public bool IsRequired { get; set; } public string? DefaultValue { get; set; } public int SortOrder { get; set; } } public sealed class MdpFieldMappingUpsertInput { public string SourceField { get; set; } = string.Empty; public string TargetField { get; set; } = string.Empty; public string FieldType { get; set; } = "DIRECT"; public string? TransformScript { get; set; } public string? ConstValue { get; set; } public string? LookupTable { get; set; } public bool IsRequired { get; set; } public string? DefaultValue { get; set; } public int SortOrder { get; set; } }