// package model // @Link https://github.com/xiujiecn/xiu-admin // @Copyright Copyright (c) 2025 LiXiujie // @Author Lxj // @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE package model import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" ) type SysUserMiniModel struct { g.Meta `orm:"table:sys_user" description:"用户"` UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` UserName string `json:"userName" orm:"user_name" description:"用户账号"` NickName string `json:"nickName" orm:"nick_name" description:"用户昵称"` Avatar string `json:"avatar" orm:"avatar" description:"头像地址"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门ID"` } type LoginUserOut struct { ID int64 `json:"id"` Username string `json:"username"` NickName string `json:"nickName"` Avatar string `json:"avatar"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门ID"` UUID string `json:"uuid"` RoleIds []int64 `json:"roleIds"` } type UserListParam struct { TenantId string `json:"tenantId" description:"租户编号"` UserId int64 `json:"userId" description:"用户ID"` DeptId int64 `json:"deptId" description:"部门ID"` DeptIdList []int64 `json:"deptIdList" description:"部门ID列表"` UserName string `json:"userName" description:"用户账号"` NickName string `json:"nickName" description:"用户昵称"` Email string `json:"email" description:"用户邮箱"` Phonenumber string `json:"phonenumber" description:"手机号码"` Status string `json:"status" description:"帐号状态(0正常 1停用)"` CreatedAt []string `json:"createdAt" description:"创建时间"` } type SysUserListModel struct { UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门ID"` UserName string `json:"userName" orm:"user_name" description:"用户账号"` NickName string `json:"nickName" orm:"nick_name" description:"用户昵称"` UserType string `json:"userType" orm:"user_type" description:"用户类型(sys_user系统用户)"` Email string `json:"email" orm:"email" description:"用户邮箱"` Phonenumber string `json:"phonenumber" orm:"phonenumber" description:"手机号码"` Sex string `json:"sex" orm:"sex" description:"用户性别(0男 1女 2未知)"` Avatar string `json:"avatar" orm:"avatar" description:"头像地址"` Status string `json:"status" orm:"status" description:"帐号状态(0正常 1停用)"` LoginIp string `json:"loginIp" orm:"login_ip" description:"最后登录IP"` LoginDate *gtime.Time `json:"loginDate" orm:"login_date" description:"最后登录时间"` CreatedDept int64 `json:"createdDept" orm:"created_dept" description:"创建部门"` CreatedBy int64 `json:"createdBy" orm:"created_by" description:"创建者"` CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` Remark string `json:"remark" orm:"remark" description:"备注"` DeptInfo *SysDeptMiniModel `json:"deptInfo" orm:"with:dept_id=dept_id" description:"部门信息"` Roles []*SysRoleMiniModel `json:"roles" description:"角色信息"` IsDefaultUser bool `json:"isDefaultUser" description:"是否默认用户"` } type SysUserViewModel struct { UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门ID"` UserName string `json:"userName" orm:"user_name" description:"用户账号"` NickName string `json:"nickName" orm:"nick_name" description:"用户昵称"` UserType string `json:"userType" orm:"user_type" description:"用户类型(sys_user系统用户)"` Email string `json:"email" orm:"email" description:"用户邮箱"` Phonenumber string `json:"phonenumber" orm:"phonenumber" description:"手机号码"` Sex string `json:"sex" orm:"sex" description:"用户性别(0男 1女 2未知)"` Avatar string `json:"avatar" orm:"avatar" description:"头像地址"` Status string `json:"status" orm:"status" description:"帐号状态(0正常 1停用)"` LoginIp string `json:"loginIp" orm:"login_ip" description:"最后登录IP"` LoginDate *gtime.Time `json:"loginDate" orm:"login_date" description:"最后登录时间"` MfaEnabled int64 `json:"mfaEnabled" orm:"mfa_enabled" description:"是否开启mfa验证"` IsInitPassword int64 `json:"isInitPassword" orm:"is_init_password" description:"当前密码是否未由用户本人设置(1=初始或管理员临时密码)"` CreatedDept int64 `json:"createdDept" orm:"created_dept" description:"创建部门"` CreatedBy int64 `json:"createdBy" orm:"created_by" description:"创建者"` CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` Remark string `json:"remark" orm:"remark" description:"备注"` DeptInfo *SysDeptMiniModel `json:"deptInfo" orm:"with:dept_id=dept_id" description:"部门信息"` Roles []*SysRoleMiniModel `json:"roles" description:"角色信息"` Posts []*SysPostMiniModel `json:"posts" description:"岗位信息"` } type UserProfileModel struct { SysUserViewModel CompanyInfo *SysDeptMiniModel `json:"companyInfo" orm:"with:dept_id=dept_id" description:"公司信息"` } type UpdateCurrentUserModel struct { NickName string `json:"nickName"` Email string `json:"email"` Phonenumber string `json:"phonenumber"` Avatar string `json:"avatar"` Sex string `json:"sex"` } type UpdateCurrentUserPasswordModel struct { OldPassword string `json:"oldPassword"` NewPassword string `json:"newPassword"` } type UpdateCurrentUserContactCodeModel struct { Contact string `json:"contact" v:"required#手机号或邮箱不能为空" dc:"手机号或邮箱"` CaptchaID string `json:"captchaID" v:"required#图片验证码不能为空" dc:"图片验证码ID"` CaptchaValue string `json:"captchaValue" v:"required#图片验证码不能为空" dc:"图片验证码值"` } type UpdateCurrentUserContactModel struct { Contact string `json:"contact" v:"required#手机号或邮箱不能为空" dc:"手机号或邮箱"` Code string `json:"code" v:"required#验证码不能为空" dc:"短信/邮箱验证码"` } type SendCurrentUserEmailCodeModel struct { Email string `json:"email" dc:"新邮箱"` CaptchaID string `json:"captchaId" dc:"身份验证码ID"` CaptchaValue string `json:"captchaValue" dc:"身份验证码"` } type UpdateCurrentUserEmailModel struct { Email string `json:"email" dc:"新邮箱"` Code string `json:"code" dc:"验证码"` } type SendCurrentUserPhoneCodeModel struct { Phonenumber string `json:"phonenumber" dc:"新电话"` CaptchaID string `json:"captchaId" dc:"身份验证码ID"` CaptchaValue string `json:"captchaValue" dc:"身份验证码"` } type UpdateCurrentUserPhoneModel struct { Phonenumber string `json:"phonenumber" dc:"新电话"` Code string `json:"code" dc:"验证码"` } type UserCodeHttpSenderConfig struct { Timeout string `json:"timeout"` Url string `json:"url"` Method string `json:"method"` Headers map[string]string `json:"headers"` BodyTemplate string `json:"bodyTemplate"` SuccessStatus int `json:"successStatus"` } type UserCodeEmailSenderConfig struct { UserCodeHttpSenderConfig Host string `json:"host"` Port int `json:"port"` Username string `json:"username"` Password string `json:"password"` From string `json:"from"` FromName string `json:"fromName"` Subject string `json:"subject"` BodyTemplate string `json:"bodyTemplate"` SSL bool `json:"ssl"` } type SysUserAddModel struct { TenantId string `json:"tenantId" orm:"tenant_id" description:"租户编号"` DeptId int64 `json:"deptId" orm:"dept_id" description:"部门ID"` UserName string `json:"userName" orm:"user_name" description:"用户账号"` NickName string `json:"nickName" orm:"nick_name" description:"用户昵称"` UserType string `json:"userType" orm:"user_type" description:"用户类型(sys_user系统用户)"` Email string `json:"email" orm:"email" description:"用户邮箱"` Phonenumber string `json:"phonenumber" orm:"phonenumber" description:"手机号码"` Sex string `json:"sex" orm:"sex" description:"用户性别(0男 1女 2未知)"` Avatar string `json:"avatar" orm:"avatar" description:"头像地址"` Salt string `json:"salt" orm:"salt" description:"加密盐"` Password string `json:"password" orm:"password" description:"密码"` Status string `json:"status" orm:"status" description:"帐号状态(0正常 1停用)"` LoginIp string `json:"loginIp" orm:"login_ip" description:"最后登录IP"` LoginDate *gtime.Time `json:"loginDate" orm:"login_date" description:"最后登录时间"` CreatedDept int64 `json:"createdDept" orm:"created_dept" description:"创建部门"` CreatedBy int64 `json:"createdBy" orm:"created_by" description:"创建者"` CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` UpdatedBy int64 `json:"updatedBy" orm:"updated_by" description:"更新者"` UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` Remark string `json:"remark" orm:"remark" description:"备注"` PostIds []int64 `json:"postIds" orm:"post_ids" description:"岗位ID列表"` RoleIds []int64 `json:"roleIds" orm:"role_ids" description:"角色ID列表"` } type SysUserUpdateModel struct { UserId int64 `json:"userId" orm:"user_id" description:"用户ID"` DeptId *int64 `json:"deptId" orm:"dept_id" description:"部门ID"` UserName *string `json:"userName" orm:"user_name" description:"用户账号"` NickName *string `json:"nickName" orm:"nick_name" description:"用户昵称"` UserType *string `json:"userType" orm:"user_type" description:"用户类型(sys_user系统用户)"` Email *string `json:"email" orm:"email" description:"用户邮箱"` Phonenumber *string `json:"phonenumber" orm:"phonenumber" description:"手机号码"` Sex *string `json:"sex" orm:"sex" description:"用户性别(0男 1女 2未知)"` Avatar *string `json:"avatar" orm:"avatar" description:"头像地址"` Status *string `json:"status" orm:"status" description:"帐号状态(0正常 1停用)"` UpdatedBy *int64 `json:"updatedBy" orm:"updated_by" description:"更新者"` UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` Remark *string `json:"remark" orm:"remark" description:"备注"` PostIds []int64 `json:"postIds" orm:"post_ids" description:"岗位ID列表"` RoleIds []int64 `json:"roleIds" orm:"role_ids" description:"角色ID列表"` } type SysUserRegisterModel struct { UserName string `json:"userName" v:"required#用户账号不能为空" dc:"用户账号"` Password string `json:"password" v:"required#密码不能为空" dc:"密码"` TenantId string `json:"tenantId" v:"required#租户编号不能为空" dc:"租户编号"` CaptchaID string `json:"captchaId" v:"required#验证码不能为空" dc:"验证码ID"` CaptchaValue string `json:"captchaValue" v:"required#验证码不能为空" dc:"验证码值"` } type SysUserStatusParam struct { UserId int64 `json:"userId" v:"required#用户ID不能为空" dc:"用户ID"` Status string `json:"status" v:"required#状态不能为空" dc:"状态"` } type SysUserMfaEnabledModel struct { UserId int64 `json:"userId" dc:"用户ID"` MfaEnabled int64 `json:"mfaEnabled" dc:"是否开启mfa验证 0否 1是"` } type SysUserIsMfaEnabledModel struct { Uuid string `json:"uuid" dc:"mfa验证码uuid"` Code string `json:"code" dc:"mfa验证码"` MfaEnabled int64 `json:"mfaEnabled" dc:"是否开启mfa验证 0否 1是"` }