// Package schemas user_schemas.go package schemas // LoginRequest 登录请求参数 type LoginRequest struct { // Username 用户名,用于登录验证 Username string `json:"username" binding:"required"` // Password 密码,用于登录验证 Password string `json:"password" binding:"required"` } // UserInfo 用户信息 type UserInfo struct { // 用户ID ID int `json:"id" db:"id"` // 角色编码 RoleCode int `json:"rolecode" db:"rolecode"` // 角色名称 RoleName string `json:"rolename" db:"rolename"` // 用户编码 SessionCode string `json:"sessioncode" db:"sessioncode"` // 用户名 Username string `json:"username" db:"username"` // 密码 Password string `json:"password" binding:"required" db:"password"` // 昵称 Nickname string `json:"nickname" binding:"required" db:"nickname"` // 邮箱地址 Email string `json:"email" binding:"required" db:"email"` // 头像URL Avatar string `json:"avatar" db:"avatar"` // 用户状态 Status int `json:"status" db:"status"` // 注册时间 RegisterTime CustomTime `json:"register_time" db:"register_time"` // 最后登录时间 LastLoginTime CustomTime `json:"last_login_time" db:"last_login_time"` } // CreateUser 创建用户请求参数 type CreateUser struct { // ID 用户ID,数据库自动生成, 不传 ID int `json:"id" db:"id"` // RoleCode 角色编码, 不传, 默认0 RoleCode int `json:"rolecode" db:"rolecode"` // RoleName 角色名称, 不传 RoleName string `json:"rolename" db:"rolename"` // SessionCode 用户编码 系统生成 SessionCode string `json:"sessioncode" db:"sessioncode"` // Username 用户名,系统唯一标识,系统生成, 不传 Username string `json:"username" db:"username"` // Password 密码,将被加密存储 Password string `json:"password" binding:"required" db:"password"` // Nickname 用户昵称,显示名称 Nickname string `json:"nickname" binding:"required" db:"nickname"` // Email 邮箱地址,用于联系和找回密码 Email string `json:"email" binding:"required" db:"email"` // Avatar 头像URL Avatar string `json:"avatar" db:"avatar"` // Status 用户状态,不传 Status int `json:"status" db:"status"` // RegisterTime 注册时间,系统生成 RegisterTime CustomTime `json:"register_time" db:"register_time"` // LastLoginTime 最后登录时间,系统生成 LastLoginTime CustomTime `json:"last_login_time" db:"last_login_time"` } // UserResponse 用户创建响应模型 type UserResponse struct { Authorization string `json:"authorization"` } // UpdateUser 用户选择性更新请求参数 type UpdateUser struct { // ID 用户编码,用于定位用户 ID int `json:"id" binding:"required"` // Password 密码,将被加密存储 Password string `json:"password"` // Nickname 用户昵称,显示名称 Nickname string `json:"nickname"` // Email 邮箱地址,用于联系和找回密码 Email string `json:"email"` // Avatar 头像URL Avatar string `json:"avatar"` } // UserStatus 用户状态常量 const ( UserStatusDisabled = 0 // 禁用 UserStatusNormal = 1 // 正常 ) type UserListRequest struct { PageIndex int `json:"page_index" form:"page_index" binding:"required"` PageSize int `json:"page_size" form:"page_size" binding:"required"` // 昵称(用户名) NickName string `json:"nickname" form:"nickname"` StartDate CustomTime `json:"start_time" form:"register_time"` EndDate CustomTime `json:"end_time" form:"register_time"` } type UserListResponse struct { Item []*UserInfo `json:"items"` Total int64 `json:"total"` PageIndex int `json:"page_index"` PageSize int `json:"page_size"` } type RoleListRequest struct { PageIndex int `json:"page_index" form:"page_index" binding:"required"` PageSize int `json:"page_size" form:"page_size" binding:"required"` StartDate CustomTime `json:"start_date" form:"start_date"` EndDate CustomTime `json:"end_date" form:"end_date"` } type RoleListResponse struct { Item []*RoleResponseList `json:"items"` Total int64 `json:"total"` PageIndex int `json:"page_index"` PageSize int `json:"page_size"` } type RoleResponseList struct { // ID 角色ID ID int `json:"id" db:"id"` // Name 角色名称 Name string `json:"name" db:"name"` // Code 角色编码 Code string `json:"code" db:"code"` // Desc 角色描述 Desc string `json:"description" db:"description"` // Status 角色状态 Status int `json:"status" db:"status"` // CreateTime 创建时间 CreateTime CustomTime `json:"create_time" db:"create_time"` } // LoginLog 登录日志结构体 type LoginLog struct { ID int64 `json:"id" db:"id"` UserID int `json:"user_id" db:"user_id"` Username string `json:"username" db:"username"` IPAddress string `json:"ip_address" db:"ip_address"` Location string `json:"location" db:"location"` UserAgent string `json:"user_agent" db:"user_agent"` LoginTime CustomTime `json:"login_time" db:"login_time"` Status int `json:"status" db:"status"` FailureReason string `json:"failure_reason" db:"failure_reason"` CreateTime CustomTime `json:"create_time" db:"create_time"` UpdateTime CustomTime `json:"update_time" db:"update_time"` IsDel int `json:"isdel" db:"isdel"` } type LoginLogListRequest struct { PageIndex int `json:"page_index" form:"page_index" binding:"required"` PageSize int `json:"page_size" form:"page_size" binding:"required"` StartDate CustomTime `json:"start_date" form:"start_date"` EndDate CustomTime `json:"end_date" form:"end_date"` } type LoginLogListResponse struct { Item []*LoginLog `json:"items"` Total int64 `json:"total"` PageIndex int `json:"page_index"` PageSize int `json:"page_size"` } type CreateRole struct { Name string `json:"name" binding:"required"` ID int `json:"id"` Description string `json:"description"` }