tenant: move admin member queries into service

This commit is contained in:
2025-12-18 18:03:32 +08:00
parent eedb940799
commit 462bde351d
8 changed files with 331 additions and 26 deletions

View File

@@ -1,8 +1,11 @@
package dto
import (
"strings"
"quyun/v2/app/requests"
"quyun/v2/database/models"
"quyun/v2/pkg/consts"
)
// AdminTenantUserJoinResponse 返回租户管理员添加成员后的结果。
@@ -23,4 +26,25 @@ type AdminTenantUserListFilter struct {
requests.Pagination `json:",inline" query:",inline"`
// UserID 按用户ID过滤可选
UserID *int64 `json:"user_id,omitempty" query:"user_id"`
// Role 按角色过滤可选member/tenant_admin。
Role *consts.TenantUserRole `json:"role,omitempty" query:"role"`
// Status 按成员状态过滤可选pending_verify/verified/banned。
Status *consts.UserStatus `json:"status,omitempty" query:"status"`
// Username 按用户名模糊查询(可选,支持包含匹配)。
Username *string `json:"username,omitempty" query:"username"`
}
// AdminTenantUserItem 为租户成员列表项(包含成员关系与用户基础信息)。
type AdminTenantUserItem struct {
// TenantUser 租户成员关系记录。
TenantUser *models.TenantUser `json:"tenant_user,omitempty"`
// User 用户基础信息(用于展示 username 等)。
User *models.User `json:"user,omitempty"`
}
func (f *AdminTenantUserListFilter) UsernameTrimmed() string {
if f == nil || f.Username == nil {
return ""
}
return strings.TrimSpace(*f.Username)
}