using Furion; using SqlSugar; using System; using System.ComponentModel.DataAnnotations; using Yitter.IdGenerator; namespace Myshipping.Core.Entity; /// /// 自定义实体基类 /// [Tenant(CommonConst.MasterDb)] public abstract class DEntityBase : PrimaryKeyEntity { /// /// 创建时间 /// [SugarColumn(ColumnDescription = "创建时间")] public virtual DateTime? CreatedTime { get; set; } /// /// 更新时间 /// [SugarColumn(ColumnDescription = "更新时间")] public virtual DateTime? UpdatedTime { get; set; } /// /// 创建者Id /// [SugarColumn(ColumnDescription = "创建者Id")] public virtual long? CreatedUserId { get; set; } /// /// 创建者名称 /// [MaxLength(20)] [SugarColumn(ColumnDescription = "创建者名称")] public virtual string CreatedUserName { get; set; } /// /// 修改者Id /// [SugarColumn(ColumnDescription = "修改者Id")] public virtual long? UpdatedUserId { get; set; } /// /// 修改者名称 /// [MaxLength(20)] [SugarColumn(ColumnDescription = "修改者名称")] public virtual string UpdatedUserName { get; set; } /// /// 软删除 /// [SugarColumn(ColumnDescription = "软删除")] public virtual bool IsDeleted { get; set; } = false; //public virtual void Create() //{ // var userId = App.User.FindFirst(ClaimConst.CLAINM_USERID)?.Value; // var userName = App.User.FindFirst(ClaimConst.CLAINM_ACCOUNT)?.Value; // Id = YitIdHelper.NextId(); // CreatedTime = DateTime.Now; // if (!string.IsNullOrEmpty(userId)) // { // CreatedUserId = long.Parse(userId); // CreatedUserName = userName; // } //} //public void Modify() //{ // var userId = App.User.FindFirst(ClaimConst.CLAINM_USERID)?.Value; // var userName = App.User.FindFirst(ClaimConst.CLAINM_ACCOUNT)?.Value; // UpdatedTime = DateTime.Now; // if (!string.IsNullOrEmpty(userId)) // { // UpdatedUserId = long.Parse(userId); // UpdatedUserName = userName; // } //} /// /// 更新信息列 /// /// public virtual string[] UpdateColumn() { var result = new[] {nameof(UpdatedUserId), nameof(UpdatedUserName), nameof(UpdatedTime)}; return result; } /// /// 假删除的列,包含更新信息 /// /// public virtual string[] FalseDeleteColumn() { var updateColumn = UpdateColumn(); var deleteColumn = new[] {nameof(IsDeleted)}; var result = new string [updateColumn.Length + deleteColumn.Length]; deleteColumn.CopyTo(result, 0); updateColumn.CopyTo(result, deleteColumn.Length); return result; } } /// /// 递增主键实体基类 /// public abstract class AutoIncrementEntity { /// /// 主键Id /// [SugarColumn(IsIdentity = true, ColumnDescription = "Id主键", IsPrimaryKey = true)] //通过特性设置主键和自增列 // 注意是在这里定义你的公共实体 public virtual int Id { get; set; } } /// /// 主键实体基类 /// public abstract class PrimaryKeyEntity { /// /// 主键Id /// [SugarColumn(ColumnDescription = "Id主键", IsPrimaryKey = true)] // 注意是在这里定义你的公共实体 public virtual long Id { get; set; } }