using SqlSugar;
namespace YY.Admin.Core;
///
/// Jeecg 用户同构表(桌面端)
/// 说明:
/// 1. 按 JeecgBoot 的 sys_user 字段模型定义。
/// 2. 为避免影响现有 YY.Admin 的 sys_user 业务表,这里单独落表 jeecg_sys_user。
///
[SugarTable("jeecg_sys_user", "Jeecg用户同构表")]
[SysTable]
public class JeecgSysUser
{
/// id(Jeecg为字符串雪花ID)
[SugarColumn(ColumnName = "id", IsPrimaryKey = true, Length = 64)]
public string Id { get; set; } = string.Empty;
/// 登录账号
[SugarColumn(ColumnName = "username", Length = 64, IsNullable = true)]
public string? Username { get; set; }
/// 真实姓名
[SugarColumn(ColumnName = "realname", Length = 64, IsNullable = true)]
public string? Realname { get; set; }
/// 密码
[SugarColumn(ColumnName = "password", Length = 512, IsNullable = true)]
public string? Password { get; set; }
/// 密码盐
[SugarColumn(ColumnName = "salt", Length = 64, IsNullable = true)]
public string? Salt { get; set; }
/// 头像
[SugarColumn(ColumnName = "avatar", Length = 512, IsNullable = true)]
public string? Avatar { get; set; }
/// 生日
[SugarColumn(ColumnName = "birthday", IsNullable = true)]
public DateTime? Birthday { get; set; }
/// 性别(1男2女)
[SugarColumn(ColumnName = "sex", IsNullable = true)]
public int? Sex { get; set; }
/// 邮箱
[SugarColumn(ColumnName = "email", Length = 128, IsNullable = true)]
public string? Email { get; set; }
/// 手机号
[SugarColumn(ColumnName = "phone", Length = 32, IsNullable = true)]
public string? Phone { get; set; }
/// 登录选择部门编码
[SugarColumn(ColumnName = "org_code", Length = 128, IsNullable = true)]
public string? OrgCode { get; set; }
/// 登录选择租户ID
[SugarColumn(ColumnName = "login_tenant_id", IsNullable = true)]
public int? LoginTenantId { get; set; }
/// 状态(1正常 2冻结)
[SugarColumn(ColumnName = "status", IsNullable = true)]
public int? Status { get; set; }
/// 删除标志(0正常 1已删)
[SugarColumn(ColumnName = "del_flag", IsNullable = true)]
public int? DelFlag { get; set; }
/// 工号
[SugarColumn(ColumnName = "work_no", Length = 64, IsNullable = true)]
public string? WorkNo { get; set; }
/// 座机号
[SugarColumn(ColumnName = "telephone", Length = 32, IsNullable = true)]
public string? Telephone { get; set; }
/// 创建人
[SugarColumn(ColumnName = "create_by", Length = 64, IsNullable = true)]
public string? CreateBy { get; set; }
/// 创建时间
[SugarColumn(ColumnName = "create_time", IsNullable = true)]
public DateTime? CreateTime { get; set; }
/// 更新人
[SugarColumn(ColumnName = "update_by", Length = 64, IsNullable = true)]
public string? UpdateBy { get; set; }
/// 更新时间
[SugarColumn(ColumnName = "update_time", IsNullable = true)]
public DateTime? UpdateTime { get; set; }
/// 流程同步标志
[SugarColumn(ColumnName = "activiti_sync", IsNullable = true)]
public int? ActivitiSync { get; set; }
/// 身份(0普通成员 1上级)
[SugarColumn(ColumnName = "user_identity", IsNullable = true)]
public int? UserIdentity { get; set; }
/// 负责部门IDs
[SugarColumn(ColumnName = "depart_ids", Length = 1024, IsNullable = true)]
public string? DepartIds { get; set; }
/// 设备ID
[SugarColumn(ColumnName = "client_id", Length = 256, IsNullable = true)]
public string? ClientId { get; set; }
/// 流程状态
[SugarColumn(ColumnName = "bpm_status", Length = 64, IsNullable = true)]
public string? BpmStatus { get; set; }
/// 个性签名
[SugarColumn(ColumnName = "sign", Length = 512, IsNullable = true)]
public string? Sign { get; set; }
/// 是否开启个性签名
[SugarColumn(ColumnName = "sign_enable", IsNullable = true)]
public int? SignEnable { get; set; }
/// 主岗位
[SugarColumn(ColumnName = "main_dep_post_id", Length = 128, IsNullable = true)]
public string? MainDepPostId { get; set; }
/// 职务(字典)
[SugarColumn(ColumnName = "position_type", Length = 64, IsNullable = true)]
public string? PositionType { get; set; }
/// 最后修改密码时间
[SugarColumn(ColumnName = "last_pwd_update_time", IsNullable = true)]
public DateTime? LastPwdUpdateTime { get; set; }
/// 排序
[SugarColumn(ColumnName = "sort", IsNullable = true)]
public int? Sort { get; set; }
/// 是否隐藏联系方式 0否1是
[SugarColumn(ColumnName = "iz_hide_contact", Length = 8, IsNullable = true)]
public string? IzHideContact { get; set; }
// ------------------------- 非持久化字段(与 Jeecg 实体保持一致) -------------------------
/// 部门名称(非持久化)
[SugarColumn(IsIgnore = true)]
public string? OrgCodeTxt { get; set; }
/// 职务(非持久化)
[SugarColumn(IsIgnore = true)]
public string? Post { get; set; }
/// 多租户ids临时字段(非持久化)
[SugarColumn(IsIgnore = true)]
public string? RelTenantIds { get; set; }
/// 首页路径(非持久化)
[SugarColumn(IsIgnore = true)]
public string? HomePath { get; set; }
/// 职位名称(非持久化)
[SugarColumn(IsIgnore = true)]
public string? PostText { get; set; }
/// 是否绑定第三方(非持久化)
[SugarColumn(IsIgnore = true)]
public bool IzBindThird { get; set; }
/// 兼职岗位(非持久化)
[SugarColumn(IsIgnore = true)]
public string? OtherDepPostId { get; set; }
/// 登录时选择部门编码(非持久化)
[SugarColumn(IsIgnore = true)]
public string? LoginOrgCode { get; set; }
/// 所属部门IDs(非持久化)
[SugarColumn(IsIgnore = true)]
public string? BelongDepIds { get; set; }
}