package dto import ( "strings" "time" "quyun/v2/app/requests" "quyun/v2/pkg/consts" ) // AdminTenantInviteCreateForm 租户管理员创建邀请码的请求参数。 type AdminTenantInviteCreateForm struct { // Code 邀请码(可选):为空时由后端生成;建议只包含数字/字母,便于人工输入。 Code string `json:"code"` // MaxUses 最大可使用次数(可选):0 表示不限次数;大于 0 时用尽后自动失效。 MaxUses *int `json:"max_uses"` // ExpiresAt 过期时间(可选):为空表示不过期;到期后不可再使用。 ExpiresAt *time.Time `json:"expires_at"` // Remark 备注(可选):用于审计记录生成目的/投放渠道等。 Remark string `json:"remark"` } // AdminTenantInviteDisableForm 租户管理员禁用邀请码的请求参数。 type AdminTenantInviteDisableForm struct { // Reason 禁用原因(可选):用于审计与追溯。 Reason string `json:"reason"` } // AdminTenantInviteListFilter 租户管理员分页查询邀请码列表的过滤条件。 type AdminTenantInviteListFilter struct { requests.Pagination // Status 按状态过滤(可选):active/disabled/expired。 Status *consts.TenantInviteStatus `query:"status" json:"status"` // Code 按邀请码模糊过滤(可选):支持部分匹配(like)。 Code *string `query:"code" json:"code"` } // CodeTrimmed 对 code 进行空白与大小写处理,便于统一查询。 func (f *AdminTenantInviteListFilter) CodeTrimmed() string { if f == nil || f.Code == nil { return "" } return strings.ToLower(strings.TrimSpace(*f.Code)) } // AdminTenantJoinRequestListFilter 租户管理员分页查询加入申请的过滤条件。 type AdminTenantJoinRequestListFilter struct { requests.Pagination // UserID 按申请人用户ID过滤(可选)。 UserID *int64 `query:"user_id" json:"user_id"` // Status 按申请状态过滤(可选):pending/approved/rejected。 Status *consts.TenantJoinRequestStatus `query:"status" json:"status"` } // AdminTenantJoinRequestDecideForm 租户管理员通过/拒绝加入申请的请求参数。 type AdminTenantJoinRequestDecideForm struct { // Reason 审核说明(可选):用于审计记录通过/拒绝原因。 Reason string `json:"reason"` }