using IRaCIS.Core.Domain.Share; using Newtonsoft.Json; namespace IRaCIS.Application.Contracts { public class UserTypeViewModel { public Guid Id { get; set; } public string UserType { get; set; } = string.Empty; public UserTypeEnum UserTypeEnum { get; set; } public string Description { get; set; } = string.Empty; } public class UserLoginDTO { public string UserName { get; set; } = string.Empty; public string Password { get; set; } = string.Empty; public Guid? UserId { get; set; } } public class IRCLoginDto { public string UserName { get; set; } public string Password { get; set; } } public class LoginSelectRoleReturn { public string JwtStr { get; set; } public bool IsMutiAccount => AccountList.Count > 1; public List AccountList { get; set; } = new List(); } public class UserAccountInfo { public Guid Id { get; set; } public Guid IdentityUserId { get; set; } public string UserName { get; set; } = string.Empty; public string FullName { get; set; } = string.Empty; public string Phone { get; set; } = string.Empty; public string EMail { get; set; } = string.Empty; public Guid UserTypeId { get; set; } public UserTypeEnum UserType { get; set; } public string UserTypeShortName { get; set; } public bool IsUserRoleDisabled { get; set; } [Comment("多账号信息是否已经确认")] public bool IsMutiAccountInfoConfirm { get; set; } } public class LoginReturnDTO { public UserBasicInfo BasicInfo { get; set; } = new UserBasicInfo(); public string JWTStr { get; set; } = string.Empty; public bool IsMFA { get; set; } = false; public SystemEmailSendConfigView CompanyInfo { get; set; } } public class IRCLoginReturnDTO { public UserBasicInfo BasicInfo { get; set; } = new UserBasicInfo(); public string JWTStr { get; set; } = string.Empty; public bool IsMFA { get; set; } = false; public SystemEmailSendConfigView CompanyInfo { get; set; } } public class UserBasicInfo { public Guid IdentityUserId { get; set; } public bool IsMutiAccount => AccountList?.Count > 1; public List AccountList { get; set; } public Guid Id { get; set; } public string UserName { get; set; } = string.Empty; public string FullName { get; set; } = string.Empty; public int? Sex { get; set; } // 1-男 2-女 public string UserCode { get; set; } public string EMail { get; set; } public int Status { get; set; } public bool IsTestUser { get; set; } public bool IsZhiZhun { get; set; } public bool IsFirstAdd { get; set; } public bool PasswordChanged { get; set; } public int LoginState { get; set; } = 0; public string LastLoginIP { get; set; } = string.Empty; public DateTime? LastLoginTime { get; set; } /// /// 上一次修改密码的时间 /// public DateTime? LastChangePassWordTime { get; set; } } public class MenuFuncTreeNodeView { [JsonIgnore] public Guid Id { get; set; } [JsonIgnore] public Guid ParentId { get; set; } = Guid.Empty; [JsonIgnore] public int ShowOrder { get; set; } public string routeName { get; set; } = string.Empty; public string component { get; set; } = string.Empty; public string redirect { get; set; } = string.Empty; public string path { get; set; } = string.Empty; public Meta meta { get; set; } = new Meta(); public bool hidden { get; set; } public List Childrens { get; set; } = new List(); } public class Meta { public string MetaTitle { get; set; } = string.Empty; public bool MetaBreadcrumb { get; set; } = false; public string MetaIcon { get; set; } = string.Empty; public string MetaActiveMenu { get; set; } = string.Empty; } public class FunctionTreeNodeDTO { [JsonIgnore] public Guid Id { get; set; } [JsonIgnore] public Guid ParentId { get; set; } = Guid.Empty; [JsonIgnore] public int ShowOrder { get; set; } public string RouteName { get; set; } = string.Empty; public string FunctionName { get; set; } = string.Empty; public List Childrens { get; set; } = new List(); } public class UserDetailDTO : UserInfo { //public bool CanEditUserType { get; set; } public string FullName { get; set; } public Guid Id { get; set; } public List AccountList { get; set; } } public class UserInfo { public string UserName { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public int? Sex { get; set; } // 1-男 2-女 public UserStateEnum Status { get; set; } = UserStateEnum.Enable; public string Phone { get; set; } = string.Empty; public string EMail { get; set; } = string.Empty; public string UserCode { get; set; } = string.Empty; public bool IsZhiZhun { get; set; } public string OrganizationName { get; set; } = string.Empty; public string DepartmentName { get; set; } = String.Empty; public string PositionName { get; set; } = String.Empty; public bool IsTestUser { get; set; } } /// /// 添加用户是的返回模型 /// public class UserAddedReturnDTO { public Guid Id { get; set; } public string UserCode { get; set; } = string.Empty; } public class UserCommand : UserInfo { public Guid? Id { get; set; } public List UserRoleList { get; set; } public string BaseUrl { get; set; } = string.Empty; public string RouteUrl { get; set; } = string.Empty; } public class UserAddUserType { public UserTypeEnum UserTypeEnum { get; set; } public Guid UserTypeId { get; set; } public bool IsUserRoleDisabled { get; set; } } public class EditPasswordCommand { public string NewUserName { get; set; } = string.Empty; public string NewPassWord { get; set; } = string.Empty; public string OldPassWord { get; set; } = string.Empty; } public class UserAccountDto { public Guid UserId { get; set; } public string UserName { get; set; } = string.Empty; public string UserRealName { get; set; } = string.Empty; public string UserType { get; set; } = string.Empty; } public class UserListQueryDTO : PageInput { public string UserName { get; set; } = string.Empty; public string RealName { get; set; } public string Phone { get; set; } = string.Empty; public string OrganizationName { get; set; } = string.Empty; public Guid? UserType { get; set; } public bool? IsTestUser { get; set; } public bool? IsZhiZhun { get; set; } public UserStateEnum? UserState { get; set; } public DateTime? BeginCreateTime { get; set; } public DateTime? EndCreateTime { get; set; } public string? EMail { get; set; } public DateTime? BeginLastLoginTime { get; set; } public DateTime? EndLastLoginTime { get; set; } } public class UserRoleInfoDTO { public List RoleList { get; set; } = new List(); public int MaxPrivilegeLevel { get; set; } } public class UserListDTO : UserInfo { //public bool CanEditUserType { get; set; } public DateTime CreateTime { get; set; } public Guid IdentityUserId { get; set; } public string FullName { get; set; } public List UserRoleList { get; set; } } public class AllowAnonymousResetPasswordCommand { public string Email { get; set; } = string.Empty; public string VerificationCode { get; set; } = string.Empty; public string NewPwd { get; set; } = string.Empty; public string UserName { get; set; } = string.Empty; } public class ResetPasswordCommand { public string EmailOrPhone { get; set; } = string.Empty; public VerifyType VerificationType { get; set; } public string VerificationCode { get; set; } = string.Empty; public string NewPwd { get; set; } = string.Empty; public bool IsReviewer { get; set; } = false; } }