using JNPF.Common.Const;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using SqlSugar;
namespace JNPF.Common.Contracts;
///
/// 创建修改实体基类.
///
[SuppressSniffer]
public class CLEntityBase : EntityBase, ICreatorTime
{
///
/// 获取或设置 创建时间.
///
[SugarColumn(ColumnName = "F_CREATORTIME", ColumnDescription = "创建时间")]
public virtual DateTime? CreatorTime { get; set; }
///
/// 获取或设置 创建用户.
///
[SugarColumn(ColumnName = "F_CREATORUSERID", ColumnDescription = "创建用户")]
public virtual string CreatorUserId { get; set; }
///
/// 获取或设置 修改时间.
///
[SugarColumn(ColumnName = "F_LastModifyTime", ColumnDescription = "修改时间")]
public virtual DateTime? LastModifyTime { get; set; }
///
/// 获取或设置 修改用户.
///
[SugarColumn(ColumnName = "F_LastModifyUserId", ColumnDescription = "修改用户")]
public virtual string LastModifyUserId { get; set; }
///
/// 创建.
///
public virtual void Creator()
{
var userId = App.User?.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
this.CreatorTime = DateTime.Now;
this.Id = SnowflakeIdHelper.NextId();
if (!string.IsNullOrEmpty(userId))
{
this.CreatorUserId = userId;
}
}
///
/// 修改.
///
public virtual void LastModify()
{
var userId = App.User.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
this.LastModifyTime = DateTime.Now;
if (!string.IsNullOrEmpty(userId))
{
this.LastModifyUserId = userId;
}
}
}