179 lines
8.0 KiB
Go
179 lines
8.0 KiB
Go
package dto
|
|
|
|
import (
|
|
"time"
|
|
|
|
"tyapi-server/internal/domains/admin/entities"
|
|
)
|
|
|
|
// AdminLoginRequest 管理员登录请求
|
|
type AdminLoginRequest struct {
|
|
Username string `json:"username" binding:"required"` // 用户名
|
|
Password string `json:"password" binding:"required"` // 密码
|
|
}
|
|
|
|
// AdminLoginResponse 管理员登录响应
|
|
type AdminLoginResponse struct {
|
|
Token string `json:"token"` // JWT令牌
|
|
ExpiresAt time.Time `json:"expires_at"` // 过期时间
|
|
Admin AdminInfo `json:"admin"` // 管理员信息
|
|
}
|
|
|
|
// AdminInfo 管理员信息
|
|
type AdminInfo struct {
|
|
ID string `json:"id"` // 管理员ID
|
|
Username string `json:"username"` // 用户名
|
|
Email string `json:"email"` // 邮箱
|
|
Phone string `json:"phone"` // 手机号
|
|
RealName string `json:"real_name"` // 真实姓名
|
|
Role entities.AdminRole `json:"role"` // 角色
|
|
IsActive bool `json:"is_active"` // 是否激活
|
|
LastLoginAt *time.Time `json:"last_login_at"` // 最后登录时间
|
|
LoginCount int `json:"login_count"` // 登录次数
|
|
Permissions []string `json:"permissions"` // 权限列表
|
|
CreatedAt time.Time `json:"created_at"` // 创建时间
|
|
}
|
|
|
|
// AdminCreateRequest 创建管理员请求
|
|
type AdminCreateRequest struct {
|
|
Username string `json:"username" binding:"required"` // 用户名
|
|
Password string `json:"password" binding:"required"` // 密码
|
|
Email string `json:"email" binding:"required,email"` // 邮箱
|
|
Phone string `json:"phone"` // 手机号
|
|
RealName string `json:"real_name" binding:"required"` // 真实姓名
|
|
Role entities.AdminRole `json:"role" binding:"required"` // 角色
|
|
Permissions []string `json:"permissions"` // 权限列表
|
|
}
|
|
|
|
// AdminUpdateRequest 更新管理员请求
|
|
type AdminUpdateRequest struct {
|
|
Email string `json:"email" binding:"email"` // 邮箱
|
|
Phone string `json:"phone"` // 手机号
|
|
RealName string `json:"real_name"` // 真实姓名
|
|
Role entities.AdminRole `json:"role"` // 角色
|
|
IsActive *bool `json:"is_active"` // 是否激活
|
|
Permissions []string `json:"permissions"` // 权限列表
|
|
}
|
|
|
|
// AdminPasswordChangeRequest 修改密码请求
|
|
type AdminPasswordChangeRequest struct {
|
|
OldPassword string `json:"old_password" binding:"required"` // 旧密码
|
|
NewPassword string `json:"new_password" binding:"required"` // 新密码
|
|
}
|
|
|
|
// AdminListRequest 管理员列表请求
|
|
type AdminListRequest struct {
|
|
Page int `form:"page" binding:"min=1"` // 页码
|
|
PageSize int `form:"page_size" binding:"min=1,max=100"` // 每页数量
|
|
Username string `form:"username"` // 用户名搜索
|
|
Email string `form:"email"` // 邮箱搜索
|
|
Role string `form:"role"` // 角色筛选
|
|
IsActive *bool `form:"is_active"` // 状态筛选
|
|
}
|
|
|
|
// AdminListResponse 管理员列表响应
|
|
type AdminListResponse struct {
|
|
Total int64 `json:"total"` // 总数
|
|
Page int `json:"page"` // 当前页
|
|
Size int `json:"size"` // 每页数量
|
|
Admins []AdminInfo `json:"admins"` // 管理员列表
|
|
}
|
|
|
|
// AdminStatsResponse 管理员统计响应
|
|
type AdminStatsResponse struct {
|
|
TotalAdmins int64 `json:"total_admins"` // 总管理员数
|
|
ActiveAdmins int64 `json:"active_admins"` // 激活管理员数
|
|
TodayLogins int64 `json:"today_logins"` // 今日登录数
|
|
TotalOperations int64 `json:"total_operations"` // 总操作数
|
|
}
|
|
|
|
// AdminOperationLogRequest 操作日志请求
|
|
type AdminOperationLogRequest struct {
|
|
Page int `form:"page" binding:"min=1"` // 页码
|
|
PageSize int `form:"page_size" binding:"min=1,max=100"` // 每页数量
|
|
AdminID string `form:"admin_id"` // 管理员ID
|
|
Action string `form:"action"` // 操作类型
|
|
Resource string `form:"resource"` // 操作资源
|
|
Status string `form:"status"` // 操作状态
|
|
StartTime time.Time `form:"start_time"` // 开始时间
|
|
EndTime time.Time `form:"end_time"` // 结束时间
|
|
}
|
|
|
|
// AdminOperationLogResponse 操作日志响应
|
|
type AdminOperationLogResponse struct {
|
|
Total int64 `json:"total"` // 总数
|
|
Page int `json:"page"` // 当前页
|
|
Size int `json:"size"` // 每页数量
|
|
Logs []AdminOperationLogInfo `json:"logs"` // 日志列表
|
|
}
|
|
|
|
// AdminOperationLogInfo 操作日志信息
|
|
type AdminOperationLogInfo struct {
|
|
ID string `json:"id"` // 日志ID
|
|
AdminID string `json:"admin_id"` // 管理员ID
|
|
Username string `json:"username"` // 用户名
|
|
Action string `json:"action"` // 操作类型
|
|
Resource string `json:"resource"` // 操作资源
|
|
ResourceID string `json:"resource_id"` // 资源ID
|
|
Details string `json:"details"` // 操作详情
|
|
IP string `json:"ip"` // IP地址
|
|
UserAgent string `json:"user_agent"` // 用户代理
|
|
Status string `json:"status"` // 操作状态
|
|
Message string `json:"message"` // 操作消息
|
|
CreatedAt time.Time `json:"created_at"` // 创建时间
|
|
}
|
|
|
|
// AdminLoginLogRequest 登录日志请求
|
|
type AdminLoginLogRequest struct {
|
|
Page int `form:"page" binding:"min=1"` // 页码
|
|
PageSize int `form:"page_size" binding:"min=1,max=100"` // 每页数量
|
|
AdminID string `form:"admin_id"` // 管理员ID
|
|
Username string `form:"username"` // 用户名
|
|
Status string `form:"status"` // 登录状态
|
|
StartTime time.Time `form:"start_time"` // 开始时间
|
|
EndTime time.Time `form:"end_time"` // 结束时间
|
|
}
|
|
|
|
// AdminLoginLogResponse 登录日志响应
|
|
type AdminLoginLogResponse struct {
|
|
Total int64 `json:"total"` // 总数
|
|
Page int `json:"page"` // 当前页
|
|
Size int `json:"size"` // 每页数量
|
|
Logs []AdminLoginLogInfo `json:"logs"` // 日志列表
|
|
}
|
|
|
|
// AdminLoginLogInfo 登录日志信息
|
|
type AdminLoginLogInfo struct {
|
|
ID string `json:"id"` // 日志ID
|
|
AdminID string `json:"admin_id"` // 管理员ID
|
|
Username string `json:"username"` // 用户名
|
|
IP string `json:"ip"` // IP地址
|
|
UserAgent string `json:"user_agent"` // 用户代理
|
|
Status string `json:"status"` // 登录状态
|
|
Message string `json:"message"` // 登录消息
|
|
CreatedAt time.Time `json:"created_at"` // 创建时间
|
|
}
|
|
|
|
// PermissionInfo 权限信息
|
|
type PermissionInfo struct {
|
|
ID string `json:"id"` // 权限ID
|
|
Name string `json:"name"` // 权限名称
|
|
Code string `json:"code"` // 权限代码
|
|
Description string `json:"description"` // 权限描述
|
|
Module string `json:"module"` // 所属模块
|
|
IsActive bool `json:"is_active"` // 是否激活
|
|
CreatedAt time.Time `json:"created_at"` // 创建时间
|
|
}
|
|
|
|
// RolePermissionRequest 角色权限请求
|
|
type RolePermissionRequest struct {
|
|
Role entities.AdminRole `json:"role" binding:"required"` // 角色
|
|
PermissionIDs []string `json:"permission_ids" binding:"required"` // 权限ID列表
|
|
}
|
|
|
|
// RolePermissionResponse 角色权限响应
|
|
type RolePermissionResponse struct {
|
|
Role entities.AdminRole `json:"role"` // 角色
|
|
Permissions []PermissionInfo `json:"permissions"` // 权限列表
|
|
}
|