Files
Quincy_admin/schemas/user_schemas.go
2026-03-26 22:13:03 +08:00

188 lines
5.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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"`
}