{
    "swagger": "2.0",
    "info": {
        "description": "Multi-tenant media platform backend API.",
        "title": "ApiDoc",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "UserName",
            "url": "http://www.swagger.io/support",
            "email": "support@swagger.io"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0"
    },
    "host": "localhost:8080",
    "basePath": "/",
    "paths": {
        "/super/v1/auth/login": {
            "post": {
                "description": "Login",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Login",
                "parameters": [
                    {
                        "description": "Login form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse"
                        }
                    }
                }
            }
        },
        "/super/v1/auth/token": {
            "get": {
                "description": "Check token",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Check token",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.LoginResponse"
                        }
                    }
                }
            }
        },
        "/super/v1/contents": {
            "get": {
                "description": "List contents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "List contents",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.AdminContentItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/super/v1/orders": {
            "get": {
                "description": "List orders",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "List orders",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.SuperOrderItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/super/v1/orders/statistics": {
            "get": {
                "description": "Order statistics",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Order statistics",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderStatisticsResponse"
                        }
                    }
                }
            }
        },
        "/super/v1/orders/{id}": {
            "get": {
                "description": "Get order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Get order",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.SuperOrderDetail"
                        }
                    }
                }
            }
        },
        "/super/v1/orders/{id}/refund": {
            "post": {
                "description": "Refund order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Order"
                ],
                "summary": "Refund order",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Refund form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.SuperOrderRefundForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Refunded",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/tenants": {
            "get": {
                "description": "List tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "List tenants",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Name",
                        "name": "name",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.TenantItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "description": "Create tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Create tenant",
                "parameters": [
                    {
                        "description": "Create form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantCreateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/statuses": {
            "get": {
                "description": "Tenant statuses",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Tenant statuses",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/requests.KV"
                            }
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/{id}": {
            "get": {
                "description": "Get tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Get tenant",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.TenantItem"
                        }
                    }
                }
            },
            "patch": {
                "description": "Update tenant expire",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Update tenant expire",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantExpireUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/{id}/status": {
            "patch": {
                "description": "Update tenant status",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Update tenant status",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantStatusUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/{tenantID}/contents": {
            "get": {
                "description": "List contents by tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "List tenant contents",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "tenantID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.AdminContentItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/{tenantID}/contents/{contentID}/status": {
            "patch": {
                "description": "Update content status",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "Update content status",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "tenantID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "contentID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.SuperTenantContentStatusUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/tenants/{tenantID}/users": {
            "get": {
                "description": "List tenant users",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "List tenant users",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "tenantID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.SuperTenantUserItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/super/v1/users": {
            "get": {
                "description": "List users",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "List users",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Username",
                        "name": "username",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.UserItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/super/v1/users/statistics": {
            "get": {
                "description": "User statistics",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "User statistics",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.UserStatistics"
                            }
                        }
                    }
                }
            }
        },
        "/super/v1/users/statuses": {
            "get": {
                "description": "User statuses",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "User statuses",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/requests.KV"
                            }
                        }
                    }
                }
            }
        },
        "/super/v1/users/{id}": {
            "get": {
                "description": "Get user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Get user",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.UserItem"
                        }
                    }
                }
            }
        },
        "/super/v1/users/{id}/roles": {
            "patch": {
                "description": "Update user roles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Update user roles",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UserRolesUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/users/{id}/status": {
            "patch": {
                "description": "Update user status",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "Update user status",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UserStatusUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/super/v1/users/{id}/tenants": {
            "get": {
                "description": "List tenants joined by user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "List user tenants",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page size",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.UserTenantItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/auth/login": {
            "post": {
                "description": "Login or register user using phone number and OTP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Login or Register with OTP",
                "parameters": [
                    {
                        "description": "Login form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.LoginForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.LoginResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/auth/otp": {
            "post": {
                "description": "Send OTP to phone number",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auth"
                ],
                "summary": "Send OTP",
                "parameters": [
                    {
                        "description": "Phone number",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.SendOTPForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OTP sent",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/comments/{id}/like": {
            "post": {
                "description": "Like a comment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "Like comment",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Comment ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Liked",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/common/options": {
            "get": {
                "description": "Get global options (enums)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Get options",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OptionsResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/contents": {
            "get": {
                "description": "List contents with filtering and pagination",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "List contents",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search keyword",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Genre",
                        "name": "genre",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Filter by creator",
                        "name": "tenant_id",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "latest",
                            "hot",
                            "price_asc"
                        ],
                        "type": "string",
                        "description": "Sort order",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.ContentItem"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/contents/{id}": {
            "get": {
                "description": "Get content detail by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "Get content detail",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ContentDetail"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/contents/{id}/comments": {
            "get": {
                "description": "Get comments for a content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "Get comments",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.Comment"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "post": {
                "description": "Post a comment to a content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "Post comment",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Comment form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CommentCreateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Comment created",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/contents/{id}/favorite": {
            "post": {
                "tags": [
                    "Content"
                ],
                "summary": "Add favorite",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Favorited",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Content"
                ],
                "summary": "Remove favorite",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unfavorited",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/contents/{id}/like": {
            "post": {
                "tags": [
                    "Content"
                ],
                "summary": "Add like",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Liked",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Content"
                ],
                "summary": "Remove like",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unliked",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/apply": {
            "post": {
                "description": "Apply to become a creator",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Apply creator",
                "parameters": [
                    {
                        "description": "Apply form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ApplyForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Application submitted",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/contents": {
            "get": {
                "description": "List creator contents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "List contents",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Genre",
                        "name": "genre",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Keyword",
                        "name": "keyword",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ContentItem"
                            }
                        }
                    }
                }
            },
            "post": {
                "description": "Create/Publish content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Create content",
                "parameters": [
                    {
                        "description": "Content form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ContentCreateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Created",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/contents/{id}": {
            "get": {
                "description": "Get content details for edit",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Get content",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.ContentEditDTO"
                        }
                    }
                }
            },
            "put": {
                "description": "Update content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Update content",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.ContentUpdateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Delete content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Delete content",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/dashboard": {
            "get": {
                "description": "Get creator dashboard stats",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Dashboard stats",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.DashboardStats"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/members/invite": {
            "post": {
                "description": "Create an invite for tenant members",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Create member invite",
                "parameters": [
                    {
                        "description": "Invite form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantInviteCreateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.TenantInviteItem"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/members/{id}/review": {
            "post": {
                "description": "Approve or reject a tenant join request",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Review join request",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Join request ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Review form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantJoinReviewForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Reviewed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/orders": {
            "get": {
                "description": "List sales orders",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "List sales orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Keyword",
                        "name": "keyword",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.Order"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/orders/{id}/refund": {
            "post": {
                "description": "Process refund",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Process refund",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Refund form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RefundForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Processed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/payout-accounts": {
            "get": {
                "description": "List payout accounts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "List payout accounts",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.PayoutAccount"
                            }
                        }
                    }
                }
            },
            "post": {
                "description": "Add payout account",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Add payout account",
                "parameters": [
                    {
                        "description": "Account form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.PayoutAccount"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Added",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Remove payout account",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Remove payout account",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Account ID",
                        "name": "id",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Removed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/settings": {
            "get": {
                "description": "Get channel settings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Get settings",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.Settings"
                        }
                    }
                }
            },
            "put": {
                "description": "Update channel settings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Update settings",
                "parameters": [
                    {
                        "description": "Settings form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.Settings"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creator/withdraw": {
            "post": {
                "description": "Request withdrawal",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CreatorCenter"
                ],
                "summary": "Request withdrawal",
                "parameters": [
                    {
                        "description": "Withdraw form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.WithdrawForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Withdrawal requested",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/creators/{id}/contents": {
            "get": {
                "description": "List contents of a specific creator",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "List creator contents",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Creator User ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Page",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/requests.Pager"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me": {
            "get": {
                "description": "Get current user profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get user profile",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.User"
                        }
                    }
                }
            },
            "put": {
                "description": "Update user profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Update user profile",
                "parameters": [
                    {
                        "description": "Update form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UserUpdate"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/coupons": {
            "get": {
                "description": "List my coupons",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "List coupons",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status (unused, used, expired)",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.UserCouponItem"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/favorites": {
            "get": {
                "description": "Get favorites",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get favorites",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ContentItem"
                            }
                        }
                    }
                }
            },
            "post": {
                "description": "Add to favorites",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Add favorite",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "contentId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Added",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/favorites/{contentId}": {
            "delete": {
                "description": "Remove from favorites",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Remove favorite",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "contentId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Removed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/following": {
            "get": {
                "description": "Get following tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get following",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.TenantProfile"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/library": {
            "get": {
                "description": "Get purchased content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get library",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ContentItem"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/likes": {
            "get": {
                "description": "Get liked contents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get likes",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.ContentItem"
                            }
                        }
                    }
                }
            },
            "post": {
                "description": "Like content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Like content",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "contentId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Liked",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/likes/{contentId}": {
            "delete": {
                "description": "Unlike content",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Unlike content",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Content ID",
                        "name": "contentId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unliked",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/notifications": {
            "get": {
                "description": "Get notifications",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get notifications",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Type enum(all, system, order, audit, interaction)",
                        "name": "type",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/requests.Pager"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "items": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/dto.Notification"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/notifications/read-all": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Mark all as read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/notifications/{id}/read": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Mark as read",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Notification ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/orders": {
            "get": {
                "description": "List user orders",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "List orders",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Status enum(all, unpaid, completed, refund)",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.Order"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/orders/{id}": {
            "get": {
                "description": "Get user order detail",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get order detail",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.Order"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/realname": {
            "post": {
                "description": "Submit real-name authentication",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Realname auth",
                "parameters": [
                    {
                        "description": "Realname form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RealNameForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Submitted",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/wallet": {
            "get": {
                "description": "Get wallet balance and transactions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Get wallet",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.WalletResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/me/wallet/recharge": {
            "post": {
                "description": "Recharge wallet",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "UserCenter"
                ],
                "summary": "Recharge wallet",
                "parameters": [
                    {
                        "description": "Recharge form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.RechargeForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.RechargeResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/media-assets/{id}": {
            "delete": {
                "description": "Delete media asset",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Delete media asset",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Asset ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/orders": {
            "post": {
                "description": "Create Order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Transaction"
                ],
                "summary": "Create Order",
                "parameters": [
                    {
                        "description": "Create form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.OrderCreateForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderCreateResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/orders/{id}/pay": {
            "post": {
                "description": "Pay for order",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Transaction"
                ],
                "summary": "Pay for order",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Pay form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.OrderPayForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderPayResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/orders/{id}/status": {
            "get": {
                "description": "Check order payment status",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Transaction"
                ],
                "summary": "Check order status",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Order ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.OrderStatusResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/storage/{any}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/octet-stream"
                ],
                "tags": [
                    "Storage"
                ],
                "summary": "Download file",
                "parameters": [
                    {
                        "type": "string",
                        "description": "any path",
                        "name": "any",
                        "in": "path"
                    },
                    {
                        "type": "string",
                        "description": "Expiry",
                        "name": "expires",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Signature",
                        "name": "sign",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "file"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/octet-stream"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Storage"
                ],
                "summary": "Upload file",
                "parameters": [
                    {
                        "type": "string",
                        "description": "any path",
                        "name": "any",
                        "in": "path"
                    },
                    {
                        "type": "string",
                        "description": "Expiry",
                        "name": "expires",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Signature",
                        "name": "sign",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/tenants": {
            "get": {
                "description": "Search tenants",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "List tenants",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Keyword",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Page",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limit",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/requests.Pager"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/tenants/{id}": {
            "get": {
                "description": "Get tenant public profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Get tenant profile",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.TenantProfile"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/tenants/{id}/follow": {
            "post": {
                "description": "Follow a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Follow tenant",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Followed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Unfollow a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Unfollow tenant",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unfollowed",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/tenants/{id}/invites/accept": {
            "post": {
                "description": "Accept a tenant invite by code",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Accept tenant invite",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Invite form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantInviteAcceptForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Accepted",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/tenants/{id}/join": {
            "post": {
                "description": "Submit join request for a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Apply to join tenant",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Join form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.TenantJoinApplyForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Applied",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            },
            "delete": {
                "description": "Cancel join request for a tenant",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantPublic"
                ],
                "summary": "Cancel join request",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "Tenant ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Canceled",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/topics": {
            "get": {
                "description": "List curated topics",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Content"
                ],
                "summary": "List topics",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dto.Topic"
                            }
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload": {
            "post": {
                "description": "Upload file",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Upload file",
                "parameters": [
                    {
                        "type": "file",
                        "description": "File",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Type 上传资源类型（如 cover/media/avatar）。",
                        "name": "type",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.UploadResult"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload/check": {
            "get": {
                "description": "Check if file hash exists",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Check hash",
                "parameters": [
                    {
                        "type": "string",
                        "description": "File MD5 Hash",
                        "name": "hash",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.UploadResult"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload/complete": {
            "post": {
                "description": "Complete multipart upload",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Complete upload",
                "parameters": [
                    {
                        "description": "Complete form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UploadCompleteForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.UploadResult"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload/init": {
            "post": {
                "description": "Initialize multipart upload",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Init multipart upload",
                "parameters": [
                    {
                        "description": "Init form",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.UploadInitForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.UploadInitResponse"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload/part": {
            "post": {
                "description": "Upload a part",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Upload part",
                "parameters": [
                    {
                        "type": "file",
                        "description": "Part File",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "PartNumber 分片序号（从 1 开始）。",
                        "name": "part_number",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "description": "UploadID 分片上传ID。",
                        "name": "upload_id",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/upload/{uploadId}": {
            "delete": {
                "description": "Abort multipart upload",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Common"
                ],
                "summary": "Abort upload",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Upload ID",
                        "name": "uploadId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/t/{tenantCode}/v1/webhook/payment/notify": {
            "post": {
                "description": "Payment Webhook",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Transaction"
                ],
                "summary": "Payment Webhook",
                "parameters": [
                    {
                        "description": "Webhook Data",
                        "name": "form",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/v1.WebhookForm"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "consts.ContentStatus": {
            "type": "string",
            "enum": [
                "draft",
                "reviewing",
                "published",
                "unpublished",
                "blocked"
            ],
            "x-enum-varnames": [
                "ContentStatusDraft",
                "ContentStatusReviewing",
                "ContentStatusPublished",
                "ContentStatusUnpublished",
                "ContentStatusBlocked"
            ]
        },
        "consts.Currency": {
            "type": "string",
            "enum": [
                "CNY"
            ],
            "x-enum-varnames": [
                "CurrencyCNY"
            ]
        },
        "consts.Gender": {
            "type": "string",
            "enum": [
                "male",
                "female",
                "secret"
            ],
            "x-enum-varnames": [
                "GenderMale",
                "GenderFemale",
                "GenderSecret"
            ]
        },
        "consts.OrderStatus": {
            "type": "string",
            "enum": [
                "created",
                "paid",
                "refunding",
                "refunded",
                "canceled",
                "failed"
            ],
            "x-enum-varnames": [
                "OrderStatusCreated",
                "OrderStatusPaid",
                "OrderStatusRefunding",
                "OrderStatusRefunded",
                "OrderStatusCanceled",
                "OrderStatusFailed"
            ]
        },
        "consts.OrderType": {
            "type": "string",
            "enum": [
                "content_purchase",
                "recharge",
                "withdrawal"
            ],
            "x-enum-varnames": [
                "OrderTypeContentPurchase",
                "OrderTypeRecharge",
                "OrderTypeWithdrawal"
            ]
        },
        "consts.Role": {
            "type": "string",
            "enum": [
                "user",
                "super_admin",
                "creator"
            ],
            "x-enum-varnames": [
                "RoleUser",
                "RoleSuperAdmin",
                "RoleCreator"
            ]
        },
        "consts.TenantStatus": {
            "type": "string",
            "enum": [
                "pending_verify",
                "verified",
                "banned"
            ],
            "x-enum-varnames": [
                "TenantStatusPendingVerify",
                "TenantStatusVerified",
                "TenantStatusBanned"
            ]
        },
        "consts.TenantUserRole": {
            "type": "string",
            "enum": [
                "member",
                "tenant_admin"
            ],
            "x-enum-varnames": [
                "TenantUserRoleMember",
                "TenantUserRoleTenantAdmin"
            ]
        },
        "consts.UserStatus": {
            "type": "string",
            "enum": [
                "active",
                "inactive",
                "pending_verify",
                "verified",
                "banned"
            ],
            "x-enum-varnames": [
                "UserStatusActive",
                "UserStatusInactive",
                "UserStatusPendingVerify",
                "UserStatusVerified",
                "UserStatusBanned"
            ]
        },
        "dto.AdminContentItem": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "Content 内容摘要信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.ContentItem"
                        }
                    ]
                },
                "owner": {
                    "description": "Owner 内容作者用户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.AdminContentOwnerLite"
                        }
                    ]
                },
                "price": {
                    "description": "Price 内容价格信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.ContentPrice"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                },
                "tenant": {
                    "description": "Tenant 内容所属租户信息，用于超管列表展示与跳转。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.SuperContentTenantLite"
                        }
                    ]
                },
                "visibility_description": {
                    "description": "VisibilityDescription 可见性描述（用于展示）。",
                    "type": "string"
                }
            }
        },
        "dto.AdminContentOwnerLite": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "roles": {
                    "description": "Roles 用户角色列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/consts.Role"
                    }
                },
                "status": {
                    "description": "Status 用户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "username": {
                    "description": "Username 用户名。",
                    "type": "string"
                }
            }
        },
        "dto.ApplyForm": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "bio": {
                    "description": "Bio 频道简介。",
                    "type": "string"
                },
                "name": {
                    "description": "Name 频道/创作者名称。",
                    "type": "string"
                }
            }
        },
        "dto.AssetDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "ID 资源ID。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 文件名。",
                    "type": "string"
                },
                "role": {
                    "description": "Role 资源角色（cover/media/preview）。",
                    "type": "string"
                },
                "size": {
                    "description": "Size 文件大小描述。",
                    "type": "string"
                },
                "sort": {
                    "description": "Sort 排序权重。",
                    "type": "integer"
                },
                "type": {
                    "description": "Type 资源类型（image/audio/video）。",
                    "type": "string"
                },
                "url": {
                    "description": "URL 资源访问地址。",
                    "type": "string"
                }
            }
        },
        "dto.Comment": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "Content 评论内容。",
                    "type": "string"
                },
                "create_time": {
                    "description": "CreateTime 评论创建时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 评论ID。",
                    "type": "integer"
                },
                "is_liked": {
                    "description": "IsLiked 当前用户是否点赞该评论。",
                    "type": "boolean"
                },
                "likes": {
                    "description": "Likes 评论点赞数。",
                    "type": "integer"
                },
                "reply_to": {
                    "description": "ReplyTo 回复的评论ID（0 表示一级评论）。",
                    "type": "integer"
                },
                "user_avatar": {
                    "description": "UserAvatar 评论用户头像。",
                    "type": "string"
                },
                "user_id": {
                    "description": "UserID 评论用户ID。",
                    "type": "integer"
                },
                "user_nickname": {
                    "description": "UserNickname 评论用户昵称。",
                    "type": "string"
                }
            }
        },
        "dto.CommentCreateForm": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "Content 评论正文，不能为空。",
                    "type": "string"
                },
                "reply_to": {
                    "description": "ReplyTo 被回复评论ID（0 表示一级评论）。",
                    "type": "integer"
                }
            }
        },
        "dto.ContentCreateForm": {
            "type": "object",
            "properties": {
                "cover_ids": {
                    "description": "CoverIDs 封面资源ID集合。",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "genre": {
                    "description": "Genre 内容分类/风格。",
                    "type": "string"
                },
                "key": {
                    "description": "Key 音乐调性或主音。",
                    "type": "string"
                },
                "media_ids": {
                    "description": "MediaIDs 媒体资源ID集合（音频/视频/图片）。",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "price": {
                    "description": "Price 价格（单位元）。",
                    "type": "number"
                },
                "status": {
                    "description": "Status 内容状态（draft/published）。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 内容标题。",
                    "type": "string"
                }
            }
        },
        "dto.ContentDetail": {
            "type": "object",
            "properties": {
                "author_avatar": {
                    "description": "AuthorAvatar 作者头像URL。",
                    "type": "string"
                },
                "author_id": {
                    "description": "AuthorID 作者用户ID。",
                    "type": "integer"
                },
                "author_is_following": {
                    "description": "AuthorIsFollowing 当前用户是否关注作者（未登录默认 false）。",
                    "type": "boolean"
                },
                "author_name": {
                    "description": "AuthorName 作者展示名（优先昵称）。",
                    "type": "string"
                },
                "body": {
                    "description": "Body 详细正文/图文内容（文章类可为空）。",
                    "type": "string"
                },
                "cover": {
                    "description": "Cover 封面URL（无封面时为空）。",
                    "type": "string"
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339 格式）。",
                    "type": "string"
                },
                "description": {
                    "description": "Description 内容描述（用于详情页摘要）。",
                    "type": "string"
                },
                "genre": {
                    "description": "Genre 内容分类/风格标签。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 内容唯一ID。",
                    "type": "integer"
                },
                "is_favorited": {
                    "description": "IsFavorited 当前用户是否收藏。",
                    "type": "boolean"
                },
                "is_liked": {
                    "description": "IsLiked 当前用户是否点赞。",
                    "type": "boolean"
                },
                "is_purchased": {
                    "description": "IsPurchased 是否已购买（用于内容列表快速判断）。",
                    "type": "boolean"
                },
                "likes": {
                    "description": "Likes 点赞数统计。",
                    "type": "integer"
                },
                "media_urls": {
                    "description": "MediaUrls 关联媒体资源（音频/视频/预览）。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.MediaURL"
                    }
                },
                "meta": {
                    "description": "Meta 内容元信息（曲风/调性/节拍等）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.Meta"
                        }
                    ]
                },
                "price": {
                    "description": "Price 价格（单位元，免费为 0）。",
                    "type": "number"
                },
                "published_at": {
                    "description": "PublishedAt 发布时间，未发布为空。",
                    "type": "string"
                },
                "status": {
                    "description": "Status 内容状态（如 published/unpublished）。",
                    "type": "string"
                },
                "tenant_id": {
                    "description": "TenantID 内容所属租户ID。",
                    "type": "integer"
                },
                "title": {
                    "description": "Title 内容标题。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 内容媒体类型（video/audio/article）。",
                    "type": "string"
                },
                "user_id": {
                    "description": "UserID 内容作者用户ID（与 author_id 同义，便于后台展示）。",
                    "type": "integer"
                },
                "views": {
                    "description": "Views 浏览量统计。",
                    "type": "integer"
                },
                "visibility": {
                    "description": "Visibility 内容可见性（如 public/tenant_only/private）。",
                    "type": "string"
                }
            }
        },
        "dto.ContentEditDTO": {
            "type": "object",
            "properties": {
                "assets": {
                    "description": "Assets 资源列表（封面/媒体）。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AssetDTO"
                    }
                },
                "description": {
                    "description": "Description 内容简介。",
                    "type": "string"
                },
                "enable_trial": {
                    "description": "EnableTrial 是否开启试读/试听。",
                    "type": "boolean"
                },
                "genre": {
                    "description": "Genre 内容分类。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 内容ID。",
                    "type": "integer"
                },
                "key": {
                    "description": "Key 音乐调性或主音。",
                    "type": "string"
                },
                "preview_seconds": {
                    "description": "PreviewSeconds 试看/试听秒数。",
                    "type": "integer"
                },
                "price": {
                    "description": "Price 价格（单位元）。",
                    "type": "number"
                },
                "status": {
                    "description": "Status 内容状态。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 内容标题。",
                    "type": "string"
                }
            }
        },
        "dto.ContentItem": {
            "type": "object",
            "properties": {
                "author_avatar": {
                    "description": "AuthorAvatar 作者头像URL。",
                    "type": "string"
                },
                "author_id": {
                    "description": "AuthorID 作者用户ID。",
                    "type": "integer"
                },
                "author_is_following": {
                    "description": "AuthorIsFollowing 当前用户是否关注作者（未登录默认 false）。",
                    "type": "boolean"
                },
                "author_name": {
                    "description": "AuthorName 作者展示名（优先昵称）。",
                    "type": "string"
                },
                "cover": {
                    "description": "Cover 封面URL（无封面时为空）。",
                    "type": "string"
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339 格式）。",
                    "type": "string"
                },
                "genre": {
                    "description": "Genre 内容分类/风格标签。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 内容唯一ID。",
                    "type": "integer"
                },
                "is_purchased": {
                    "description": "IsPurchased 是否已购买（用于内容列表快速判断）。",
                    "type": "boolean"
                },
                "likes": {
                    "description": "Likes 点赞数统计。",
                    "type": "integer"
                },
                "price": {
                    "description": "Price 价格（单位元，免费为 0）。",
                    "type": "number"
                },
                "published_at": {
                    "description": "PublishedAt 发布时间，未发布为空。",
                    "type": "string"
                },
                "status": {
                    "description": "Status 内容状态（如 published/unpublished）。",
                    "type": "string"
                },
                "tenant_id": {
                    "description": "TenantID 内容所属租户ID。",
                    "type": "integer"
                },
                "title": {
                    "description": "Title 内容标题。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 内容媒体类型（video/audio/article）。",
                    "type": "string"
                },
                "user_id": {
                    "description": "UserID 内容作者用户ID（与 author_id 同义，便于后台展示）。",
                    "type": "integer"
                },
                "views": {
                    "description": "Views 浏览量统计。",
                    "type": "integer"
                },
                "visibility": {
                    "description": "Visibility 内容可见性（如 public/tenant_only/private）。",
                    "type": "string"
                }
            }
        },
        "dto.ContentPrice": {
            "type": "object",
            "properties": {
                "currency": {
                    "description": "Currency 币种（CNY 等）。",
                    "type": "string"
                },
                "discount_end_at": {
                    "description": "DiscountEndAt 折扣结束时间（RFC3339）。",
                    "type": "string"
                },
                "discount_start_at": {
                    "description": "DiscountStartAt 折扣开始时间（RFC3339）。",
                    "type": "string"
                },
                "discount_type": {
                    "description": "DiscountType 折扣类型（amount/percent）。",
                    "type": "string"
                },
                "discount_value": {
                    "description": "DiscountValue 折扣值（amount=元，percent=百分比）。",
                    "type": "number"
                },
                "price_amount": {
                    "description": "PriceAmount 原价金额（单位元）。",
                    "type": "number"
                }
            }
        },
        "dto.ContentUpdateForm": {
            "type": "object",
            "properties": {
                "cover_ids": {
                    "description": "CoverIDs 封面资源ID集合。",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "genre": {
                    "description": "Genre 内容分类/风格。",
                    "type": "string"
                },
                "is_pinned": {
                    "description": "IsPinned 是否置顶。",
                    "type": "boolean"
                },
                "key": {
                    "description": "Key 音乐调性或主音。",
                    "type": "string"
                },
                "media_ids": {
                    "description": "MediaIDs 媒体资源ID集合。",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "price": {
                    "description": "Price 价格（单位元，nil 表示不修改）。",
                    "type": "number"
                },
                "status": {
                    "description": "Status 内容状态（draft/published）。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 内容标题（为空表示不修改）。",
                    "type": "string"
                }
            }
        },
        "dto.DashboardStats": {
            "type": "object",
            "properties": {
                "new_messages": {
                    "description": "NewMessages 新消息数量。",
                    "type": "integer"
                },
                "pending_refunds": {
                    "description": "PendingRefunds 待处理退款数量。",
                    "type": "integer"
                },
                "total_followers": {
                    "description": "TotalFollowers 粉丝总数统计。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.IntStatItem"
                        }
                    ]
                },
                "total_revenue": {
                    "description": "TotalRevenue 累计收入统计（单位元）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.FloatStatItem"
                        }
                    ]
                }
            }
        },
        "dto.FloatStatItem": {
            "type": "object",
            "properties": {
                "trend": {
                    "description": "Trend 环比/同比变化比例。",
                    "type": "number"
                },
                "value": {
                    "description": "Value 统计数值（浮点）。",
                    "type": "number"
                }
            }
        },
        "dto.IntStatItem": {
            "type": "object",
            "properties": {
                "trend": {
                    "description": "Trend 环比/同比变化比例。",
                    "type": "number"
                },
                "value": {
                    "description": "Value 统计数值。",
                    "type": "integer"
                }
            }
        },
        "dto.MediaURL": {
            "type": "object",
            "properties": {
                "duration": {
                    "description": "Duration 媒体时长（秒），无时长则为 0。",
                    "type": "integer"
                },
                "type": {
                    "description": "Type 媒体类型（audio/video/image/preview）。",
                    "type": "string"
                },
                "url": {
                    "description": "URL 媒体资源地址。",
                    "type": "string"
                }
            }
        },
        "dto.Meta": {
            "type": "object",
            "properties": {
                "beat": {
                    "description": "Beat 节拍信息（如 4/4）。",
                    "type": "string"
                },
                "key": {
                    "description": "Key 音乐调性或主音。",
                    "type": "string"
                },
                "role": {
                    "description": "Role 内容角色/定位（如 demo/主稿）。",
                    "type": "string"
                }
            }
        },
        "dto.Notification": {
            "type": "object",
            "properties": {
                "content": {
                    "description": "Content 通知内容。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 通知ID。",
                    "type": "integer"
                },
                "read": {
                    "description": "Read 是否已读。",
                    "type": "boolean"
                },
                "time": {
                    "description": "Time 发送时间（RFC3339）。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 通知标题。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 通知类型（system/order/interaction）。",
                    "type": "string"
                }
            }
        },
        "dto.OptionsResponse": {
            "type": "object",
            "properties": {
                "content_genre": {
                    "description": "ContentGenre 内容类型/分类选项。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.KV"
                    }
                },
                "content_status": {
                    "description": "ContentStatus 内容状态选项。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.KV"
                    }
                }
            }
        },
        "dto.Order": {
            "type": "object",
            "properties": {
                "amount": {
                    "description": "Amount 实付金额（单位元）。",
                    "type": "number"
                },
                "buyer_avatar": {
                    "description": "BuyerAvatar 买家头像URL。",
                    "type": "string"
                },
                "buyer_name": {
                    "description": "BuyerName 买家昵称。",
                    "type": "string"
                },
                "cover": {
                    "description": "Cover 订单封面图。",
                    "type": "string"
                },
                "create_time": {
                    "description": "CreateTime 创建时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 订单ID。",
                    "type": "integer"
                },
                "is_virtual": {
                    "description": "IsVirtual 是否虚拟订单。",
                    "type": "boolean"
                },
                "items": {
                    "description": "Items 订单内容明细。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.ContentItem"
                    }
                },
                "pay_time": {
                    "description": "PayTime 支付时间（RFC3339）。",
                    "type": "string"
                },
                "quantity": {
                    "description": "Quantity 内容数量。",
                    "type": "integer"
                },
                "status": {
                    "description": "Status 订单状态。",
                    "type": "string"
                },
                "status_description": {
                    "description": "StatusDescription 订单状态描述。",
                    "type": "string"
                },
                "tenant_id": {
                    "description": "TenantID 内容所属租户ID。",
                    "type": "integer"
                },
                "tenant_name": {
                    "description": "TenantName 租户名称。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 订单标题（用于列表展示）。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 订单类型（内容购买/充值等）。",
                    "type": "string"
                },
                "type_description": {
                    "description": "TypeDescription 订单类型描述。",
                    "type": "string"
                }
            }
        },
        "dto.OrderBuyerLite": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "ID 买家用户ID。",
                    "type": "integer"
                },
                "username": {
                    "description": "Username 买家用户名。",
                    "type": "string"
                }
            }
        },
        "dto.OrderCreateForm": {
            "type": "object",
            "properties": {
                "content_id": {
                    "description": "ContentID 内容ID。",
                    "type": "integer"
                },
                "idempotency_key": {
                    "description": "IdempotencyKey 幂等键（同一业务请求需保持一致）。",
                    "type": "string"
                },
                "quantity": {
                    "description": "Quantity 购买数量（默认 1）。",
                    "type": "integer"
                },
                "sku": {
                    "description": "Sku 规格标识（可选）。",
                    "type": "string"
                },
                "user_coupon_id": {
                    "description": "UserCouponID 用户券ID（可选）。",
                    "type": "integer"
                }
            }
        },
        "dto.OrderCreateResponse": {
            "type": "object",
            "properties": {
                "order_id": {
                    "description": "OrderID 创建成功的订单ID。",
                    "type": "integer"
                }
            }
        },
        "dto.OrderPayForm": {
            "type": "object",
            "properties": {
                "method": {
                    "description": "Method 支付方式（wechat/alipay/balance）。",
                    "type": "string"
                }
            }
        },
        "dto.OrderPayResponse": {
            "type": "object",
            "properties": {
                "pay_params": {
                    "description": "PayParams 支付参数（透传给前端）。",
                    "type": "string"
                }
            }
        },
        "dto.OrderStatisticsResponse": {
            "type": "object",
            "properties": {
                "by_status": {
                    "description": "ByStatus 按状态聚合统计。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.OrderStatisticsRow"
                    }
                },
                "total_amount_paid_sum": {
                    "description": "TotalAmountPaidSum 实付总额（分）。",
                    "type": "integer"
                },
                "total_count": {
                    "description": "TotalCount 订单总数。",
                    "type": "integer"
                }
            }
        },
        "dto.OrderStatisticsRow": {
            "type": "object",
            "properties": {
                "amount_paid_sum": {
                    "description": "AmountPaidSum 该状态实付总额（分）。",
                    "type": "integer"
                },
                "count": {
                    "description": "Count 该状态订单数量。",
                    "type": "integer"
                },
                "status": {
                    "description": "Status 订单状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.OrderStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                }
            }
        },
        "dto.OrderStatusResponse": {
            "type": "object",
            "properties": {
                "status": {
                    "description": "Status 订单状态（unpaid/paid/completed 等）。",
                    "type": "string"
                }
            }
        },
        "dto.OrderTenantLite": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Code 租户编码。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 租户ID。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string"
                }
            }
        },
        "dto.PayoutAccount": {
            "type": "object",
            "properties": {
                "account": {
                    "description": "Account 收款账号。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 收款账户ID。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 账户名称/开户行。",
                    "type": "string"
                },
                "realname": {
                    "description": "Realname 收款人姓名。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 账户类型（bank/alipay）。",
                    "type": "string"
                }
            }
        },
        "dto.RealNameForm": {
            "type": "object",
            "properties": {
                "id_card": {
                    "description": "IDCard 身份证号。",
                    "type": "string"
                },
                "realname": {
                    "description": "Realname 真实姓名。",
                    "type": "string"
                }
            }
        },
        "dto.RechargeForm": {
            "type": "object",
            "properties": {
                "amount": {
                    "description": "Amount 充值金额（单位元）。",
                    "type": "number"
                },
                "method": {
                    "description": "Method 充值方式（wechat/alipay）。",
                    "type": "string"
                }
            }
        },
        "dto.RechargeResponse": {
            "type": "object",
            "properties": {
                "order_id": {
                    "description": "OrderID 充值订单ID。",
                    "type": "integer"
                },
                "pay_params": {
                    "description": "PayParams 支付参数（透传给前端）。",
                    "type": "string"
                }
            }
        },
        "dto.RefundForm": {
            "type": "object",
            "properties": {
                "action": {
                    "description": "Action 处理动作（accept/reject）。",
                    "type": "string"
                },
                "reason": {
                    "description": "Reason 退款原因/备注。",
                    "type": "string"
                }
            }
        },
        "dto.Settings": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "bio": {
                    "description": "Bio 频道简介。",
                    "type": "string"
                },
                "cover": {
                    "description": "Cover 封面图URL。",
                    "type": "string"
                },
                "description": {
                    "description": "Description 详细描述。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 租户/频道ID。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 频道名称。",
                    "type": "string"
                }
            }
        },
        "dto.Stats": {
            "type": "object",
            "properties": {
                "contents": {
                    "description": "Contents 内容数。",
                    "type": "integer"
                },
                "followers": {
                    "description": "Followers 粉丝数。",
                    "type": "integer"
                },
                "likes": {
                    "description": "Likes 累计点赞数。",
                    "type": "integer"
                }
            }
        },
        "dto.SuperContentTenantLite": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Code 租户编码。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 租户ID。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string"
                }
            }
        },
        "dto.SuperOrderDetail": {
            "type": "object",
            "properties": {
                "buyer": {
                    "description": "Buyer 订单买家信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.OrderBuyerLite"
                        }
                    ]
                },
                "order": {
                    "description": "Order 订单详细信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.SuperOrderItem"
                        }
                    ]
                },
                "tenant": {
                    "description": "Tenant 订单所属租户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.OrderTenantLite"
                        }
                    ]
                }
            }
        },
        "dto.SuperOrderItem": {
            "type": "object",
            "properties": {
                "amount_discount": {
                    "description": "AmountDiscount 优惠金额（分）。",
                    "type": "integer"
                },
                "amount_original": {
                    "description": "AmountOriginal 原价金额（分）。",
                    "type": "integer"
                },
                "amount_paid": {
                    "description": "AmountPaid 实付金额（分）。",
                    "type": "integer"
                },
                "buyer": {
                    "description": "Buyer 订单买家信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.OrderBuyerLite"
                        }
                    ]
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "currency": {
                    "description": "Currency 币种。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.Currency"
                        }
                    ]
                },
                "id": {
                    "description": "ID 订单ID。",
                    "type": "integer"
                },
                "items": {
                    "description": "Items 订单明细行，用于展示具体内容与金额拆分。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SuperOrderItemLine"
                    }
                },
                "paid_at": {
                    "description": "PaidAt 支付时间（RFC3339）。",
                    "type": "string"
                },
                "refunded_at": {
                    "description": "RefundedAt 退款时间（RFC3339）。",
                    "type": "string"
                },
                "snapshot": {
                    "description": "Snapshot 订单快照，包含下单时的关键参数与定价信息，便于审计回溯。"
                },
                "status": {
                    "description": "Status 订单状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.OrderStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                },
                "tenant": {
                    "description": "Tenant 订单所属租户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.OrderTenantLite"
                        }
                    ]
                },
                "type": {
                    "description": "Type 订单类型。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.OrderType"
                        }
                    ]
                },
                "updated_at": {
                    "description": "UpdatedAt 更新时间（RFC3339）。",
                    "type": "string"
                }
            }
        },
        "dto.SuperOrderItemLine": {
            "type": "object",
            "properties": {
                "amount_paid": {
                    "description": "AmountPaid 该明细实付金额（分）。",
                    "type": "integer"
                },
                "content_id": {
                    "description": "ContentID 购买的内容ID。",
                    "type": "integer"
                },
                "id": {
                    "description": "ID 订单明细ID。",
                    "type": "integer"
                },
                "snapshot": {
                    "description": "Snapshot 明细快照，用于展示内容标题等历史信息。"
                }
            }
        },
        "dto.SuperOrderRefundForm": {
            "type": "object",
            "properties": {
                "force": {
                    "description": "Force 是否强制退款（忽略部分约束）。",
                    "type": "boolean"
                },
                "idempotency_key": {
                    "description": "IdempotencyKey 幂等键（防止重复提交）。",
                    "type": "string"
                },
                "reason": {
                    "description": "Reason 退款原因说明。",
                    "type": "string"
                }
            }
        },
        "dto.SuperTenantContentStatusUpdateForm": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Status 目标内容状态。",
                    "enum": [
                        "unpublished",
                        "blocked"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.ContentStatus"
                        }
                    ]
                }
            }
        },
        "dto.SuperTenantUserItem": {
            "type": "object",
            "properties": {
                "tenant_user": {
                    "description": "TenantUser 租户成员关系信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.TenantUser"
                        }
                    ]
                },
                "user": {
                    "description": "User 用户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.SuperUserLite"
                        }
                    ]
                }
            }
        },
        "dto.SuperUserLite": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "roles": {
                    "description": "Roles 用户角色列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/consts.Role"
                    }
                },
                "status": {
                    "description": "Status 用户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                },
                "updated_at": {
                    "description": "UpdatedAt 更新时间（RFC3339）。",
                    "type": "string"
                },
                "username": {
                    "description": "Username 用户名（用于识别/展示）。",
                    "type": "string"
                },
                "verified_at": {
                    "description": "VerifiedAt 实名认证时间（RFC3339）。",
                    "type": "string"
                }
            }
        },
        "dto.TenantAdminUserLite": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "username": {
                    "description": "Username 用户名。",
                    "type": "string"
                }
            }
        },
        "dto.TenantCreateForm": {
            "type": "object",
            "required": [
                "admin_user_id",
                "code",
                "duration",
                "name"
            ],
            "properties": {
                "admin_user_id": {
                    "description": "AdminUserID 租户管理员用户ID。",
                    "type": "integer"
                },
                "code": {
                    "description": "Code 租户编码（唯一）。",
                    "type": "string",
                    "maxLength": 64
                },
                "duration": {
                    "description": "Duration 租户有效期（天）。",
                    "type": "integer",
                    "enum": [
                        7,
                        30,
                        90,
                        180,
                        365
                    ]
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string",
                    "maxLength": 128
                }
            }
        },
        "dto.TenantExpireUpdateForm": {
            "type": "object",
            "required": [
                "duration"
            ],
            "properties": {
                "duration": {
                    "description": "Duration 延长有效期（天）。",
                    "type": "integer",
                    "enum": [
                        7,
                        30,
                        90,
                        180,
                        365
                    ]
                }
            }
        },
        "dto.TenantInviteAcceptForm": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Code 邀请码（必填）。",
                    "type": "string"
                }
            }
        },
        "dto.TenantInviteCreateForm": {
            "type": "object",
            "properties": {
                "expires_at": {
                    "description": "ExpiresAt 过期时间（RFC3339，可选，空值使用默认过期时间）。",
                    "type": "string"
                },
                "max_uses": {
                    "description": "MaxUses 最大可使用次数（\u003c=0 默认 1）。",
                    "type": "integer"
                },
                "remark": {
                    "description": "Remark 备注说明（可选）。",
                    "type": "string"
                }
            }
        },
        "dto.TenantInviteItem": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Code 邀请码。",
                    "type": "string"
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "expires_at": {
                    "description": "ExpiresAt 过期时间（RFC3339，空字符串表示不限制）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 邀请记录ID。",
                    "type": "integer"
                },
                "max_uses": {
                    "description": "MaxUses 最大可使用次数。",
                    "type": "integer"
                },
                "remark": {
                    "description": "Remark 备注说明。",
                    "type": "string"
                },
                "status": {
                    "description": "Status 邀请状态（active/disabled/expired）。",
                    "type": "string"
                },
                "used_count": {
                    "description": "UsedCount 已使用次数。",
                    "type": "integer"
                }
            }
        },
        "dto.TenantItem": {
            "type": "object",
            "properties": {
                "admin_users": {
                    "description": "AdminUsers 租户管理员列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.TenantAdminUserLite"
                    }
                },
                "code": {
                    "description": "Code 租户编码。",
                    "type": "string"
                },
                "config": {
                    "description": "Config 租户配置项（占位/需要结构化时替换）。",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "expired_at": {
                    "description": "ExpiredAt 租户过期时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 租户ID。",
                    "type": "integer"
                },
                "income_amount_paid_sum": {
                    "description": "IncomeAmountPaidSum 累计实收金额（分）。",
                    "type": "integer"
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string"
                },
                "owner": {
                    "description": "Owner 租户所有者信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.TenantOwnerUserLite"
                        }
                    ]
                },
                "status": {
                    "description": "Status 租户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.TenantStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 租户状态描述。",
                    "type": "string"
                },
                "updated_at": {
                    "description": "UpdatedAt 更新时间（RFC3339）。",
                    "type": "string"
                },
                "user_count": {
                    "description": "UserCount 租户成员数量。",
                    "type": "integer"
                },
                "user_id": {
                    "description": "UserID 创建者用户ID。",
                    "type": "integer"
                },
                "users": {
                    "description": "Users 租户成员列表（用于详情展示）。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.SuperUserLite"
                    }
                },
                "uuid": {
                    "description": "UUID 租户UUID。",
                    "type": "string"
                }
            }
        },
        "dto.TenantJoinApplyForm": {
            "type": "object",
            "properties": {
                "reason": {
                    "description": "Reason 申请加入原因（可选，空值会使用默认文案）。",
                    "type": "string"
                }
            }
        },
        "dto.TenantJoinReviewForm": {
            "type": "object",
            "properties": {
                "action": {
                    "description": "Action 审核动作（approve/reject）。",
                    "type": "string"
                },
                "reason": {
                    "description": "Reason 审核说明（可选，用于展示驳回原因或备注）。",
                    "type": "string"
                }
            }
        },
        "dto.TenantOwnerUserLite": {
            "type": "object",
            "properties": {
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "username": {
                    "description": "Username 用户名。",
                    "type": "string"
                }
            }
        },
        "dto.TenantProfile": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "bio": {
                    "description": "Bio 简短简介。",
                    "type": "string"
                },
                "cert_type": {
                    "description": "CertType 认证类型（personal/enterprise）。",
                    "type": "string"
                },
                "cover": {
                    "description": "Cover 封面图URL。",
                    "type": "string"
                },
                "description": {
                    "description": "Description 详细描述。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 租户ID。",
                    "type": "integer"
                },
                "is_following": {
                    "description": "IsFollowing 当前用户是否关注。",
                    "type": "boolean"
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string"
                },
                "stats": {
                    "description": "Stats 统计信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.Stats"
                        }
                    ]
                }
            }
        },
        "dto.TenantStatusUpdateForm": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Status 目标租户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.TenantStatus"
                        }
                    ]
                }
            }
        },
        "dto.TenantUser": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 成员记录ID。",
                    "type": "integer"
                },
                "role": {
                    "description": "Role 成员角色列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/consts.TenantUserRole"
                    }
                },
                "status": {
                    "description": "Status 成员状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "tenant_id": {
                    "description": "TenantID 租户ID。",
                    "type": "integer"
                },
                "updated_at": {
                    "description": "UpdatedAt 更新时间（RFC3339）。",
                    "type": "string"
                },
                "user_id": {
                    "description": "UserID 用户ID。",
                    "type": "integer"
                }
            }
        },
        "dto.Topic": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Count 专题内内容数量。",
                    "type": "integer"
                },
                "cover": {
                    "description": "Cover 专题封面图。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 专题ID。",
                    "type": "integer"
                },
                "tag": {
                    "description": "Tag 专题标签（用于筛选/展示）。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 专题标题。",
                    "type": "string"
                }
            }
        },
        "dto.Transaction": {
            "type": "object",
            "properties": {
                "amount": {
                    "description": "Amount 发生金额（单位元）。",
                    "type": "number"
                },
                "date": {
                    "description": "Date 发生时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 流水ID。",
                    "type": "integer"
                },
                "title": {
                    "description": "Title 流水标题/描述。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 流水类型（income/expense）。",
                    "type": "string"
                }
            }
        },
        "dto.UploadCompleteForm": {
            "type": "object",
            "properties": {
                "upload_id": {
                    "description": "UploadID 分片上传ID。",
                    "type": "string"
                }
            }
        },
        "dto.UploadInitForm": {
            "type": "object",
            "properties": {
                "filename": {
                    "description": "Filename 原始文件名。",
                    "type": "string"
                },
                "hash": {
                    "description": "Hash 文件 MD5 哈希（用于秒传校验）。",
                    "type": "string"
                },
                "mime_type": {
                    "description": "MimeType 文件类型（如 image/png）。",
                    "type": "string"
                },
                "size": {
                    "description": "Size 文件大小（字节）。",
                    "type": "integer"
                },
                "type": {
                    "description": "Type 业务类型（如 cover/media/avatar）。",
                    "type": "string"
                }
            }
        },
        "dto.UploadInitResponse": {
            "type": "object",
            "properties": {
                "chunk_size": {
                    "description": "ChunkSize 分片大小（字节）。",
                    "type": "integer"
                },
                "key": {
                    "description": "Key 对象存储Key（S3 直传使用）。",
                    "type": "string"
                },
                "upload_id": {
                    "description": "UploadID 分片上传ID。",
                    "type": "string"
                }
            }
        },
        "dto.UploadResult": {
            "type": "object",
            "properties": {
                "filename": {
                    "description": "Filename 原始文件名。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 媒体资源ID。",
                    "type": "integer"
                },
                "mime_type": {
                    "description": "MimeType 文件类型（如 image/png）。",
                    "type": "string"
                },
                "size": {
                    "description": "Size 文件大小（字节）。",
                    "type": "integer"
                },
                "url": {
                    "description": "URL 访问地址（包含签名或公共URL）。",
                    "type": "string"
                }
            }
        },
        "dto.UserCouponItem": {
            "type": "object",
            "properties": {
                "coupon_id": {
                    "description": "CouponID 券模板ID。",
                    "type": "integer"
                },
                "description": {
                    "description": "Description 券描述。",
                    "type": "string"
                },
                "end_at": {
                    "description": "EndAt 过期时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 用户券ID。",
                    "type": "integer"
                },
                "min_order_amount": {
                    "description": "MinOrderAmount 使用门槛金额（分）。",
                    "type": "integer"
                },
                "start_at": {
                    "description": "StartAt 生效时间（RFC3339）。",
                    "type": "string"
                },
                "status": {
                    "description": "Status 当前状态（可用/已用/过期）。",
                    "type": "string"
                },
                "title": {
                    "description": "Title 券标题。",
                    "type": "string"
                },
                "type": {
                    "description": "Type 券类型（满减/折扣）。",
                    "type": "string"
                },
                "value": {
                    "description": "Value 券面值（分/百分比）。",
                    "type": "integer"
                }
            }
        },
        "dto.UserItem": {
            "type": "object",
            "properties": {
                "balance": {
                    "description": "Balance 账户可用余额（分）。",
                    "type": "integer"
                },
                "balance_frozen": {
                    "description": "BalanceFrozen 账户冻结余额（分）。",
                    "type": "integer"
                },
                "created_at": {
                    "description": "CreatedAt 创建时间（RFC3339）。",
                    "type": "string"
                },
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "joined_tenant_count": {
                    "description": "JoinedTenantCount 加入的租户数量。",
                    "type": "integer"
                },
                "owned_tenant_count": {
                    "description": "OwnedTenantCount 拥有的租户数量。",
                    "type": "integer"
                },
                "roles": {
                    "description": "Roles 用户角色列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/consts.Role"
                    }
                },
                "status": {
                    "description": "Status 用户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                },
                "updated_at": {
                    "description": "UpdatedAt 更新时间（RFC3339）。",
                    "type": "string"
                },
                "username": {
                    "description": "Username 用户名（用于识别/展示）。",
                    "type": "string"
                },
                "verified_at": {
                    "description": "VerifiedAt 实名认证时间（RFC3339）。",
                    "type": "string"
                }
            }
        },
        "dto.UserRolesUpdateForm": {
            "type": "object",
            "required": [
                "roles"
            ],
            "properties": {
                "roles": {
                    "description": "Roles 目标角色列表（至少包含 1 个）。",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/consts.Role"
                    }
                }
            }
        },
        "dto.UserStatistics": {
            "type": "object",
            "properties": {
                "count": {
                    "description": "Count 该状态用户数量。",
                    "type": "integer"
                },
                "status": {
                    "description": "Status 用户状态枚举。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "status_description": {
                    "description": "StatusDescription 状态描述（用于展示）。",
                    "type": "string"
                }
            }
        },
        "dto.UserStatusUpdateForm": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "description": "Status 目标用户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                }
            }
        },
        "dto.UserTenantItem": {
            "type": "object",
            "properties": {
                "code": {
                    "description": "Code 租户编码。",
                    "type": "string"
                },
                "expired_at": {
                    "description": "ExpiredAt 租户过期时间（RFC3339）。",
                    "type": "string"
                },
                "joined_at": {
                    "description": "JoinedAt 加入时间（RFC3339）。",
                    "type": "string"
                },
                "member_status": {
                    "description": "MemberStatus 成员状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.UserStatus"
                        }
                    ]
                },
                "member_status_description": {
                    "description": "MemberStatusDescription 成员状态描述。",
                    "type": "string"
                },
                "name": {
                    "description": "Name 租户名称。",
                    "type": "string"
                },
                "owner": {
                    "description": "Owner 租户所有者用户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/dto.TenantOwnerUserLite"
                        }
                    ]
                },
                "role": {
                    "description": "Role 用户在该租户内的角色列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/consts.TenantUserRole"
                    }
                },
                "tenant_id": {
                    "description": "TenantID 租户ID。",
                    "type": "integer"
                },
                "tenant_status": {
                    "description": "TenantStatus 租户状态。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.TenantStatus"
                        }
                    ]
                },
                "tenant_status_description": {
                    "description": "TenantStatusDescription 租户状态描述。",
                    "type": "string"
                }
            }
        },
        "dto.UserUpdate": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "bio": {
                    "description": "Bio 个人简介。",
                    "type": "string"
                },
                "birthday": {
                    "description": "Birthday 生日（YYYY-MM-DD）。",
                    "type": "string"
                },
                "gender": {
                    "description": "Gender 性别（枚举）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.Gender"
                        }
                    ]
                },
                "location": {
                    "description": "Location 地区信息（省/市）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.Location"
                        }
                    ]
                },
                "nickname": {
                    "description": "Nickname 昵称。",
                    "type": "string"
                }
            }
        },
        "dto.WalletResponse": {
            "type": "object",
            "properties": {
                "balance": {
                    "description": "Balance 账户余额（单位元）。",
                    "type": "number"
                },
                "transactions": {
                    "description": "Transactions 交易流水列表。",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.Transaction"
                    }
                }
            }
        },
        "dto.WithdrawForm": {
            "type": "object",
            "properties": {
                "account_id": {
                    "description": "AccountID 收款账户ID。",
                    "type": "integer"
                },
                "amount": {
                    "description": "Amount 提现金额（单位元）。",
                    "type": "number"
                },
                "method": {
                    "description": "Method 提现方式（wallet/external）。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_super_v1_dto.Location": {
            "type": "object",
            "properties": {
                "city": {
                    "description": "City 城市名称。",
                    "type": "string"
                },
                "province": {
                    "description": "Province 省份名称。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_super_v1_dto.LoginForm": {
            "type": "object",
            "properties": {
                "password": {
                    "description": "Password 登录密码（加密传输）。",
                    "type": "string"
                },
                "username": {
                    "description": "Username 登录用户名。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_super_v1_dto.LoginResponse": {
            "type": "object",
            "properties": {
                "token": {
                    "description": "Token 登录后签发的 JWT。",
                    "type": "string"
                },
                "user": {
                    "description": "User 当前登录用户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.User"
                        }
                    ]
                }
            }
        },
        "quyun_v2_app_http_super_v1_dto.User": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "balance": {
                    "description": "Balance 账户余额（元）。",
                    "type": "number"
                },
                "bio": {
                    "description": "Bio 用户简介。",
                    "type": "string"
                },
                "birthday": {
                    "description": "Birthday 生日（YYYY-MM-DD）。",
                    "type": "string"
                },
                "gender": {
                    "description": "Gender 性别（male/female/secret）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.Gender"
                        }
                    ]
                },
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "is_real_name_verified": {
                    "description": "IsRealNameVerified 是否已实名认证。",
                    "type": "boolean"
                },
                "location": {
                    "description": "Location 所在地（省/市）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/quyun_v2_app_http_super_v1_dto.Location"
                        }
                    ]
                },
                "nickname": {
                    "description": "Nickname 用户昵称。",
                    "type": "string"
                },
                "phone": {
                    "description": "Phone 手机号。",
                    "type": "string"
                },
                "points": {
                    "description": "Points 用户积分。",
                    "type": "integer"
                }
            }
        },
        "quyun_v2_app_http_v1_dto.Location": {
            "type": "object",
            "properties": {
                "city": {
                    "description": "City 城市名称。",
                    "type": "string"
                },
                "province": {
                    "description": "Province 省份名称。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_v1_dto.LoginForm": {
            "type": "object",
            "properties": {
                "otp": {
                    "description": "OTP 短信验证码。",
                    "type": "string"
                },
                "phone": {
                    "description": "Phone 手机号（登录账号）。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_v1_dto.LoginResponse": {
            "type": "object",
            "properties": {
                "token": {
                    "description": "Token 登录成功后的 JWT。",
                    "type": "string"
                },
                "user": {
                    "description": "User 当前登录用户信息。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.User"
                        }
                    ]
                }
            }
        },
        "quyun_v2_app_http_v1_dto.SendOTPForm": {
            "type": "object",
            "properties": {
                "phone": {
                    "description": "Phone 手机号（用于发送验证码）。",
                    "type": "string"
                }
            }
        },
        "quyun_v2_app_http_v1_dto.User": {
            "type": "object",
            "properties": {
                "avatar": {
                    "description": "Avatar 头像URL。",
                    "type": "string"
                },
                "balance": {
                    "description": "Balance 余额（单位元）。",
                    "type": "number"
                },
                "bio": {
                    "description": "Bio 个人简介。",
                    "type": "string"
                },
                "birthday": {
                    "description": "Birthday 生日（YYYY-MM-DD）。",
                    "type": "string"
                },
                "gender": {
                    "description": "Gender 性别（枚举）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/consts.Gender"
                        }
                    ]
                },
                "id": {
                    "description": "ID 用户ID。",
                    "type": "integer"
                },
                "is_real_name_verified": {
                    "description": "IsRealNameVerified 是否完成实名认证。",
                    "type": "boolean"
                },
                "location": {
                    "description": "Location 地区信息（省/市）。",
                    "allOf": [
                        {
                            "$ref": "#/definitions/quyun_v2_app_http_v1_dto.Location"
                        }
                    ]
                },
                "nickname": {
                    "description": "Nickname 昵称。",
                    "type": "string"
                },
                "phone": {
                    "description": "Phone 绑定手机号。",
                    "type": "string"
                },
                "points": {
                    "description": "Points 积分余额。",
                    "type": "integer"
                }
            }
        },
        "requests.KV": {
            "type": "object",
            "properties": {
                "key": {
                    "description": "Key is a machine-readable value, usually an enum string.",
                    "type": "string"
                },
                "value": {
                    "description": "Value is the label payload, often a human-readable string."
                }
            }
        },
        "requests.Pager": {
            "type": "object",
            "properties": {
                "items": {
                    "description": "Items is the paged result list; concrete type depends on endpoint."
                },
                "limit": {
                    "description": "Limit is page size; only values in {10,20,50,100} are accepted (otherwise defaults to 10).",
                    "type": "integer"
                },
                "page": {
                    "description": "Page is 1-based page index; values \u003c= 0 are normalized to 1.",
                    "type": "integer"
                },
                "total": {
                    "description": "Total is the total number of items matching current filter (before paging).",
                    "type": "integer"
                }
            }
        },
        "v1.WebhookForm": {
            "type": "object",
            "properties": {
                "external_id": {
                    "type": "string"
                },
                "order_id": {
                    "type": "integer"
                }
            }
        }
    },
    "securityDefinitions": {
        "BasicAuth": {
            "type": "basic"
        }
    },
    "externalDocs": {
        "description": "OpenAPI",
        "url": "https://swagger.io/resources/open-api/"
    }
}