188 lines
5.9 KiB
Go
188 lines
5.9 KiB
Go
// 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"`
|
||
}
|