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"` // 权限列表 }