106 lines
2.3 KiB
C#
106 lines
2.3 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace AmtScanner.Api.Models;
|
|
|
|
/// <summary>
|
|
/// 系统用户
|
|
/// </summary>
|
|
public class User
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 用户名(登录名)
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(100)]
|
|
public string UserName { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 密码哈希
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(200)]
|
|
public string PasswordHash { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// 昵称
|
|
/// </summary>
|
|
[MaxLength(100)]
|
|
public string? NickName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 邮箱
|
|
/// </summary>
|
|
[MaxLength(200)]
|
|
public string? Email { get; set; }
|
|
|
|
/// <summary>
|
|
/// 手机号
|
|
/// </summary>
|
|
[MaxLength(20)]
|
|
public string? Phone { get; set; }
|
|
|
|
/// <summary>
|
|
/// 头像 URL
|
|
/// </summary>
|
|
[MaxLength(500)]
|
|
public string? Avatar { get; set; }
|
|
|
|
/// <summary>
|
|
/// 性别: 0-未知, 1-男, 2-女
|
|
/// </summary>
|
|
[MaxLength(1)]
|
|
public string Gender { get; set; } = "0";
|
|
|
|
/// <summary>
|
|
/// 状态: 1-启用, 2-禁用
|
|
/// </summary>
|
|
[MaxLength(1)]
|
|
public string Status { get; set; } = "1";
|
|
|
|
/// <summary>
|
|
/// 创建时间
|
|
/// </summary>
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
/// <summary>
|
|
/// 更新时间
|
|
/// </summary>
|
|
public DateTime? UpdatedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建人
|
|
/// </summary>
|
|
[MaxLength(100)]
|
|
public string? CreatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// 更新人
|
|
/// </summary>
|
|
[MaxLength(100)]
|
|
public string? UpdatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否已删除(软删除)
|
|
/// </summary>
|
|
public bool IsDeleted { get; set; } = false;
|
|
|
|
/// <summary>
|
|
/// 刷新令牌
|
|
/// </summary>
|
|
[MaxLength(500)]
|
|
public string? RefreshToken { get; set; }
|
|
|
|
/// <summary>
|
|
/// 刷新令牌过期时间
|
|
/// </summary>
|
|
public DateTime? RefreshTokenExpiryTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 用户角色关联
|
|
/// </summary>
|
|
public ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
|
|
}
|