using ATS.NonCustodial.Domain.Shared.AggRootEntities;
using ATS.NonCustodial.Domain.Shared.Constants;
using ATS.NonCustodial.Domain.Shared.Enums;
using ATS.NonCustodial.Shared.Common.Enums;
using ATS.NonCustodial.Shared.Common.Enums.IM;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace ATS.NonCustodial.Domain.Entities.Admins
{
///
/// AppUsers
///
/// Author:mxg
/// CreatedTimed:2022-05-12 16:22 PM
[Table("app_user")]
[Index(nameof(Phone), nameof(IdCard), IsUnique = true)]
public class AppUser : EntityFull
{
public AppUser()
{ }
public AppUser(long id)
{
Id = id;
}
///
/// 账号
///
[MaxLength(StringLengthConstants.StringLength20)]
public string? UserName { get; set; }
///
/// 姓名
///
[MaxLength(StringLengthConstants.StringLength20)]
public string? Name { get; set; }
///
/// 昵称
///
[MaxLength(StringLengthConstants.StringLength30)]
public string? NickName { get; set; }
///
/// 密码
///
[MaxLength(StringLengthConstants.StringLength36)]
public string? Password { get; set; }
///
/// 密码盐
///
[MaxLength(StringLengthConstants.StringLength64)]
public string? PasswordSalt { get; set; }
///
/// 头像路径
///
[MaxLength(StringLengthConstants.StringLength128)]
public string? Avatar { get; set; }
///
/// 单位Id
///
public long? UnitId { get; set; }
///
/// 单位名称
///
public string? Unitname { get; set; }
///
/// 部门id
///
public long? DeptcodeId { get; set; }
///
/// 部门名称
///
public string? Deptcodename { get; set; }
///
/// 生日
///
public DateTime? Birthday { get; set; }
///
/// email
///
[MaxLength(StringLengthConstants.StringLength20)]
public string? Email { get; set; }
///
/// 手机号(手机号限制输入为手机号格式,位数为11位。)
///
[MaxLength(StringLengthConstants.StringLength11)]
public string? Phone { get; set; }
///
/// 性别枚举(0:男性 1:女性 2:未知)
///
///
public GenderEnum Gender { get; set; }
///
/// 备注
///
[MaxLength(StringLengthConstants.StringLength255)]
public string? Remark { get; set; }
///
/// 职位字典Id(数据来自字典)
///
///
/// 职位数据用于被监管人查看对方时展示为对应的检察官1、检察官2、干警1……
///
public long? PositionId { get; set; }
///
/// 职位名称(数据字典)
///
[MaxLength(StringLengthConstants.StringLength30)]
public string? PositionName { get; set; }
/////
///// 用户类型(角色)
/////
/////
///// 用户类型是用作权限划分的,如A用户的用户类型为监管人,则他只能看他所绑定的案子对应数据,如果B用户是管理员,则他不管绑定哪个案件,都可以看到所有的数据。
/////
//public long? RoleId { get; set; }
///
/// 角色名称(多个用逗号分割)
///
[MaxLength(StringLengthConstants.StringLength255)]
public string? RoleName { get; set; }
///
/// 身份证号
///
[MaxLength(StringLengthConstants.StringLength20)]
public string? IdCard { get; set; }
///
/// 监管人员状态类型(0:未设置 1:在线 2:小休一下 3:挂起)
///
public StateTypeEnum State { get; set; }
///
/// IMEI是被监管人在APP上提交申请时,会自动上报的手机唯一标识数据。(获取自动登录)
///
[MaxLength(StringLengthConstants.StringLength64)]
public string? IMEI { get; set; }
///
/// 聊天类型(0:监管人 1:被监管人 2:管理员)
///
public ChatPersonTypeEnum ChatPersonType { get; set; }
///
/// 手机登录自动获取到得手机唯一标识,(用于个推)
///
[MaxLength(StringLengthConstants.StringLength255)]
public string? CId { get; set; }
///
/// 查询界限
///
[MaxLength(StringLengthConstants.StringLength2048)]
public string? limits { get; set; }
}
}