using SqlSugar; namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.InventoryPosting.Entity; /// /// DOP-owned L3 影子库存账实体公共基类(路线 B)。 /// 显式 snake_case 审计列;不继承 Admin.NET EntityBase(其 CreateUserId=long 与本账 create_user 语义不符), /// 不挂 ITenantIdFilter —— L3 为 Shadow-only、无现有业务消费者,Repository 显式带 tenant_id + domain_code 过滤。 /// 主键 Id 由应用层用雪花(YitIdHelper)赋值,非数据库自增。 /// public abstract class AdoInvEntityBase { [SugarColumn(ColumnName = "id", ColumnDescription = "主键Id(雪花,应用赋值)", IsPrimaryKey = true, IsIdentity = false)] public long Id { get; set; } [SugarColumn(ColumnName = "tenant_id", ColumnDescription = "租户Id")] public long TenantId { get; set; } /// 域编码(工厂 / 旧 Domain 的 DOP 侧等价)。禁止硬编码 8010;由 DomainResolver 解析后写入。 [SugarColumn(ColumnName = "domain_code", ColumnDescription = "域编码(工厂/Domain)", Length = 20, IsNullable = false, DefaultValue = "")] public string DomainCode { get; set; } [SugarColumn(ColumnName = "create_time", ColumnDescription = "创建时间")] public DateTime CreateTime { get; set; } [SugarColumn(ColumnName = "create_user", ColumnDescription = "创建人", Length = 50, IsNullable = true)] public string CreateUser { get; set; } [SugarColumn(ColumnName = "update_time", ColumnDescription = "更新时间", IsNullable = true)] public DateTime? UpdateTime { get; set; } [SugarColumn(ColumnName = "update_user", ColumnDescription = "更新人", Length = 50, IsNullable = true)] public string UpdateUser { get; set; } }