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; }
}