/* eslint-disable */
// 由 scripts/generate-platform-operations.mjs 根据后端 OpenAPI 自动生成，请勿手改。
import type { PlatformOperation } from './types';

export const generatedAt = "2026-07-30T05:41:34.952Z";
export const platformOperations = [
  {
    "id": "GET /api/backoffice/platform/bootstrap",
    "method": "GET",
    "path": "/api/backoffice/platform/bootstrap",
    "tag": "平台端-后台权限",
    "summary": "查询平台角色管理初始化数据",
    "description": "",
    "parameters": [],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/BackofficeBootstrap"
    }
  },
  {
    "id": "POST /api/backoffice/platform/roles",
    "method": "POST",
    "path": "/api/backoffice/platform/roles",
    "tag": "平台端-后台权限",
    "summary": "创建或更新平台后台角色",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertBackofficeRoleDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/BackofficeRoleItem"
    }
  },
  {
    "id": "PUT /api/backoffice/platform/roles/{roleId}/bindings",
    "method": "PUT",
    "path": "/api/backoffice/platform/roles/{roleId}/bindings",
    "tag": "平台端-后台权限",
    "summary": "替换平台后台角色权限绑定",
    "description": "",
    "parameters": [
      {
        "name": "roleId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": {
      "$ref": "#/components/schemas/ReplaceRoleBindingsDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/BackofficeRoleItem"
    }
  },
  {
    "id": "GET /api/backoffice/platform/ui-bootstrap",
    "method": "GET",
    "path": "/api/backoffice/platform/ui-bootstrap",
    "tag": "平台端-后台权限",
    "summary": "查询平台后台菜单与权限",
    "description": "返回当前平台管理员可见的后台菜单、权限和模块启用状态。",
    "parameters": [],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/BackofficeUiBootstrap"
    }
  },
  {
    "id": "PUT /api/backoffice/platform/users/{userId}/roles",
    "method": "PUT",
    "path": "/api/backoffice/platform/users/{userId}/roles",
    "tag": "平台端-后台权限",
    "summary": "替换平台用户后台角色",
    "description": "",
    "parameters": [
      {
        "name": "userId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": {
      "$ref": "#/components/schemas/ReplaceUserRolesDto"
    },
    "responseSchema": null
  },
  {
    "id": "GET /api/platform-admin/audit-alerts",
    "method": "GET",
    "path": "/api/platform-admin/audit-alerts",
    "tag": "平台端-平台管理",
    "summary": "查询平台审计告警",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformAuditAlertList"
    }
  },
  {
    "id": "POST /api/platform-admin/audit-alerts/status",
    "method": "POST",
    "path": "/api/platform-admin/audit-alerts/status",
    "tag": "平台端-平台管理",
    "summary": "更新平台审计告警状态",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpdatePlatformAuditAlertStatusDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformAuditAlert"
    }
  },
  {
    "id": "GET /api/platform-admin/audit-logs",
    "method": "GET",
    "path": "/api/platform-admin/audit-logs",
    "tag": "平台端-平台管理",
    "summary": "查询平台审计日志",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformAuditLogList"
    }
  },
  {
    "id": "GET /api/platform-admin/domains",
    "method": "GET",
    "path": "/api/platform-admin/domains",
    "tag": "平台端-平台管理",
    "summary": "查询租户域名状态",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformDomainList"
    }
  },
  {
    "id": "POST /api/platform-admin/domains/{domainId}/recheck",
    "method": "POST",
    "path": "/api/platform-admin/domains/{domainId}/recheck",
    "tag": "平台端-平台管理",
    "summary": "重新触发租户域名 DNS/TLS 验证",
    "description": "",
    "parameters": [
      {
        "name": "domainId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformDomainRecheckResult"
    }
  },
  {
    "id": "GET /api/platform-admin/overview",
    "method": "GET",
    "path": "/api/platform-admin/overview",
    "tag": "平台端-平台管理",
    "summary": "查询平台经营概览",
    "description": "",
    "parameters": [],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformOverview"
    }
  },
  {
    "id": "GET /api/platform-admin/payment-settings/apps",
    "method": "GET",
    "path": "/api/platform-admin/payment-settings/apps",
    "tag": "平台端-支付设置",
    "summary": "查询平台支付应用",
    "description": "",
    "parameters": [
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformPaymentApp"
      }
    }
  },
  {
    "id": "PUT /api/platform-admin/payment-settings/apps",
    "method": "PUT",
    "path": "/api/platform-admin/payment-settings/apps",
    "tag": "平台端-支付设置",
    "summary": "新增或更新平台支付应用",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformPaymentAppDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformPaymentApp"
    }
  },
  {
    "id": "GET /api/platform-admin/payment-settings/channels",
    "method": "GET",
    "path": "/api/platform-admin/payment-settings/channels",
    "tag": "平台端-支付设置",
    "summary": "查询平台支付渠道",
    "description": "",
    "parameters": [
      {
        "name": "appId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformPaymentChannel"
      }
    }
  },
  {
    "id": "PUT /api/platform-admin/payment-settings/channels",
    "method": "PUT",
    "path": "/api/platform-admin/payment-settings/channels",
    "tag": "平台端-支付设置",
    "summary": "新增或更新平台支付渠道",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformPaymentChannelDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformPaymentChannel"
    }
  },
  {
    "id": "POST /api/platform-admin/payment-settings/channels/{id}/disable",
    "method": "POST",
    "path": "/api/platform-admin/payment-settings/channels/{id}/disable",
    "tag": "平台端-支付设置",
    "summary": "禁用平台支付渠道",
    "description": "",
    "parameters": [
      {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformPaymentChannel"
    }
  },
  {
    "id": "GET /api/platform-admin/payment-settings/events",
    "method": "GET",
    "path": "/api/platform-admin/payment-settings/events",
    "tag": "平台端-支付设置",
    "summary": "查询平台支付事件",
    "description": "",
    "parameters": [
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingPaymentEvent"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/payment-settings/rebates/summary",
    "method": "GET",
    "path": "/api/platform-admin/payment-settings/rebates/summary",
    "tag": "平台端-支付设置",
    "summary": "查询平台返佣汇总",
    "description": "",
    "parameters": [],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformRebateSummary"
    }
  },
  {
    "id": "GET /api/platform-admin/question-banks",
    "method": "GET",
    "path": "/api/platform-admin/question-banks",
    "tag": "平台端-公共题库",
    "summary": "查询平台公共题库",
    "description": "",
    "parameters": [
      {
        "name": "keyword",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformQuestionBankItem"
      }
    }
  },
  {
    "id": "PUT /api/platform-admin/question-banks",
    "method": "PUT",
    "path": "/api/platform-admin/question-banks",
    "tag": "平台端-公共题库",
    "summary": "新增或更新平台公共题库",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformQuestionBankCommand"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionBankItem"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/{bankId}/archive",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/{bankId}/archive",
    "tag": "平台端-公共题库",
    "summary": "归档平台公共题库",
    "description": "",
    "parameters": [
      {
        "name": "bankId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionBankItem"
    }
  },
  {
    "id": "GET /api/platform-admin/question-banks/{bankId}/nodes",
    "method": "GET",
    "path": "/api/platform-admin/question-banks/{bankId}/nodes",
    "tag": "平台端-公共题库",
    "summary": "查询公共题库内容结构",
    "description": "",
    "parameters": [
      {
        "name": "bankId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformQuestionBankNodeItem"
      }
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/assets/upload-confirm",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/assets/upload-confirm",
    "tag": "平台端-公共题库",
    "summary": "确认公共题库图片上传结果",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/AssetUploadConfirmDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/AssetUploadConfirmResult"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/assets/upload-sign",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/assets/upload-sign",
    "tag": "平台端-公共题库",
    "summary": "签发公共题库图片上传地址",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/AssetUploadSignDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/AssetUploadSignResult"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/imports",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/imports",
    "tag": "平台端-公共题库",
    "summary": "执行公共题库 JSON 导入",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/PlatformQuestionImportCommand"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionImportResult"
    }
  },
  {
    "id": "GET /api/platform-admin/question-banks/imports/{jobId}",
    "method": "GET",
    "path": "/api/platform-admin/question-banks/imports/{jobId}",
    "tag": "平台端-公共题库",
    "summary": "查询公共题库导入结果",
    "description": "",
    "parameters": [
      {
        "name": "jobId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/ContentImportJobDetail"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/imports/preview",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/imports/preview",
    "tag": "平台端-公共题库",
    "summary": "预检公共题库 JSON 导入",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/PlatformQuestionImportCommand"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionImportResult"
    }
  },
  {
    "id": "PUT /api/platform-admin/question-banks/nodes",
    "method": "PUT",
    "path": "/api/platform-admin/question-banks/nodes",
    "tag": "平台端-公共题库",
    "summary": "新增或更新公共题库内容节点",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformQuestionBankNodeCommand"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionBankNodeItem"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/nodes/{nodeId}/archive",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/nodes/{nodeId}/archive",
    "tag": "平台端-公共题库",
    "summary": "归档公共题库内容节点",
    "description": "",
    "parameters": [
      {
        "name": "nodeId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionBankNodeItem"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/nodes/batch",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/nodes/batch",
    "tag": "平台端-公共题库",
    "summary": "批量创建公共题库章节或试卷",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/BatchCreatePlatformQuestionBankNodesCommand"
    },
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformQuestionBankNodeItem"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/question-banks/questions",
    "method": "GET",
    "path": "/api/platform-admin/question-banks/questions",
    "tag": "平台端-公共题库",
    "summary": "分页查询公共题库题目",
    "description": "",
    "parameters": [
      {
        "name": "questionBankId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "contentNodeId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "keyword",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "type",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "difficulty",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "page",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 1
        }
      },
      {
        "name": "pageSize",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 20
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionPage"
    }
  },
  {
    "id": "PUT /api/platform-admin/question-banks/questions",
    "method": "PUT",
    "path": "/api/platform-admin/question-banks/questions",
    "tag": "平台端-公共题库",
    "summary": "新增或更新公共题库题目并保留版本",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformQuestionCommand"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformQuestionItem"
    }
  },
  {
    "id": "POST /api/platform-admin/question-banks/questions/archive",
    "method": "POST",
    "path": "/api/platform-admin/question-banks/questions/archive",
    "tag": "平台端-公共题库",
    "summary": "批量归档公共题库题目",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/ArchivePlatformQuestionsCommand"
    },
    "responseSchema": {
      "pattern": "^-?(?:0|[1-9]\\d*)$",
      "type": [
        "integer",
        "string"
      ],
      "format": "int32"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/catalog",
    "method": "GET",
    "path": "/api/platform-admin/saas/catalog",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 商品目录",
    "description": "",
    "parameters": [],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/SaasCatalogSnapshot"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/dunning/channels",
    "method": "GET",
    "path": "/api/platform-admin/saas/dunning/channels",
    "tag": "平台端-平台管理",
    "summary": "查询平台催缴通知渠道",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningChannelList"
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/dunning/channels",
    "method": "PUT",
    "path": "/api/platform-admin/saas/dunning/channels",
    "tag": "平台端-平台管理",
    "summary": "创建或更新平台催缴通知渠道",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformBillingDunningChannelDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningChannelItem"
    }
  },
  {
    "id": "POST /api/platform-admin/saas/dunning/channels/disable",
    "method": "POST",
    "path": "/api/platform-admin/saas/dunning/channels/disable",
    "tag": "平台端-平台管理",
    "summary": "禁用平台催缴通知渠道",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/DisablePlatformBillingDunningChannelDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningChannelItem"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/dunning/events",
    "method": "GET",
    "path": "/api/platform-admin/saas/dunning/events",
    "tag": "平台端-平台管理",
    "summary": "查询平台催缴通知事件",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningEventList"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/dunning/events/detail",
    "method": "GET",
    "path": "/api/platform-admin/saas/dunning/events/detail",
    "tag": "平台端-平台管理",
    "summary": "查询平台催缴通知事件详情",
    "description": "",
    "parameters": [
      {
        "name": "eventId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningEventItem"
    }
  },
  {
    "id": "POST /api/platform-admin/saas/dunning/events/retry",
    "method": "POST",
    "path": "/api/platform-admin/saas/dunning/events/retry",
    "tag": "平台端-平台管理",
    "summary": "重新标记平台催缴通知事件待发送",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/RetryPlatformBillingDunningEventDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingDunningEventItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/feature-limits",
    "method": "PUT",
    "path": "/api/platform-admin/saas/feature-limits",
    "tag": "平台端-SaaS 套餐",
    "summary": "新增或更新 SaaS 功能限额",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertSaasFeatureLimitDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/SaasFeatureLimitDefinition"
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/features",
    "method": "PUT",
    "path": "/api/platform-admin/saas/features",
    "tag": "平台端-SaaS 套餐",
    "summary": "新增或更新 SaaS 功能",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertSaasFeatureDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/SaasFeature"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/invoices",
    "method": "GET",
    "path": "/api/platform-admin/saas/invoices",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 发票",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingInvoice"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/saas/invoices/reminders",
    "method": "GET",
    "path": "/api/platform-admin/saas/invoices/reminders",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 账单提醒",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingInvoiceReminder"
      }
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/offering-versions",
    "method": "PUT",
    "path": "/api/platform-admin/saas/offering-versions",
    "tag": "平台端-SaaS 套餐",
    "summary": "新增或更新 SaaS 套餐版本草稿",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertSaasOfferingVersionDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/SaasOfferingVersionItem"
    }
  },
  {
    "id": "POST /api/platform-admin/saas/offering-versions/{versionId}/clone",
    "method": "POST",
    "path": "/api/platform-admin/saas/offering-versions/{versionId}/clone",
    "tag": "平台端-SaaS 套餐",
    "summary": "克隆 SaaS 套餐版本",
    "description": "",
    "parameters": [
      {
        "name": "versionId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/SaasOfferingVersionItem"
    }
  },
  {
    "id": "POST /api/platform-admin/saas/offering-versions/{versionId}/publish",
    "method": "POST",
    "path": "/api/platform-admin/saas/offering-versions/{versionId}/publish",
    "tag": "平台端-SaaS 套餐",
    "summary": "发布 SaaS 套餐版本",
    "description": "",
    "parameters": [
      {
        "name": "versionId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/SaasOfferingVersionItem"
    }
  },
  {
    "id": "POST /api/platform-admin/saas/offering-versions/{versionId}/retire",
    "method": "POST",
    "path": "/api/platform-admin/saas/offering-versions/{versionId}/retire",
    "tag": "平台端-SaaS 套餐",
    "summary": "下架 SaaS 套餐版本",
    "description": "",
    "parameters": [
      {
        "name": "versionId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/SaasOfferingVersionItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/offerings",
    "method": "PUT",
    "path": "/api/platform-admin/saas/offerings",
    "tag": "平台端-SaaS 套餐",
    "summary": "新增或更新 SaaS 套餐",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertSaasOfferingDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/SaasOffering"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/orders",
    "method": "GET",
    "path": "/api/platform-admin/saas/orders",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 订单",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingOrder"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/saas/payments",
    "method": "GET",
    "path": "/api/platform-admin/saas/payments",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 支付记录",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingPayment"
      }
    }
  },
  {
    "id": "POST /api/platform-admin/saas/payments/manual/confirm",
    "method": "POST",
    "path": "/api/platform-admin/saas/payments/manual/confirm",
    "tag": "平台端-SaaS 套餐",
    "summary": "确认平台手工支付",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/ConfirmManualPlatformPaymentDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformBillingPayment"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/refunds",
    "method": "GET",
    "path": "/api/platform-admin/saas/refunds",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询平台 SaaS 退款记录",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformBillingRefund"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/saas/subscriptions",
    "method": "GET",
    "path": "/api/platform-admin/saas/subscriptions",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询租户 SaaS 订阅",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TenantSaasSubscription"
      }
    }
  },
  {
    "id": "PUT /api/platform-admin/saas/tenant-feature-overrides",
    "method": "PUT",
    "path": "/api/platform-admin/saas/tenant-feature-overrides",
    "tag": "平台端-SaaS 套餐",
    "summary": "新增或更新租户功能覆盖规则",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertTenantFeatureOverrideDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/TenantFeatureOverride"
    }
  },
  {
    "id": "GET /api/platform-admin/saas/usage",
    "method": "GET",
    "path": "/api/platform-admin/saas/usage",
    "tag": "平台端-SaaS 套餐",
    "summary": "查询租户 SaaS 用量",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "limit",
        "in": "query",
        "schema": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32",
          "default": 100
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TenantFeatureUsage"
      }
    }
  },
  {
    "id": "GET /api/platform-admin/staff",
    "method": "GET",
    "path": "/api/platform-admin/staff",
    "tag": "平台端-平台管理",
    "summary": "查询平台员工列表",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformStaffList"
    }
  },
  {
    "id": "PUT /api/platform-admin/staff",
    "method": "PUT",
    "path": "/api/platform-admin/staff",
    "tag": "平台端-平台管理",
    "summary": "创建或更新平台员工",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformStaffDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformStaffItem"
    }
  },
  {
    "id": "PATCH /api/platform-admin/staff/status",
    "method": "PATCH",
    "path": "/api/platform-admin/staff/status",
    "tag": "平台端-平台管理",
    "summary": "启用或禁用平台员工",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpdatePlatformStaffStatusDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformStaffItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/crm/configs",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/crm/configs",
    "tag": "平台端-租户 CRM 能力",
    "summary": "查询租户 CRM 配置",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfPlatformCrmConfigItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/tenant-capabilities/crm/configs",
    "method": "PUT",
    "path": "/api/platform-admin/tenant-capabilities/crm/configs",
    "tag": "平台端-租户 CRM 能力",
    "summary": "新增或更新租户 CRM 配置",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformCrmConfigDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformCrmConfigItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/crm/leads",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/crm/leads",
    "tag": "平台端-租户 CRM 能力",
    "summary": "查询租户 CRM 线索队列",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfCrmWebhookQueueItem"
    }
  },
  {
    "id": "POST /api/platform-admin/tenant-capabilities/crm/leads/retry",
    "method": "POST",
    "path": "/api/platform-admin/tenant-capabilities/crm/leads/retry",
    "tag": "平台端-租户 CRM 能力",
    "summary": "重试租户 CRM 线索推送",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/RetryPlatformCrmLeadDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/CrmWebhookQueueItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/crm/logs",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/crm/logs",
    "tag": "平台端-租户 CRM 能力",
    "summary": "查询租户 CRM 推送日志",
    "description": "",
    "parameters": [
      {
        "name": "QueueId",
        "in": "query",
        "description": "队列任务 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "TenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfCrmWebhookLog"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/payments/apps",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/payments/apps",
    "tag": "平台端-租户支付能力",
    "summary": "查询租户支付应用",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfTenantExternalProviderItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/tenant-capabilities/payments/apps",
    "method": "PUT",
    "path": "/api/platform-admin/tenant-capabilities/payments/apps",
    "tag": "平台端-租户支付能力",
    "summary": "新增或更新租户支付应用",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformTenantPaymentAppDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/TenantExternalProviderItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/payments/events",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/payments/events",
    "tag": "平台端-租户支付能力",
    "summary": "查询租户支付事件",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfObject"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/sms/channels",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/sms/channels",
    "tag": "平台端-租户短信能力",
    "summary": "查询租户短信渠道",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfPlatformSmsChannelItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/tenant-capabilities/sms/channels",
    "method": "PUT",
    "path": "/api/platform-admin/tenant-capabilities/sms/channels",
    "tag": "平台端-租户短信能力",
    "summary": "新增或更新租户短信渠道",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformSmsChannelDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformSmsChannelItem"
    }
  },
  {
    "id": "POST /api/platform-admin/tenant-capabilities/sms/channels/{id}/disable",
    "method": "POST",
    "path": "/api/platform-admin/tenant-capabilities/sms/channels/{id}/disable",
    "tag": "平台端-租户短信能力",
    "summary": "禁用租户短信渠道",
    "description": "",
    "parameters": [
      {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformSmsChannelItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/sms/logs",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/sms/logs",
    "tag": "平台端-租户短信能力",
    "summary": "查询租户短信发送日志",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfSmsSendLog"
    }
  },
  {
    "id": "GET /api/platform-admin/tenant-capabilities/sms/templates",
    "method": "GET",
    "path": "/api/platform-admin/tenant-capabilities/sms/templates",
    "tag": "平台端-租户短信能力",
    "summary": "查询租户短信模板",
    "description": "",
    "parameters": [
      {
        "name": "TenantId",
        "in": "query",
        "description": "租户 ID。",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 50,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 500,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantCapabilityListOfPlatformSmsTemplateItem"
    }
  },
  {
    "id": "PUT /api/platform-admin/tenant-capabilities/sms/templates",
    "method": "PUT",
    "path": "/api/platform-admin/tenant-capabilities/sms/templates",
    "tag": "平台端-租户短信能力",
    "summary": "新增或更新租户短信模板",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformSmsTemplateDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformSmsTemplateItem"
    }
  },
  {
    "id": "POST /api/platform-admin/tenant-capabilities/sms/templates/{id}/disable",
    "method": "POST",
    "path": "/api/platform-admin/tenant-capabilities/sms/templates/{id}/disable",
    "tag": "平台端-租户短信能力",
    "summary": "禁用租户短信模板",
    "description": "",
    "parameters": [
      {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformSmsTemplateItem"
    }
  },
  {
    "id": "POST /api/platform-admin/tenant-capabilities/sms/templates/{id}/submit-review",
    "method": "POST",
    "path": "/api/platform-admin/tenant-capabilities/sms/templates/{id}/submit-review",
    "tag": "平台端-租户短信能力",
    "summary": "提交租户短信模板审核",
    "description": "",
    "parameters": [
      {
        "name": "id",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformSmsTemplateItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenants",
    "method": "GET",
    "path": "/api/platform-admin/tenants",
    "tag": "平台端-平台管理",
    "summary": "查询平台租户列表",
    "description": "",
    "parameters": [
      {
        "name": "Status",
        "in": "query",
        "description": "状态。",
        "schema": {
          "maxLength": 32,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Search",
        "in": "query",
        "description": "搜索关键字。",
        "schema": {
          "maxLength": 200,
          "minLength": 0,
          "type": "string"
        }
      },
      {
        "name": "Limit",
        "in": "query",
        "description": "返回数量上限。",
        "schema": {
          "maximum": 200,
          "minimum": 1,
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantList"
    }
  },
  {
    "id": "POST /api/platform-admin/tenants",
    "method": "POST",
    "path": "/api/platform-admin/tenants",
    "tag": "平台端-平台管理",
    "summary": "创建平台租户",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/CreatePlatformTenantDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantProvisioningResult"
    }
  },
  {
    "id": "PUT /api/platform-admin/tenants/billing-profile",
    "method": "PUT",
    "path": "/api/platform-admin/tenants/billing-profile",
    "tag": "平台端-平台管理",
    "summary": "保存租户账务与开票资料",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpsertPlatformTenantBillingProfileDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/TenantBillingProfileItem"
    }
  },
  {
    "id": "GET /api/platform-admin/tenants/detail",
    "method": "GET",
    "path": "/api/platform-admin/tenants/detail",
    "tag": "平台端-平台管理",
    "summary": "查询平台租户详情",
    "description": "",
    "parameters": [
      {
        "name": "tenantId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    ],
    "requestSchema": null,
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantDetail"
    }
  },
  {
    "id": "PATCH /api/platform-admin/tenants/status",
    "method": "PATCH",
    "path": "/api/platform-admin/tenants/status",
    "tag": "平台端-平台管理",
    "summary": "更新租户业务与账务状态",
    "description": "",
    "parameters": [],
    "requestSchema": {
      "$ref": "#/components/schemas/UpdatePlatformTenantStatusDto"
    },
    "responseSchema": {
      "$ref": "#/components/schemas/PlatformTenantItem"
    }
  }
] as const satisfies readonly PlatformOperation[];
export const openApiSchemas = {
  "ActivationCodeItem": {
    "required": [
      "id",
      "batchId",
      "code",
      "days",
      "isUsed",
      "usedBy",
      "usedAt",
      "saleType",
      "soldTo",
      "remark",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "batchId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isUsed": {
        "type": "boolean"
      },
      "usedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "usedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "saleType": {
        "type": [
          "null",
          "string"
        ]
      },
      "soldTo": {
        "type": [
          "null",
          "string"
        ]
      },
      "remark": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ActivationCodeList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ActivationCodeItem"
        }
      }
    }
  },
  "AdminOrderList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceOrderItem"
        }
      }
    }
  },
  "AdminPaymentList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommercePaymentItem"
        }
      }
    }
  },
  "AnnouncementCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "content",
      "link",
      "backgroundColor",
      "order",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "link": {
        "type": [
          "null",
          "string"
        ]
      },
      "backgroundColor": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "AnswerRecordItem": {
    "required": [
      "id",
      "sessionQuestionId",
      "practiceSessionId",
      "selectedOptions",
      "answerText",
      "isCorrect",
      "answeredAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "sessionQuestionId": {
        "type": "string",
        "format": "uuid"
      },
      "practiceSessionId": {
        "type": "string",
        "format": "uuid"
      },
      "selectedOptions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "isCorrect": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "answeredAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "AppAssetCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "assetKey",
      "fileName",
      "description",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "assetKey": {
        "type": "string"
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ArchivePlatformQuestionsCommand": {
    "required": [
      "questionIds"
    ],
    "type": "object",
    "properties": {
      "questionIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        }
      }
    }
  },
  "AssetAccessActorRole": {
    "type": "integer"
  },
  "AssetAccessDisposition": {
    "type": "integer"
  },
  "AssetAccessPrincipalDto": {
    "required": [
      "userId",
      "isMember",
      "hasSvip"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "isMember": {
        "type": "boolean"
      },
      "hasSvip": {
        "type": "boolean"
      }
    },
    "description": "资产访问Principal请求 DTO。"
  },
  "AssetAccessResponseDto": {
    "required": [
      "item",
      "access",
      "url",
      "watermark"
    ],
    "type": "object",
    "properties": {
      "item": {
        "$ref": "#/components/schemas/ContentAssetAccessSummaryDto"
      },
      "access": {
        "$ref": "#/components/schemas/AssetAccessPrincipalDto"
      },
      "url": {
        "$ref": "#/components/schemas/SignedStorageUrlDto"
      },
      "watermark": {
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "资产访问签名响应。"
  },
  "AssetAccessResult": {
    "type": "integer"
  },
  "AssetAccessSignDto": {
    "required": [
      "assetId"
    ],
    "type": "object",
    "properties": {
      "assetId": {
        "type": "string",
        "description": "资产 ID。",
        "format": "uuid"
      },
      "expiresInSeconds": {
        "maximum": 3600,
        "minimum": 60,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "有效期秒数。",
        "format": "int32"
      }
    },
    "description": "创建资产访问签名请求。"
  },
  "AssetAccessType": {
    "type": "integer"
  },
  "AssetManagementSignedAccessResult": {
    "required": [
      "item",
      "url"
    ],
    "type": "object",
    "properties": {
      "item": {
        "$ref": "#/components/schemas/ContentAssetManagementItem"
      },
      "url": {
        "$ref": "#/components/schemas/ObjectStorageSignedUrl"
      }
    }
  },
  "AssetPreviewStatus": {
    "type": "integer"
  },
  "AssetSecurityRiskLevel": {
    "type": "integer"
  },
  "AssetSecurityScanStatus": {
    "type": "integer"
  },
  "AssetStorageProvider": {
    "type": "integer"
  },
  "AssetUploadConfirmDto": {
    "required": [
      "assetId"
    ],
    "type": "object",
    "properties": {
      "assetId": {
        "type": "string",
        "description": "资产 ID。",
        "format": "uuid"
      },
      "mimeType": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "MIME 类型。"
      },
      "fileSizeBytes": {
        "maximum": 9223372036854776000,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "文件大小，单位为字节。",
        "format": "int64"
      },
      "checksumSha256": {
        "pattern": "^[A-Fa-f0-9]{64}$",
        "type": [
          "null",
          "string"
        ],
        "description": "SHA-256 校验值。"
      }
    },
    "description": "确认资产上传请求。"
  },
  "AssetUploadConfirmResult": {
    "required": [
      "item",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "item": {
        "$ref": "#/components/schemas/ContentAssetManagementItem"
      },
      "metadata": {
        "$ref": "#/components/schemas/ObjectStorageMetadata"
      }
    }
  },
  "AssetUploadSignDto": {
    "required": [
      "fileName",
      "mimeType"
    ],
    "type": "object",
    "properties": {
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "description": "资产 ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "assetKey": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "资产键。"
      },
      "title": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "标题。"
      },
      "category": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "分类。"
      },
      "description": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "fileName": {
        "maxLength": 500,
        "minLength": 0,
        "type": "string",
        "description": "文件名。"
      },
      "mimeType": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "MIME 类型。"
      },
      "fileSizeBytes": {
        "maximum": 9223372036854776000,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "文件大小，单位为字节。",
        "format": "int64"
      },
      "checksumSha256": {
        "pattern": "^[A-Fa-f0-9]{64}$",
        "type": [
          "null",
          "string"
        ],
        "description": "SHA-256 校验值。"
      },
      "assetType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "资产类型。"
      },
      "visibility": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "可见性。"
      },
      "isPublic": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否公开。"
      },
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "服务提供方。"
      },
      "bucket": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "存储桶。"
      },
      "objectKey": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "对象存储键。"
      },
      "expiresInSeconds": {
        "maximum": 3600,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "有效期秒数。",
        "format": "int32"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建资产上传签名请求。"
  },
  "AssetUploadSignResult": {
    "required": [
      "item",
      "upload"
    ],
    "type": "object",
    "properties": {
      "item": {
        "$ref": "#/components/schemas/ContentAssetManagementItem"
      },
      "upload": {
        "$ref": "#/components/schemas/ObjectStorageSignedUrl"
      }
    }
  },
  "AssetUploadStatus": {
    "type": "integer"
  },
  "AuthenticatedUserDto": {
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "phone": {
        "type": [
          "null",
          "string"
        ],
        "description": "手机号。"
      },
      "email": {
        "type": [
          "null",
          "string"
        ],
        "description": "邮箱。"
      },
      "name": {
        "type": [
          "null",
          "string"
        ],
        "description": "名称。"
      },
      "realm": {
        "description": "认证域。",
        "$ref": "#/components/schemas/AuthRealm"
      },
      "tenant": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "租户成员摘要。",
            "$ref": "#/components/schemas/TenantMembershipSummary"
          }
        ]
      },
      "tokens": {
        "description": "访问令牌和刷新令牌。",
        "$ref": "#/components/schemas/AuthTokenPair"
      }
    },
    "description": "Authenticated用户请求 DTO。"
  },
  "AuthenticationResultDto": {
    "type": "object",
    "properties": {
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/AuthenticationStatus"
      },
      "user": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "用户信息。",
            "$ref": "#/components/schemas/AuthenticatedUserDto"
          }
        ]
      },
      "challengeToken": {
        "type": [
          "null",
          "string"
        ],
        "description": "挑战令牌。"
      },
      "challengeExpiresAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "挑战令牌过期时间。",
        "format": "date-time"
      }
    },
    "description": "登录认证结果。"
  },
  "AuthenticationStatus": {
    "type": "integer"
  },
  "AuthRealm": {
    "type": "integer"
  },
  "AuthTokenPair": {
    "required": [
      "accessToken",
      "refreshToken",
      "accessTokenExpiresAt",
      "refreshTokenExpiresAt"
    ],
    "type": "object",
    "properties": {
      "accessToken": {
        "type": "string",
        "description": "用于访问 API 的 JWT access token。"
      },
      "refreshToken": {
        "type": "string",
        "description": "用于刷新会话的 refresh token，服务端只保存哈希。"
      },
      "accessTokenExpiresAt": {
        "type": "string",
        "description": "access token 过期时间。",
        "format": "date-time"
      },
      "refreshTokenExpiresAt": {
        "type": "string",
        "description": "refresh token 过期时间。",
        "format": "date-time"
      }
    },
    "description": "认证令牌对。"
  },
  "BackendPermissionArea": {
    "type": "integer"
  },
  "BackendRoleStatus": {
    "type": "integer"
  },
  "BackgroundJobItem": {
    "required": [
      "id",
      "tenantId",
      "jobType",
      "status",
      "retryCount",
      "maxRetries",
      "runAfter",
      "startedAt",
      "completedAt",
      "lastError",
      "outputAssetId",
      "result"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "jobType": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/BackgroundJobStatus"
      },
      "retryCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "maxRetries": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "runAfter": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "startedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastError": {
        "type": [
          "null",
          "string"
        ]
      },
      "outputAssetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "result": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "BackgroundJobStatus": {
    "type": "integer"
  },
  "BackofficeBootstrap": {
    "required": [
      "permissions",
      "menus",
      "roles"
    ],
    "type": "object",
    "properties": {
      "permissions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BackofficePermissionItem"
        }
      },
      "menus": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BackofficeMenuItem"
        }
      },
      "roles": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BackofficeRoleItem"
        }
      }
    }
  },
  "BackofficeMenuItem": {
    "required": [
      "id",
      "code",
      "parentCode",
      "title",
      "area",
      "path",
      "icon",
      "permissionCode",
      "sortOrder",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "parentCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": "string"
      },
      "area": {
        "$ref": "#/components/schemas/BackendPermissionArea"
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "permissionCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "BackofficePermissionItem": {
    "required": [
      "id",
      "code",
      "name",
      "area",
      "permissionModuleCode",
      "description",
      "sortOrder"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "area": {
        "$ref": "#/components/schemas/BackendPermissionArea"
      },
      "permissionModuleCode": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "BackofficeRoleItem": {
    "required": [
      "id",
      "code",
      "name",
      "status",
      "isSystem",
      "description",
      "permissionCodes",
      "menuCodes"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/BackendRoleStatus"
      },
      "isSystem": {
        "type": "boolean"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "permissionCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "menuCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "dataScope": {}
    }
  },
  "BackofficeUiBootstrap": {
    "required": [
      "permissionCodes",
      "menus",
      "enabledFeatures",
      "quotas"
    ],
    "type": "object",
    "properties": {
      "permissionCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "menus": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BackofficeMenuItem"
        }
      },
      "enabledFeatures": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "quotas": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FeatureQuotaSnapshot"
        }
      }
    }
  },
  "BadgeItem": {
    "required": [
      "id",
      "name",
      "description",
      "category",
      "iconUrl",
      "level",
      "unlockType",
      "conditionExtra",
      "isUnlocked",
      "grantedAt",
      "note",
      "order"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "iconUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "level": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "unlockType": {
        "type": [
          "null",
          "string"
        ]
      },
      "conditionExtra": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "isUnlocked": {
        "type": "boolean"
      },
      "grantedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "note": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "BadgeList": {
    "required": [
      "items",
      "total",
      "unlocked",
      "includeLocked"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BadgeItem"
        }
      },
      "total": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "unlocked": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "includeLocked": {
        "type": "boolean"
      }
    }
  },
  "BannerCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "title",
      "subtitle",
      "content",
      "buttonText",
      "buttonLink",
      "backgroundColor",
      "borderColor",
      "order",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "subtitle": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "buttonText": {
        "type": [
          "null",
          "string"
        ]
      },
      "buttonLink": {
        "type": [
          "null",
          "string"
        ]
      },
      "backgroundColor": {
        "type": [
          "null",
          "string"
        ]
      },
      "borderColor": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "BatchCreatePlatformQuestionBankNodesCommand": {
    "required": [
      "questionBankId",
      "parentId",
      "nodeType",
      "names"
    ],
    "type": "object",
    "properties": {
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeType": {
        "$ref": "#/components/schemas/ContentNodeType"
      },
      "names": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  },
  "BillingStatus": {
    "type": "integer"
  },
  "BindReferralDto": {
    "required": [
      "refCode"
    ],
    "type": "object",
    "properties": {
      "refCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "推荐码。"
      },
      "source": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "绑定推荐请求 DTO。"
  },
  "CatalogListOfAnnouncementCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AnnouncementCatalogItem"
        }
      }
    }
  },
  "CatalogListOfAppAssetCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AppAssetCatalogItem"
        }
      }
    }
  },
  "CatalogListOfBannerCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BannerCatalogItem"
        }
      }
    }
  },
  "CatalogListOfCategoryCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CategoryCatalogItem"
        }
      }
    }
  },
  "CatalogListOfCollectionQuestionCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CollectionQuestionCatalogItem"
        }
      }
    }
  },
  "CatalogListOfContentAssetAccessEventItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentAssetAccessEventItem"
        }
      }
    }
  },
  "CatalogListOfContentAssetCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentAssetCatalogItem"
        }
      }
    }
  },
  "CatalogListOfContentAssetManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentAssetManagementItem"
        }
      }
    }
  },
  "CatalogListOfContentAssetSecurityScanEventItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentAssetSecurityScanEventItem"
        }
      }
    }
  },
  "CatalogListOfContentEntryCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentEntryCatalogItem"
        }
      }
    }
  },
  "CatalogListOfContentEntryManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentEntryManagementItem"
        }
      }
    }
  },
  "CatalogListOfContentImportIssueModel": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportIssueModel"
        }
      }
    }
  },
  "CatalogListOfContentImportJobItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportJobItem"
        }
      }
    }
  },
  "CatalogListOfContentNodeCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentNodeCatalogItem"
        }
      }
    }
  },
  "CatalogListOfContentNodeManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentNodeManagementItem"
        }
      }
    }
  },
  "CatalogListOfExamDateCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExamDateCatalogItem"
        }
      }
    }
  },
  "CatalogListOfFaqCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FaqCatalogItem"
        }
      }
    }
  },
  "CatalogListOfHandbookChapter": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookChapter"
        }
      }
    }
  },
  "CatalogListOfHandbookChapterCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookChapterCatalogItem"
        }
      }
    }
  },
  "CatalogListOfHandbookEntry": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookEntry"
        }
      }
    }
  },
  "CatalogListOfHandbookEntryCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookEntryCatalogItem"
        }
      }
    }
  },
  "CatalogListOfHandbookSubject": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookSubject"
        }
      }
    }
  },
  "CatalogListOfHandbookSubjectCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/HandbookSubjectCatalogItem"
        }
      }
    }
  },
  "CatalogListOfImageAssetCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImageAssetCatalogItem"
        }
      }
    }
  },
  "CatalogListOfint": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    }
  },
  "CatalogListOfMajor": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Major"
        }
      }
    }
  },
  "CatalogListOfMajorCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MajorCatalogItem"
        }
      }
    }
  },
  "CatalogListOfModuleNodeCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ModuleNodeCatalogItem"
        }
      }
    }
  },
  "CatalogListOfOperationContentItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/OperationContentItem"
        }
      }
    }
  },
  "CatalogListOfPracticeBlueprintCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PracticeBlueprintCatalogItem"
        }
      }
    }
  },
  "CatalogListOfPracticeBlueprintManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PracticeBlueprintManagementItem"
        }
      }
    }
  },
  "CatalogListOfProductCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProductCatalogItem"
        }
      }
    }
  },
  "CatalogListOfQuestionBankCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionBankCatalogItem"
        }
      }
    }
  },
  "CatalogListOfQuestionCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionCatalogItem"
        }
      }
    }
  },
  "CatalogListOfQuestionCollectionCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionCollectionCatalogItem"
        }
      }
    }
  },
  "CatalogListOfQuestionCollectionManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionCollectionManagementItem"
        }
      }
    }
  },
  "CatalogListOfQuestionVersionCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionVersionCatalogItem"
        }
      }
    }
  },
  "CatalogListOfQuestionVideoCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionVideoCatalogItem"
        }
      }
    }
  },
  "CatalogListOfRegionCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/RegionCatalogItem"
        }
      }
    }
  },
  "CatalogListOfRegionModuleCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/RegionModuleCatalogItem"
        }
      }
    }
  },
  "CatalogListOfSchool": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/School"
        }
      }
    }
  },
  "CatalogListOfSchoolCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SchoolCatalogItem"
        }
      }
    }
  },
  "CatalogListOfScorelineField": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineField"
        }
      }
    }
  },
  "CatalogListOfScorelineFieldItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineFieldItem"
        }
      }
    }
  },
  "CatalogListOfScorelineRecord": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineRecord"
        }
      }
    }
  },
  "CatalogListOfScorelineRecordItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineRecordItem"
        }
      }
    }
  },
  "CatalogListOfScorelineTrendItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineTrendItem"
        }
      }
    }
  },
  "CatalogListOfSubjectCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SubjectCatalogItem"
        }
      }
    }
  },
  "CatalogListOfSvipPlanCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SvipPlanCatalogItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminAuditLogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminAuditLogItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminBadgeGrantItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminBadgeGrantItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminBadgeItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminBadgeItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminClassMemberItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminClassMemberItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminFeedbackItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminFeedbackItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminMemberItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminMemberItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminNotificationItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminNotificationItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminStudentFollowupItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentFollowupItem"
        }
      }
    }
  },
  "CatalogListOfTenantAdminStudentNoteItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentNoteItem"
        }
      }
    }
  },
  "CatalogListOfTenantDomainItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantDomainItem"
        }
      }
    }
  },
  "CatalogListOfTenantIdentityProviderItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantIdentityProviderItem"
        }
      }
    }
  },
  "CatalogListOfTenantSupervisionRuleItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantSupervisionRuleItem"
        }
      }
    }
  },
  "CatalogListOfTenantThemeTemplateItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantThemeTemplateItem"
        }
      }
    }
  },
  "CatalogListOfVideoExplanationCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VideoExplanationCatalogItem"
        }
      }
    }
  },
  "CatalogListOfVideoManagementItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VideoManagementItem"
        }
      }
    }
  },
  "CatalogListOfVocabularyUnit": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VocabularyUnit"
        }
      }
    }
  },
  "CatalogListOfVocabularyUnitCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VocabularyUnitCatalogItem"
        }
      }
    }
  },
  "CatalogListOfVocabularyWord": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VocabularyWord"
        }
      }
    }
  },
  "CatalogListOfVocabularyWordCatalogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VocabularyWordCatalogItem"
        }
      }
    }
  },
  "CategoryCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "subjectId",
      "nodeId",
      "name",
      "categoryType",
      "order",
      "svipQuestionLimit"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "categoryType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/CategoryType"
          }
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "svipQuestionLimit": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "CategoryType": {
    "type": "integer"
  },
  "ChangeTenantSubscriptionDto": {
    "required": [
      "baseOfferingVersionId",
      "addOnOfferingVersionIds",
      "idempotencyKey"
    ],
    "type": "object",
    "properties": {
      "baseOfferingVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "addOnOfferingVersionIds": {
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string",
          "format": "uuid"
        }
      },
      "idempotencyKey": {
        "type": "string"
      }
    },
    "description": "变更租户订阅请求 DTO。"
  },
  "CheckCommerceCouponDto": {
    "required": [
      "planId"
    ],
    "type": "object",
    "properties": {
      "couponCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "优惠券码。"
      },
      "couponRedemptionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "优惠券领取记录 ID。",
        "format": "uuid"
      },
      "planId": {
        "type": "string",
        "description": "套餐 ID。",
        "format": "uuid"
      },
      "quantity": {
        "maximum": 99,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "数量。",
        "format": "int32"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      }
    },
    "description": "校验交易优惠券请求 DTO。"
  },
  "CheckInResult": {
    "required": [
      "checkInDate",
      "alreadyCheckedIn",
      "points",
      "balanceAfter",
      "claimId",
      "scoreEventId"
    ],
    "type": "object",
    "properties": {
      "checkInDate": {
        "type": "string",
        "format": "date"
      },
      "alreadyCheckedIn": {
        "type": "boolean"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "balanceAfter": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "claimId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "scoreEventId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      }
    }
  },
  "ClaimCommerceCouponDto": {
    "required": [
      "couponCode"
    ],
    "type": "object",
    "properties": {
      "couponCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "优惠券码。"
      }
    },
    "description": "领取交易优惠券请求 DTO。"
  },
  "ClaimPointTaskDto": {
    "required": [
      "taskKey"
    ],
    "type": "object",
    "properties": {
      "taskKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "任务键。"
      },
      "sourceType": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源类型。"
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源 ID。",
        "format": "uuid"
      }
    },
    "description": "领取积分任务请求 DTO。"
  },
  "CodeBatchItem": {
    "required": [
      "id",
      "name",
      "totalCount",
      "days",
      "regionId",
      "saleType",
      "channel",
      "defaultUnitPriceCents",
      "costPriceCents",
      "issuedAt",
      "remark",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "saleType": {
        "type": [
          "null",
          "string"
        ]
      },
      "channel": {
        "type": [
          "null",
          "string"
        ]
      },
      "defaultUnitPriceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "costPriceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "issuedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "remark": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "CollectionItemsReplaceResult": {
    "required": [
      "collectionId",
      "questionCount",
      "items"
    ],
    "type": "object",
    "properties": {
      "collectionId": {
        "type": "string",
        "format": "uuid"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/QuestionCollectionItemManagementItem"
        }
      }
    }
  },
  "CollectionQuestionCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "entryId",
      "contentNodeId",
      "primaryCollectionId",
      "subjectId",
      "categoryId",
      "nodeId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "examMarkers",
      "mediaUrl",
      "hasVideoExplanation",
      "sectionKey",
      "score",
      "order",
      "versionId",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "primaryCollectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "type": {
        "type": "string"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "examMarkers": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "hasVideoExplanation": {
        "type": "boolean"
      },
      "sectionKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "versionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "CollectionQuestionDto": {
    "required": [
      "questionId",
      "source"
    ],
    "type": "object",
    "properties": {
      "questionId": {
        "type": "string",
        "description": "题目 ID。",
        "format": "uuid"
      },
      "source": {
        "description": "来源。",
        "$ref": "#/components/schemas/QuestionSource"
      },
      "sectionKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "分段键。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "分数。",
        "format": "double"
      },
      "required": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否必填。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "题集题目请求 DTO。"
  },
  "CommerceAdjustmentDirection": {
    "type": "integer"
  },
  "CommerceAdjustmentVoucher": {
    "type": "object",
    "properties": {
      "issueId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "batchId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "itemId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refundRequestId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "reviewedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "voucherNo": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/CommerceAdjustmentVoucherStatus"
      },
      "direction": {
        "$ref": "#/components/schemas/CommerceAdjustmentDirection"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "proofAssetKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "reviewedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "closedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceAdjustmentVoucherEvent": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "voucherId": {
        "type": "string",
        "format": "uuid"
      },
      "fromStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/CommerceAdjustmentVoucherStatus"
          }
        ]
      },
      "toStatus": {
        "$ref": "#/components/schemas/CommerceAdjustmentVoucherStatus"
      },
      "actorUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "note": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceAdjustmentVoucherStatus": {
    "type": "integer"
  },
  "CommerceCouponCheckResult": {
    "required": [
      "valid",
      "reasonCode",
      "couponId",
      "couponRedemptionId",
      "couponCode",
      "originalAmountCents",
      "discountCents",
      "payableAmountCents",
      "payablePrice"
    ],
    "type": "object",
    "properties": {
      "valid": {
        "type": "boolean"
      },
      "reasonCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "couponId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "couponRedemptionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "couponCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "originalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "payableAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "payablePrice": {
        "type": "string"
      }
    }
  },
  "CommerceCouponItem": {
    "required": [
      "id",
      "couponId",
      "couponCode",
      "status",
      "planId",
      "regionId",
      "discountType",
      "discountValue",
      "discountPreviewCents",
      "discountPreview",
      "validFrom",
      "validTo",
      "claimedAt",
      "usedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "couponId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "couponCode": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "planId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "discountType": {
        "type": [
          "null",
          "string"
        ]
      },
      "discountValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "discountPreviewCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discountPreview": {
        "type": [
          "null",
          "string"
        ]
      },
      "validFrom": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "validTo": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "claimedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "usedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "CommerceCouponList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceCouponItem"
        }
      }
    }
  },
  "CommerceOrderItem": {
    "required": [
      "id",
      "orderNo",
      "status",
      "planId",
      "regionId",
      "productType",
      "productName",
      "amountCents",
      "price",
      "payMethod",
      "payProvider",
      "tradeNo",
      "days",
      "paidAt",
      "createdAt",
      "rawPayload"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "planId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "productType": {
        "type": [
          "null",
          "string"
        ]
      },
      "productName": {
        "type": [
          "null",
          "string"
        ]
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "price": {
        "type": "string"
      },
      "payMethod": {
        "type": [
          "null",
          "string"
        ]
      },
      "payProvider": {
        "type": [
          "null",
          "string"
        ]
      },
      "tradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "rawPayload": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "CommerceOrderList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceOrderItem"
        }
      }
    }
  },
  "CommercePaymentItem": {
    "required": [
      "id",
      "orderId",
      "orderNo",
      "provider",
      "method",
      "status",
      "amountCents",
      "price",
      "providerTradeNo",
      "paidAt",
      "clientPayload",
      "rawPayload"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "orderId": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "method": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "price": {
        "type": "string"
      },
      "providerTradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "clientPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "rawPayload": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "CommerceReconciliationBatch": {
    "type": "object",
    "properties": {
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "billDate": {
        "type": "string",
        "format": "date"
      },
      "billType": {
        "$ref": "#/components/schemas/ReconciliationBillType"
      },
      "source": {
        "$ref": "#/components/schemas/ReconciliationSource"
      },
      "sourceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceHash": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/ReconciliationBatchStatus"
      },
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "matchedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "mismatchCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "missingLocalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "missingProviderCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "duplicateCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "ignoredCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "refundAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "feeCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceReconciliationIssue": {
    "type": "object",
    "properties": {
      "batchId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "itemId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refundRequestId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "assignedTo": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "resolvedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "issueNo": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "transactionType": {
        "$ref": "#/components/schemas/ReconciliationTransactionType"
      },
      "issueCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "matchStatus": {
        "$ref": "#/components/schemas/ReconciliationIssueMatchStatus"
      },
      "severity": {
        "$ref": "#/components/schemas/NotificationSeverity"
      },
      "status": {
        "$ref": "#/components/schemas/ReconciliationIssueStatus"
      },
      "resolutionType": {
        "$ref": "#/components/schemas/ReconciliationResolutionType"
      },
      "orderNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "refundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "providerTradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "providerRefundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "refundAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "resolvedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "dueAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "summary": {
        "type": [
          "null",
          "string"
        ]
      },
      "resolutionNote": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceReconciliationIssueEvent": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "issueId": {
        "type": "string",
        "format": "uuid"
      },
      "fromStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ReconciliationIssueStatus"
          }
        ]
      },
      "toStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ReconciliationIssueStatus"
          }
        ]
      },
      "eventType": {
        "type": "string"
      },
      "actorUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "note": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceReconciliationItem": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "batchId": {
        "type": "string",
        "format": "uuid"
      },
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refundRequestId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "rowNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "provider": {
        "type": "string"
      },
      "transactionType": {
        "$ref": "#/components/schemas/ReconciliationTransactionType"
      },
      "providerTradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "providerRefundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "orderNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "refundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "refundAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "feeCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "refundedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "providerStatus": {
        "type": [
          "null",
          "string"
        ]
      },
      "localStatus": {
        "type": [
          "null",
          "string"
        ]
      },
      "matchStatus": {
        "$ref": "#/components/schemas/ReconciliationMatchStatus"
      },
      "severity": {
        "$ref": "#/components/schemas/NotificationSeverity"
      },
      "issueCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceRefundEvent": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "refundRequestId": {
        "type": "string",
        "format": "uuid"
      },
      "fromStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/CommerceRefundStatus"
          }
        ]
      },
      "toStatus": {
        "$ref": "#/components/schemas/CommerceRefundStatus"
      },
      "eventType": {
        "type": "string"
      },
      "actorUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceRefundRequest": {
    "type": "object",
    "properties": {
      "orderId": {
        "type": "string",
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "requestedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "reviewedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "processedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refundNo": {
        "type": "string"
      },
      "provider": {
        "type": [
          "null",
          "string"
        ]
      },
      "providerRefundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/CommerceRefundStatus"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "reason": {
        "type": [
          "null",
          "string"
        ]
      },
      "entitlementAction": {
        "$ref": "#/components/schemas/RefundEntitlementAction"
      },
      "requestedAt": {
        "type": "string",
        "format": "date-time"
      },
      "reviewedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "processedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "succeededAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "failedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "cancelledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "failureReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CommerceRefundStatus": {
    "type": "integer"
  },
  "CommissionExportItem": {
    "required": [
      "settlementId",
      "filename",
      "format",
      "mimeType",
      "rowCount",
      "contentBase64",
      "sha256",
      "sizeBytes"
    ],
    "type": "object",
    "properties": {
      "settlementId": {
        "type": "string",
        "format": "uuid"
      },
      "filename": {
        "type": "string"
      },
      "format": {
        "type": "string"
      },
      "mimeType": {
        "type": "string"
      },
      "rowCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "contentBase64": {
        "type": "string"
      },
      "sha256": {
        "type": "string"
      },
      "sizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "CommissionListOfCommissionProofItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommissionProofItem"
        }
      }
    }
  },
  "CommissionListOfCommissionSettlementItemDto": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommissionSettlementItemDto"
        }
      }
    }
  },
  "CommissionListOfCommissionSourceItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommissionSourceItem"
        }
      }
    }
  },
  "CommissionProofItem": {
    "required": [
      "id",
      "settlementId",
      "proofType",
      "status",
      "title",
      "assetId",
      "externalUrl",
      "amountCents",
      "paymentMethod",
      "paymentAccount",
      "paidAt",
      "reviewedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "settlementId": {
        "type": "string",
        "format": "uuid"
      },
      "proofType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "externalUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paymentMethod": {
        "type": [
          "null",
          "string"
        ]
      },
      "paymentAccount": {
        "type": [
          "null",
          "string"
        ]
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "reviewedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "CommissionSettingsItem": {
    "required": [
      "defaultRate",
      "minSettlementCents",
      "settlementCycle",
      "config"
    ],
    "type": "object",
    "properties": {
      "defaultRate": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "minSettlementCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "settlementCycle": {
        "type": "string"
      },
      "config": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "CommissionSettlementItemDto": {
    "required": [
      "id",
      "settlementNo",
      "referrerUserId",
      "status",
      "periodStart",
      "periodEnd",
      "sourceCount",
      "paidUserCount",
      "grossAmountCents",
      "commissionAmountCents",
      "reviewedAt",
      "paidAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "settlementNo": {
        "type": "string"
      },
      "referrerUserId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "type": "string"
      },
      "periodStart": {
        "type": "string",
        "format": "date"
      },
      "periodEnd": {
        "type": "string",
        "format": "date"
      },
      "sourceCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidUserCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "grossAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "commissionAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "reviewedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "CommissionSourceItem": {
    "required": [
      "sourceType",
      "sourceId",
      "sourceNo",
      "referrerUserId",
      "studentUserId",
      "grossAmountCents",
      "commissionRate",
      "commissionAmountCents",
      "rateSource",
      "settlementId"
    ],
    "type": "object",
    "properties": {
      "sourceType": {
        "type": "string"
      },
      "sourceId": {
        "type": "string",
        "format": "uuid"
      },
      "sourceNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "referrerUserId": {
        "type": "string",
        "format": "uuid"
      },
      "studentUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "grossAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "commissionRate": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "commissionAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "rateSource": {
        "type": "string"
      },
      "settlementId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      }
    }
  },
  "CommissionSummaryItem": {
    "required": [
      "sourceCount",
      "paidUserCount",
      "grossAmountCents",
      "commissionAmountCents"
    ],
    "type": "object",
    "properties": {
      "sourceCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidUserCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "grossAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "commissionAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ConfirmManualPlatformPaymentDto": {
    "required": [
      "paymentId",
      "providerTradeNo",
      "paidAt",
      "reason"
    ],
    "type": "object",
    "properties": {
      "paymentId": {
        "type": "string",
        "format": "uuid"
      },
      "providerTradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "reason": {
        "type": "string"
      }
    },
    "description": "确认人工平台支付请求 DTO。"
  },
  "ContentAssetAccessEventItem": {
    "required": [
      "id",
      "assetId",
      "userId",
      "actorRole",
      "accessType",
      "visibility",
      "assetType",
      "storageProvider",
      "disposition",
      "expiresInSeconds",
      "signatureMode",
      "result",
      "denyCode",
      "ipAddress",
      "userAgent",
      "metadata",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "actorRole": {
        "$ref": "#/components/schemas/AssetAccessActorRole"
      },
      "accessType": {
        "$ref": "#/components/schemas/AssetAccessType"
      },
      "visibility": {
        "type": [
          "null",
          "string"
        ]
      },
      "assetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "storageProvider": {
        "type": [
          "null",
          "string"
        ]
      },
      "disposition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AssetAccessDisposition"
          }
        ]
      },
      "expiresInSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "signatureMode": {
        "type": [
          "null",
          "string"
        ]
      },
      "result": {
        "$ref": "#/components/schemas/AssetAccessResult"
      },
      "denyCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "ipAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "userAgent": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ContentAssetAccessSummaryDto": {
    "required": [
      "id",
      "assetType",
      "title",
      "fileName",
      "previewUrl",
      "uploadStatus",
      "securityScanStatus",
      "previewStatus",
      "visibility"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "assetType": {
        "$ref": "#/components/schemas/ContentAssetType"
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ]
      },
      "previewUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "uploadStatus": {
        "$ref": "#/components/schemas/AssetUploadStatus"
      },
      "securityScanStatus": {
        "$ref": "#/components/schemas/AssetSecurityScanStatus"
      },
      "previewStatus": {
        "$ref": "#/components/schemas/AssetPreviewStatus"
      },
      "visibility": {
        "$ref": "#/components/schemas/ContentVisibility"
      }
    },
    "description": "内容资产访问摘要。"
  },
  "ContentAssetCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "subjectId",
      "categoryId",
      "contentNodeId",
      "assetKey",
      "title",
      "category",
      "description",
      "fileName",
      "cdnUrl",
      "isPublic",
      "assetType",
      "storageProvider",
      "bucket",
      "objectKey",
      "mimeType",
      "fileSizeBytes",
      "checksumSha256",
      "visibility",
      "previewUrl",
      "status",
      "order",
      "uploadStatus",
      "verifiedAt",
      "previewStatus",
      "securityScanStatus",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "assetKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ]
      },
      "cdnUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "isPublic": {
        "type": "boolean"
      },
      "assetType": {
        "$ref": "#/components/schemas/ContentAssetType"
      },
      "storageProvider": {
        "$ref": "#/components/schemas/AssetStorageProvider"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ]
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "mimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileSizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "checksumSha256": {
        "type": [
          "null",
          "string"
        ]
      },
      "visibility": {
        "$ref": "#/components/schemas/ContentVisibility"
      },
      "previewUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "uploadStatus": {
        "$ref": "#/components/schemas/AssetUploadStatus"
      },
      "verifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "previewStatus": {
        "$ref": "#/components/schemas/AssetPreviewStatus"
      },
      "securityScanStatus": {
        "$ref": "#/components/schemas/AssetSecurityScanStatus"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ContentAssetManagementItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "subjectId",
      "categoryId",
      "contentNodeId",
      "assetKey",
      "title",
      "category",
      "description",
      "fileName",
      "cdnUrl",
      "isPublic",
      "assetType",
      "storageProvider",
      "bucket",
      "objectKey",
      "mimeType",
      "fileSizeBytes",
      "checksumSha256",
      "visibility",
      "status",
      "order",
      "uploadStatus",
      "verifiedAt",
      "verifiedSizeBytes",
      "verifiedChecksumSha256",
      "previewStatus",
      "securityScanStatus",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "assetKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ]
      },
      "cdnUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "isPublic": {
        "type": "boolean"
      },
      "assetType": {
        "$ref": "#/components/schemas/ContentAssetType"
      },
      "storageProvider": {
        "$ref": "#/components/schemas/AssetStorageProvider"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ]
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "mimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileSizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "checksumSha256": {
        "type": [
          "null",
          "string"
        ]
      },
      "visibility": {
        "$ref": "#/components/schemas/ContentVisibility"
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "uploadStatus": {
        "$ref": "#/components/schemas/AssetUploadStatus"
      },
      "verifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "verifiedSizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "verifiedChecksumSha256": {
        "type": [
          "null",
          "string"
        ]
      },
      "previewStatus": {
        "$ref": "#/components/schemas/AssetPreviewStatus"
      },
      "securityScanStatus": {
        "$ref": "#/components/schemas/AssetSecurityScanStatus"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "ContentAssetSecurityScanEventItem": {
    "required": [
      "id",
      "assetId",
      "provider",
      "scanStatus",
      "riskLevel",
      "issueCodes",
      "details",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "scanStatus": {
        "$ref": "#/components/schemas/AssetSecurityScanStatus"
      },
      "riskLevel": {
        "$ref": "#/components/schemas/AssetSecurityRiskLevel"
      },
      "issueCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ContentAssetType": {
    "type": "integer"
  },
  "ContentEntryCatalogItem": {
    "required": [
      "id",
      "regionId",
      "legacyId",
      "entryKey",
      "name",
      "entryType",
      "icon",
      "route",
      "description",
      "visibility",
      "accessRules",
      "layoutConfig",
      "order"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "entryKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "entryType": {
        "$ref": "#/components/schemas/ContentEntryType"
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "route": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "visibility": {
        "$ref": "#/components/schemas/ContentVisibility"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "layoutConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ContentEntryManagementItem": {
    "required": [
      "id",
      "regionId",
      "legacyId",
      "entryKey",
      "name",
      "entryType",
      "icon",
      "route",
      "description",
      "visibility",
      "accessRules",
      "layoutConfig",
      "order",
      "isActive",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "entryKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "entryType": {
        "$ref": "#/components/schemas/ContentEntryType"
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "route": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "visibility": {
        "$ref": "#/components/schemas/ContentVisibility"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "layoutConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "ContentEntryType": {
    "type": "integer"
  },
  "ContentImportIssueModel": {
    "required": [
      "id",
      "jobId",
      "itemId",
      "rowNo",
      "severity",
      "code",
      "fieldPath",
      "message",
      "details"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "jobId": {
        "type": "string",
        "format": "uuid"
      },
      "itemId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "rowNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "severity": {
        "$ref": "#/components/schemas/ImportIssueSeverity"
      },
      "code": {
        "type": "string"
      },
      "fieldPath": {
        "type": [
          "null",
          "string"
        ]
      },
      "message": {
        "type": "string"
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ContentImportItemModel": {
    "required": [
      "id",
      "jobId",
      "rowNo",
      "externalId",
      "status",
      "targetType",
      "targetId",
      "sourcePayload",
      "normalizedPayload",
      "contentHash",
      "issuesCount"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "jobId": {
        "type": "string",
        "format": "uuid"
      },
      "rowNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "externalId": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/ContentImportItemStatus"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "sourcePayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "normalizedPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "contentHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "issuesCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ContentImportItemStatus": {
    "type": "integer"
  },
  "ContentImportJobDetail": {
    "required": [
      "job",
      "items",
      "issues"
    ],
    "type": "object",
    "properties": {
      "job": {
        "$ref": "#/components/schemas/ContentImportJobItem"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportItemModel"
        }
      },
      "issues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportIssueModel"
        }
      }
    }
  },
  "ContentImportJobItem": {
    "required": [
      "id",
      "targetRegionId",
      "targetSubjectId",
      "targetCategoryId",
      "targetContentNodeId",
      "targetQuestionBankId",
      "importType",
      "sourceFormat",
      "status",
      "sourceName",
      "sourceHash",
      "dryRun",
      "totalCount",
      "validCount",
      "errorCount",
      "warningCount",
      "insertedCount",
      "updatedCount",
      "skippedCount",
      "summary",
      "errorMessage",
      "startedAt",
      "finishedAt",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "targetRegionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "targetSubjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "targetCategoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "targetContentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "targetQuestionBankId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "importType": {
        "$ref": "#/components/schemas/ContentImportType"
      },
      "sourceFormat": {
        "$ref": "#/components/schemas/ImportSourceFormat"
      },
      "status": {
        "$ref": "#/components/schemas/ContentImportStatus"
      },
      "sourceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "dryRun": {
        "type": "boolean"
      },
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "validCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "errorCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "warningCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "insertedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "updatedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "skippedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "summary": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "errorMessage": {
        "type": [
          "null",
          "string"
        ]
      },
      "startedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "finishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "ContentImportStatus": {
    "type": "integer"
  },
  "ContentImportType": {
    "type": "integer"
  },
  "ContentManagementResultOfContentAssetManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ContentAssetManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfContentEntryManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ContentEntryManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfContentNodeManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ContentNodeManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfHandbookChapter": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HandbookChapter"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfHandbookEntry": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HandbookEntry"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfHandbookSubject": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HandbookSubject"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfMajor": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/Major"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfOperationContentItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/OperationContentItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfPracticeBlueprintManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PracticeBlueprintManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfQuestionCollectionManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/QuestionCollectionManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfQuestionManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/QuestionManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfQuestionVideoManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/QuestionVideoManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfSchool": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/School"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfScorelineField": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ScorelineField"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfScorelineRecord": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ScorelineRecord"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminBadgeGrantItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminBadgeGrantItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminBadgeItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminBadgeItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminClassItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminClassItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminClassMemberItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminClassMemberItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminFeedbackItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminFeedbackItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminMemberItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminMemberItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminNotificationItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminNotificationItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminStudentFollowupItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminStudentFollowupItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminStudentItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminStudentItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminStudentNoteItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminStudentNoteItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantAdminStudentStatusItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantAdminStudentStatusItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantBrandingItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantBrandingItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantDomainItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantDomainItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantIdentityProviderItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantIdentityProviderItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantSettingsItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantSettingsItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantSupervisionRuleItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantSupervisionRuleItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfTenantThemeItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantThemeItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfVideoManagementItem": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/VideoManagementItem"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfVocabularyUnit": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/VocabularyUnit"
          }
        ]
      }
    }
  },
  "ContentManagementResultOfVocabularyWord": {
    "required": [
      "item"
    ],
    "type": "object",
    "properties": {
      "item": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/VocabularyWord"
          }
        ]
      }
    }
  },
  "ContentMarkerType": {
    "type": "integer"
  },
  "ContentNodeCatalogItem": {
    "required": [
      "id",
      "entryId",
      "regionId",
      "parentId",
      "legacyId",
      "nodeKey",
      "name",
      "nodeType",
      "markerType",
      "markerConfig",
      "path",
      "depth",
      "order",
      "isSelectable",
      "isLeaf",
      "accessRules",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "entryId": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "nodeKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nodeType": {
        "$ref": "#/components/schemas/ContentNodeType"
      },
      "markerType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ContentMarkerType"
          }
        ]
      },
      "markerConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "depth": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isSelectable": {
        "type": "boolean"
      },
      "isLeaf": {
        "type": "boolean"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ContentNodeManagementItem": {
    "required": [
      "id",
      "entryId",
      "regionId",
      "parentId",
      "legacyId",
      "nodeKey",
      "name",
      "nodeType",
      "markerType",
      "markerConfig",
      "path",
      "depth",
      "order",
      "isActive",
      "isSelectable",
      "isLeaf",
      "accessRules",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "entryId": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "nodeKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nodeType": {
        "$ref": "#/components/schemas/ContentNodeType"
      },
      "markerType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ContentMarkerType"
          }
        ]
      },
      "markerConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "depth": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "isSelectable": {
        "type": "boolean"
      },
      "isLeaf": {
        "type": "boolean"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "ContentNodeType": {
    "type": "integer"
  },
  "ContentStatus": {
    "type": "integer"
  },
  "ContentVisibility": {
    "type": "integer"
  },
  "Coupon": {
    "type": "object",
    "properties": {
      "planId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "code": {
        "type": "string"
      },
      "discountType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/DiscountType"
          }
        ]
      },
      "discountValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "validFrom": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "validTo": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "maxUses": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "usedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "remark": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CouponRedemption": {
    "type": "object",
    "properties": {
      "couponId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "planId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "couponCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/CouponRedemptionStatus"
      },
      "discountAppliedCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "remark": {
        "type": [
          "null",
          "string"
        ]
      },
      "claimedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "usedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CouponRedemptionStatus": {
    "type": "integer"
  },
  "CreateAdjustmentVoucherDto": {
    "required": [
      "reason"
    ],
    "type": "object",
    "properties": {
      "issueId": {
        "type": [
          "null",
          "string"
        ],
        "description": "工单 ID。",
        "format": "uuid"
      },
      "batchId": {
        "type": [
          "null",
          "string"
        ],
        "description": "批次 ID。",
        "format": "uuid"
      },
      "itemId": {
        "type": [
          "null",
          "string"
        ],
        "description": "兑换项 ID。",
        "format": "uuid"
      },
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "description": "订单 ID。",
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "description": "支付记录 ID。",
        "format": "uuid"
      },
      "refundRequestId": {
        "type": [
          "null",
          "string"
        ],
        "description": "退款申请 ID。",
        "format": "uuid"
      },
      "direction": {
        "description": "方向。",
        "$ref": "#/components/schemas/CommerceAdjustmentDirection"
      },
      "amountCents": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "金额，单位为分。",
        "format": "int32"
      },
      "currency": {
        "maxLength": 10,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "币种。"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": "string",
        "description": "原因。"
      },
      "proofAssetKey": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "证明资产键。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建调账凭证请求 DTO。"
  },
  "CreateBackgroundJobDto": {
    "type": "object",
    "properties": {
      "jobType": {
        "type": "string",
        "description": "任务类型。"
      },
      "payload": {
        "description": "任务载荷。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "runAfter": {
        "type": [
          "null",
          "string"
        ],
        "description": "计划运行时间。",
        "format": "date-time"
      },
      "maxRetries": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "最大重试次数。",
        "format": "int32"
      }
    },
    "description": "创建租户后台任务请求。"
  },
  "CreateCodeBatchDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "totalCount": {
        "maximum": 1000,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "总数量。",
        "format": "int32"
      },
      "days": {
        "maximum": 3650,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "天数。",
        "format": "int32"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "saleType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "售卖类型。"
      },
      "channel": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "渠道。"
      },
      "defaultUnitPriceCents": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "默认单价，单位为分。",
        "format": "int32"
      },
      "costPriceCents": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "成本价，单位为分。",
        "format": "int32"
      },
      "remark": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      }
    },
    "description": "创建编码批次请求 DTO。"
  },
  "CreateCommerceOrderDto": {
    "required": [
      "planId"
    ],
    "type": "object",
    "properties": {
      "planId": {
        "type": "string",
        "description": "套餐 ID。",
        "format": "uuid"
      },
      "quantity": {
        "maximum": 99,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "数量。",
        "format": "int32"
      },
      "payMethod": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付方式。"
      },
      "payProvider": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付渠道。"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "couponCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "优惠券码。"
      },
      "couponRedemptionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "优惠券领取记录 ID。",
        "format": "uuid"
      }
    },
    "description": "创建交易订单请求 DTO。"
  },
  "CreateCommercePaymentDto": {
    "required": [
      "orderNo",
      "provider",
      "method"
    ],
    "type": "object",
    "properties": {
      "orderNo": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "订单号。"
      },
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "method": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "方式。"
      },
      "openId": {
        "maxLength": 255,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "微信或支付渠道 openid。"
      },
      "returnUrl": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付完成返回地址。"
      },
      "quitUrl": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付取消返回地址。"
      }
    },
    "description": "创建交易支付请求 DTO。"
  },
  "CreateCommissionProofDto": {
    "required": [
      "settlementId"
    ],
    "type": "object",
    "properties": {
      "settlementId": {
        "type": "string",
        "description": "结算单 ID。",
        "format": "uuid"
      },
      "proofType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "凭证类型。"
      },
      "title": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "标题。"
      },
      "description": {
        "maxLength": 2000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "description": "资产 ID。",
        "format": "uuid"
      },
      "externalUrl": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "外部链接。"
      },
      "amountCents": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "金额，单位为分。",
        "format": "int32"
      },
      "paymentMethod": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付方式。"
      },
      "paymentAccount": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "收款账号。"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "支付时间。",
        "format": "date-time"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "创建佣金结算凭证请求。"
  },
  "CreatePlatformBillingOrderDto": {
    "required": [
      "quoteId",
      "idempotencyKey"
    ],
    "type": "object",
    "properties": {
      "quoteId": {
        "type": "string",
        "format": "uuid"
      },
      "idempotencyKey": {
        "type": "string"
      }
    },
    "description": "创建平台账务订单请求 DTO。"
  },
  "CreatePlatformBillingPaymentDto": {
    "required": [
      "provider",
      "method",
      "idempotencyKey",
      "openId",
      "returnUrl",
      "quitUrl"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string"
      },
      "method": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "openId": {
        "type": [
          "null",
          "string"
        ]
      },
      "returnUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "quitUrl": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "description": "创建平台账务支付请求 DTO。"
  },
  "CreatePlatformBillingQuoteDto": {
    "required": [
      "baseOfferingVersionId",
      "addOnOfferingVersionIds",
      "purpose",
      "idempotencyKey"
    ],
    "type": "object",
    "properties": {
      "baseOfferingVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "addOnOfferingVersionIds": {
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string",
          "format": "uuid"
        }
      },
      "purpose": {
        "$ref": "#/components/schemas/PlatformBillingOrderPurpose"
      },
      "idempotencyKey": {
        "type": "string"
      }
    },
    "description": "创建平台账务报价请求 DTO。"
  },
  "CreatePlatformTenantDto": {
    "required": [
      "slug",
      "name",
      "ownerName",
      "temporaryPassword"
    ],
    "type": "object",
    "properties": {
      "slug": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "短编码。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "legalName": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "法定名称。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantStatus"
      },
      "billingStatus": {
        "description": "账务状态。",
        "$ref": "#/components/schemas/BillingStatus"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "ownerEmail": {
        "maxLength": 320,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户负责人邮箱。"
      },
      "ownerPhone": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户负责人手机号。"
      },
      "ownerName": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "租户负责人姓名。"
      },
      "temporaryPassword": {
        "maxLength": 200,
        "minLength": 12,
        "type": "string",
        "description": "临时密码。"
      }
    },
    "description": "创建平台租户请求 DTO。"
  },
  "CreatePointExchangeOrderDto": {
    "required": [
      "itemId"
    ],
    "type": "object",
    "properties": {
      "itemId": {
        "type": "string",
        "description": "兑换项 ID。",
        "format": "uuid"
      }
    },
    "description": "创建积分兑换订单请求 DTO。"
  },
  "CreatePracticeSessionDto": {
    "type": "object",
    "properties": {
      "mode": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "模式。"
      },
      "targetType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "目标类型。"
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ],
        "description": "目标 ID。",
        "format": "uuid"
      },
      "blueprintId": {
        "type": [
          "null",
          "string"
        ],
        "description": "练习蓝图 ID。",
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题集 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "questionLimit": {
        "maximum": 500,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "题目数量上限。",
        "format": "int32"
      },
      "durationMinutes": {
        "maximum": 1440,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "时长，单位为分钟。",
        "format": "int32"
      },
      "totalScore": {
        "maximum": 99999,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "总分。",
        "format": "double"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建练习会话请求 DTO。"
  },
  "CreateReconciliationBatchDto": {
    "required": [
      "provider",
      "sourceHash"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "billDate": {
        "type": "string",
        "description": "账单日期。",
        "format": "date"
      },
      "billType": {
        "description": "账单类型。",
        "$ref": "#/components/schemas/ReconciliationBillType"
      },
      "source": {
        "description": "来源。",
        "$ref": "#/components/schemas/ReconciliationSource"
      },
      "sourceName": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源名称。"
      },
      "sourceHash": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "来源哈希。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建对账批次请求 DTO。"
  },
  "CreateRefundRequestDto": {
    "required": [
      "orderId"
    ],
    "type": "object",
    "properties": {
      "orderId": {
        "type": "string",
        "description": "订单 ID。",
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "description": "支付记录 ID。",
        "format": "uuid"
      },
      "amountCents": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "金额，单位为分。",
        "format": "int32"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      },
      "entitlementAction": {
        "description": "权益动作。",
        "$ref": "#/components/schemas/RefundEntitlementAction"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建退款Request请求 DTO。"
  },
  "CreateTaxonomyNodeDto": {
    "required": [
      "nodeType",
      "code",
      "name"
    ],
    "type": "object",
    "properties": {
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "description": "父节点 ID。",
        "format": "uuid"
      },
      "parentSource": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "父级来源。",
            "$ref": "#/components/schemas/QuestionSource"
          }
        ]
      },
      "nodeType": {
        "description": "节点Type。",
        "$ref": "#/components/schemas/TaxonomyNodeType"
      },
      "code": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "name": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "排序值。",
        "format": "int32"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "创建分类节点请求 DTO。"
  },
  "CreateTenantDomainDto": {
    "required": [
      "host"
    ],
    "type": "object",
    "properties": {
      "host": {
        "type": "string",
        "description": "访问域名。"
      },
      "domainType": {
        "type": [
          "null",
          "string"
        ],
        "description": "域名类型。"
      },
      "isPrimary": {
        "type": "boolean",
        "description": "是否主域名。"
      }
    },
    "description": "创建租户域名请求 DTO。"
  },
  "CrmConfigItem": {
    "required": [
      "id",
      "enabled",
      "url",
      "secretRef",
      "assignmentMode",
      "assignmentPool",
      "formName",
      "examType",
      "timeoutSeconds",
      "delaySeconds",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "enabled": {
        "type": "boolean"
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "assignmentMode": {
        "type": "string"
      },
      "assignmentPool": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "formName": {
        "type": [
          "null",
          "string"
        ]
      },
      "examType": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeoutSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "delaySeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "CrmDeadLetterResult": {
    "required": [
      "summary",
      "items"
    ],
    "type": "object",
    "properties": {
      "summary": {
        "$ref": "#/components/schemas/CrmDeadLetterSummary"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CrmQueueItem"
        }
      }
    }
  },
  "CrmDeadLetterSummary": {
    "required": [
      "failed",
      "discarded",
      "total",
      "oldestOpenAt"
    ],
    "type": "object",
    "properties": {
      "failed": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discarded": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "total": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "oldestOpenAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "CrmListOfCrmQueueItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CrmQueueItem"
        }
      }
    }
  },
  "CrmListOfCrmQueueLogItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CrmQueueLogItem"
        }
      }
    }
  },
  "CrmQueueActionDto": {
    "required": [
      "queueId"
    ],
    "type": "object",
    "properties": {
      "queueId": {
        "type": "string",
        "description": "队列任务 ID。",
        "format": "uuid"
      },
      "action": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "操作。"
      },
      "note": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "CRM队列Action请求 DTO。"
  },
  "CrmQueueItem": {
    "required": [
      "id",
      "status",
      "attempts",
      "leadId",
      "recordId",
      "source",
      "provider",
      "lastError",
      "scheduledAt",
      "nextAttemptAt",
      "payload"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "type": "string"
      },
      "attempts": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "leadId": {
        "type": [
          "null",
          "string"
        ]
      },
      "recordId": {
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "provider": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastError": {
        "type": [
          "null",
          "string"
        ]
      },
      "scheduledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "nextAttemptAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "payload": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "CrmQueueLogItem": {
    "required": [
      "id",
      "queueId",
      "recordId",
      "leadId",
      "httpCode",
      "outcome",
      "errorMessage",
      "operation",
      "requestPayload",
      "responseSummary",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "queueId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "recordId": {
        "type": [
          "null",
          "string"
        ]
      },
      "leadId": {
        "type": [
          "null",
          "string"
        ]
      },
      "httpCode": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "outcome": {
        "type": "string"
      },
      "errorMessage": {
        "type": [
          "null",
          "string"
        ]
      },
      "operation": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "responseSummary": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "CrmQueuePreviewItem": {
    "required": [
      "id",
      "status",
      "source"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "type": "string"
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "CrmWebhookLog": {
    "type": "object",
    "properties": {
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "recordId": {
        "type": [
          "null",
          "string"
        ]
      },
      "leadId": {
        "type": [
          "null",
          "string"
        ]
      },
      "httpCode": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "outcome": {
        "type": [
          "null",
          "string"
        ]
      },
      "errorMessage": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestBody": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "responseSummary": {
        "type": [
          "null",
          "string"
        ]
      },
      "signedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "attempt": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CrmWebhookQueueItem": {
    "type": "object",
    "properties": {
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "recordId": {
        "type": [
          "null",
          "string"
        ]
      },
      "leadId": {
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "provider": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/CrmWebhookQueueStatus"
      },
      "scheduledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "attempts": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "nextAttemptAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastAttemptAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastError": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastHttpCode": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastResponseSummary": {
        "type": [
          "null",
          "string"
        ]
      },
      "sentAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "idempotencyKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "payload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "CrmWebhookQueueStatus": {
    "type": "integer"
  },
  "CurrentEntitlementItem": {
    "required": [
      "isActive",
      "entitlementType",
      "startsAt",
      "expiresAt",
      "status",
      "daysLeft"
    ],
    "type": "object",
    "properties": {
      "isActive": {
        "type": "boolean"
      },
      "entitlementType": {
        "type": "string"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "status": {
        "type": "string"
      },
      "daysLeft": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "CurrentTenantResponse": {
    "required": [
      "tenantId",
      "tenantName",
      "tenantSlug",
      "status",
      "role"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string",
        "description": "租户名称。"
      },
      "tenantSlug": {
        "type": "string",
        "description": "租户编码。"
      },
      "status": {
        "description": "租户状态。",
        "$ref": "#/components/schemas/TenantStatus"
      },
      "role": {
        "description": "当前用户在租户内的角色。",
        "$ref": "#/components/schemas/TenantRole"
      }
    },
    "description": "当前请求租户和当前用户在该租户内的权限摘要。"
  },
  "DirectHandbookChapterDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧知识手册章节写入请求。"
  },
  "DirectHandbookEntryDto": {
    "required": [
      "title"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "chapterId": {
        "type": [
          "null",
          "string"
        ],
        "description": "章节 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "title": {
        "type": "string",
        "description": "标题。"
      },
      "summary": {
        "type": [
          "null",
          "string"
        ],
        "description": "摘要。"
      },
      "content": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容。"
      },
      "tags": {
        "description": "标签列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧知识手册条目写入请求。"
  },
  "DirectHandbookSubjectDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "院校 ID。",
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "description": "专业 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "type": {
        "type": [
          "null",
          "string"
        ],
        "description": "类型。"
      },
      "icon": {
        "type": [
          "null",
          "string"
        ],
        "description": "图标。"
      },
      "color": {
        "type": [
          "null",
          "string"
        ],
        "description": "颜色。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧知识手册科目写入请求。"
  },
  "DirectImportDto": {
    "type": "object",
    "properties": {
      "sourceFormat": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源格式。"
      },
      "sourceName": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源名称。"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类 ID。",
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题库 ID。",
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题集 ID。",
        "format": "uuid"
      },
      "async": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否异步执行。"
      },
      "items": {
        "type": [
          "null",
          "array"
        ],
        "description": "数据项列表。"
      },
      "units": {
        "type": [
          "null",
          "array"
        ],
        "description": "单元数据列表。"
      },
      "words": {
        "type": [
          "null",
          "array"
        ],
        "description": "单词数据列表。"
      },
      "subjects": {
        "type": [
          "null",
          "array"
        ],
        "description": "科目数据列表。"
      },
      "entries": {
        "type": [
          "null",
          "array"
        ],
        "description": "条目数据列表。"
      },
      "fields": {
        "type": [
          "null",
          "array"
        ],
        "description": "字段数据列表。"
      },
      "schools": {
        "type": [
          "null",
          "array"
        ],
        "description": "院校数据列表。"
      },
      "majors": {
        "type": [
          "null",
          "array"
        ],
        "description": "专业数据列表。"
      },
      "records": {
        "type": [
          "null",
          "array"
        ],
        "description": "记录数据列表。"
      },
      "videos": {
        "type": [
          "null",
          "array"
        ],
        "description": "视频数据列表。"
      }
    },
    "description": "管理侧内容导入请求。"
  },
  "DirectImportJobDto": {
    "type": "object",
    "properties": {
      "jobId": {
        "type": "string",
        "description": "任务 ID。",
        "format": "uuid"
      }
    },
    "description": "管理侧内容导入任务查询请求。"
  },
  "DirectMajorDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "院校 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "studyTips": {
        "type": [
          "null",
          "string"
        ],
        "description": "备考建议。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      }
    },
    "description": "管理侧专业写入请求。"
  },
  "DirectOperationContentDto": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "院校 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "title": {
        "type": [
          "null",
          "string"
        ],
        "description": "标题。"
      },
      "subtitle": {
        "type": [
          "null",
          "string"
        ],
        "description": "副标题。"
      },
      "content": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容。"
      },
      "question": {
        "type": [
          "null",
          "string"
        ],
        "description": "问题。"
      },
      "answer": {
        "type": [
          "null",
          "string"
        ],
        "description": "答案。"
      },
      "link": {
        "type": [
          "null",
          "string"
        ],
        "description": "链接地址。"
      },
      "buttonText": {
        "type": [
          "null",
          "string"
        ],
        "description": "按钮文案。"
      },
      "buttonLink": {
        "type": [
          "null",
          "string"
        ],
        "description": "按钮链接。"
      },
      "backgroundColor": {
        "type": [
          "null",
          "string"
        ],
        "description": "背景颜色。"
      },
      "borderColor": {
        "type": [
          "null",
          "string"
        ],
        "description": "边框颜色。"
      },
      "examName": {
        "type": [
          "null",
          "string"
        ],
        "description": "考试名称。"
      },
      "examAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "考试时间。",
        "format": "date-time"
      },
      "examType": {
        "type": [
          "null",
          "string"
        ],
        "description": "考试类型。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧运营内容写入请求。"
  },
  "DirectQuestionVideoDto": {
    "type": "object",
    "properties": {
      "questionId": {
        "type": "string",
        "description": "题目 ID。",
        "format": "uuid"
      },
      "videoId": {
        "type": "string",
        "description": "视频 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "videoType": {
        "type": [
          "null",
          "string"
        ],
        "description": "视频类型。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧题目视频绑定请求。"
  },
  "DirectQuestionWriteDto": {
    "type": "object",
    "properties": {
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题目 ID。",
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题库 ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类 ID。",
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "节点 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "primaryCollectionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "主题集 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "type": {
        "type": [
          "null",
          "string"
        ],
        "description": "类型。"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ],
        "description": "类型显示名。"
      },
      "difficulty": {
        "maximum": 5,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "难度。",
        "format": "int32"
      },
      "tags": {
        "description": "标签列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "content": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容。"
      },
      "options": {
        "description": "选项配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "正确选项索引。",
        "format": "int32"
      },
      "correctOptionIndices": {
        "description": "正确选项索引列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ],
        "description": "文字答案。"
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ],
        "description": "解析。"
      },
      "subQuestions": {
        "description": "子题列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ],
        "description": "代码语言。"
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ],
        "description": "代码模板。"
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "媒体地址。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "examMarkers": {
        "description": "考试标记配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源哈希。"
      },
      "createVersion": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否创建题目版本。"
      }
    },
    "description": "管理侧题目写入请求。"
  },
  "DirectSchoolDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "professionalExamDate": {
        "type": [
          "null",
          "string"
        ],
        "description": "专业考试日期。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧院校写入请求。"
  },
  "DirectScorelineFieldDto": {
    "required": [
      "fieldKey",
      "fieldName"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "fieldKey": {
        "type": "string",
        "description": "字段键。"
      },
      "fieldName": {
        "type": "string",
        "description": "字段名称。"
      },
      "fieldType": {
        "type": [
          "null",
          "string"
        ],
        "description": "字段类型。"
      },
      "unit": {
        "type": [
          "null",
          "string"
        ],
        "description": "单位。"
      },
      "isFilter": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否可筛选。"
      },
      "isRequired": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否必填。"
      },
      "isVisible": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否可见。"
      },
      "isTrend": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否参与趋势展示。"
      },
      "options": {
        "description": "选项配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "placeholder": {
        "type": [
          "null",
          "string"
        ],
        "description": "占位提示。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      }
    },
    "description": "管理侧分数线字段写入请求。"
  },
  "DirectScorelineRecordDto": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "院校 ID。",
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "description": "专业 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "year": {
        "maximum": 3000,
        "minimum": 1900,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "年份。",
        "format": "int32"
      },
      "schoolName": {
        "type": [
          "null",
          "string"
        ],
        "description": "院校名称。"
      },
      "majorName": {
        "type": [
          "null",
          "string"
        ],
        "description": "专业名称。"
      },
      "fieldValues": {
        "description": "动态字段值。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧分数线记录写入请求。"
  },
  "DirectVideoDto": {
    "required": [
      "title"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "title": {
        "type": "string",
        "description": "标题。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "videoUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "视频地址。"
      },
      "thumbnailUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "缩略图地址。"
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "时长，单位为秒。",
        "format": "int32"
      },
      "knowledgeTags": {
        "description": "知识标签。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "isGeneral": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否通用视频。"
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "难度。",
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧视频写入请求。"
  },
  "DirectVocabularyUnitDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "wordCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "单词数量。",
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧词汇单元写入请求。"
  },
  "DirectVocabularyWordDto": {
    "required": [
      "word"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "unitId": {
        "type": [
          "null",
          "string"
        ],
        "description": "单元 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "word": {
        "type": "string",
        "description": "单词。"
      },
      "phonetic": {
        "type": [
          "null",
          "string"
        ],
        "description": "音标。"
      },
      "meaning": {
        "type": [
          "null",
          "string"
        ],
        "description": "释义。"
      },
      "example": {
        "type": [
          "null",
          "string"
        ],
        "description": "例句。"
      },
      "exampleTranslation": {
        "type": [
          "null",
          "string"
        ],
        "description": "例句翻译。"
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "难度。",
        "format": "int32"
      },
      "tags": {
        "description": "标签列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "管理侧词汇单词写入请求。"
  },
  "DisablePlatformBillingDunningChannelDto": {
    "required": [
      "channelId"
    ],
    "type": "object",
    "properties": {
      "channelId": {
        "type": "string",
        "description": "通知渠道 ID。",
        "format": "uuid"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "禁用平台DunningChannel请求 DTO。"
  },
  "DisableTenantAdminMemberDto": {
    "required": [
      "membershipId"
    ],
    "type": "object",
    "properties": {
      "membershipId": {
        "type": "string",
        "description": "成员关系 ID。",
        "format": "uuid"
      }
    },
    "description": "禁用租户管理端成员请求 DTO。"
  },
  "DiscountType": {
    "type": "integer"
  },
  "ExamCountdownItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "schoolId",
      "examName",
      "examAt",
      "examType",
      "description",
      "metadata",
      "order",
      "isActive",
      "daysLeft"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "examName": {
        "type": "string"
      },
      "examAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "examType": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "daysLeft": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ExamCountdownList": {
    "required": [
      "items",
      "regionId",
      "schoolId"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExamCountdownItem"
        }
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      }
    }
  },
  "ExamDateCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "schoolId",
      "examName",
      "examAt",
      "examType",
      "description",
      "metadata",
      "order",
      "isActive",
      "daysLeft"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "examName": {
        "type": "string"
      },
      "examAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "examType": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "daysLeft": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "FaqCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "question",
      "answer",
      "order",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "question": {
        "type": [
          "null",
          "string"
        ]
      },
      "answer": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "FavoriteQuestionItem": {
    "required": [
      "questionReferenceId",
      "locator",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "questionReferenceId": {
        "type": "string",
        "format": "uuid"
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "FavoriteWordDto": {
    "required": [
      "wordId"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "description": "单词 ID。",
        "format": "uuid"
      },
      "favorite": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否收藏。"
      },
      "note": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      }
    },
    "description": "收藏单词请求 DTO。"
  },
  "FavoriteWordItem": {
    "required": [
      "wordId",
      "note",
      "favoritedAt"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "format": "uuid"
      },
      "note": {
        "type": [
          "null",
          "string"
        ]
      },
      "favoritedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "FeatureQuotaSnapshot": {
    "required": [
      "metricCode",
      "usedValue",
      "limitValue",
      "usedPercent",
      "warning",
      "exceeded",
      "periodStart",
      "periodEnd"
    ],
    "type": "object",
    "properties": {
      "metricCode": {
        "type": "string"
      },
      "usedValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "limitValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "usedPercent": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "warning": {
        "type": "boolean"
      },
      "exceeded": {
        "type": "boolean"
      },
      "periodStart": {
        "type": "string",
        "format": "date-time"
      },
      "periodEnd": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "FeedbackItem": {
    "required": [
      "id",
      "questionId",
      "type",
      "title",
      "category",
      "description",
      "status",
      "priority",
      "contact",
      "attachments",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "type": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "priority": {
        "type": "string"
      },
      "contact": {
        "type": [
          "null",
          "string"
        ]
      },
      "attachments": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "GenerateCommissionSettlementDto": {
    "required": [
      "startDate",
      "endDate",
      "referrerUserId"
    ],
    "type": "object",
    "properties": {
      "startDate": {
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        "type": "string",
        "description": "开始日期，格式为 yyyy-MM-dd。"
      },
      "endDate": {
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        "type": "string",
        "description": "结束日期，格式为 yyyy-MM-dd。"
      },
      "referrerUserId": {
        "type": "string",
        "description": "推荐人用户 ID。",
        "format": "uuid"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "remark": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "生成佣金结算单请求 DTO。"
  },
  "GrantTenantAdminBadgeDto": {
    "required": [
      "userId",
      "badgeId"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "badgeId": {
        "type": "string",
        "description": "徽章 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "note": {
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      },
      "grantedAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "授予时间。",
        "format": "date-time"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "授予租户管理端徽章请求 DTO。"
  },
  "HandbookChapter": {
    "type": "object",
    "properties": {
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "HandbookChapterCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "subjectId",
      "entryId",
      "contentNodeId",
      "name",
      "description",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "HandbookEntry": {
    "type": "object",
    "properties": {
      "chapterId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": "string"
      },
      "summary": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "HandbookEntryCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "chapterId",
      "entryId",
      "contentNodeId",
      "title",
      "summary",
      "content",
      "tags",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "chapterId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": "string"
      },
      "summary": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "HandbookSubject": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "type": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HandbookSubjectType"
          }
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "color": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "majorLegacyIds": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "HandbookSubjectCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "schoolId",
      "majorId",
      "entryId",
      "contentNodeId",
      "name",
      "type",
      "icon",
      "color",
      "description",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HandbookSubjectType"
          }
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "color": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "HandbookSubjectType": {
    "type": "integer"
  },
  "HealthResponseDto": {
    "required": [
      "status",
      "service",
      "checkedAt"
    ],
    "type": "object",
    "properties": {
      "status": {
        "type": "string",
        "description": "服务状态，例如 ok。"
      },
      "service": {
        "type": "string",
        "description": "服务名称。"
      },
      "checkedAt": {
        "type": "string",
        "description": "检查时间。",
        "format": "date-time"
      }
    },
    "description": "健康检查响应。"
  },
  "IdempotentTenantBillingDto": {
    "required": [
      "idempotencyKey"
    ],
    "type": "object",
    "properties": {
      "idempotencyKey": {
        "type": "string"
      }
    },
    "description": "Idempotent租户账务请求 DTO。"
  },
  "ImageAssetCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "title",
      "category",
      "fileName",
      "isPublic",
      "cdnUrl",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ]
      },
      "isPublic": {
        "type": "boolean"
      },
      "cdnUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ImportFieldMappingItem": {
    "required": [
      "importType",
      "title",
      "description",
      "fields",
      "requiredFields"
    ],
    "type": "object",
    "properties": {
      "importType": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "fields": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImportFieldSpec"
        }
      },
      "requiredFields": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  },
  "ImportFieldSpec": {
    "required": [
      "field",
      "label",
      "required",
      "aliases",
      "description",
      "example"
    ],
    "type": "object",
    "properties": {
      "field": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "required": {
        "type": "boolean"
      },
      "aliases": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "description": {
        "type": "string"
      },
      "example": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ImportIssueSeverity": {
    "type": "integer"
  },
  "ImportPostCheckResult": {
    "required": [
      "jobId",
      "status",
      "counts",
      "issues"
    ],
    "type": "object",
    "properties": {
      "jobId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "type": "string"
      },
      "counts": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "issues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportIssueModel"
        }
      }
    }
  },
  "ImportSourceFormat": {
    "type": "integer"
  },
  "ImportTemplateItem": {
    "required": [
      "importType",
      "format",
      "fileName",
      "mimeType",
      "contentBase64",
      "contentPreview",
      "fields"
    ],
    "type": "object",
    "properties": {
      "importType": {
        "type": "string"
      },
      "format": {
        "type": "string"
      },
      "fileName": {
        "type": "string"
      },
      "mimeType": {
        "type": "string"
      },
      "contentBase64": {
        "type": "string"
      },
      "contentPreview": {
        "type": "string"
      },
      "fields": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImportFieldSpec"
        }
      }
    }
  },
  "JsonElement": {},
  "LearningActionResult": {
    "required": [
      "ok"
    ],
    "type": "object",
    "properties": {
      "ok": {
        "type": "boolean"
      },
      "isFavorite": {
        "type": [
          "null",
          "boolean"
        ]
      }
    }
  },
  "LearningLeaderboardItem": {
    "required": [
      "userId",
      "displayName",
      "answerCount",
      "correctCount",
      "wrongCount",
      "accuracy"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "displayName": {
        "type": [
          "null",
          "string"
        ]
      },
      "answerCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "accuracy": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      }
    }
  },
  "LearningLeaderboardResult": {
    "required": [
      "metric",
      "period",
      "items",
      "currentUser",
      "generatedAt"
    ],
    "type": "object",
    "properties": {
      "metric": {
        "type": "string"
      },
      "period": {
        "type": "string"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LearningLeaderboardItem"
        }
      },
      "currentUser": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/LearningLeaderboardItem"
          }
        ]
      },
      "generatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "LearningListOfFavoriteQuestionItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FavoriteQuestionItem"
        }
      }
    }
  },
  "LearningListOfFavoriteWordItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FavoriteWordItem"
        }
      }
    }
  },
  "LearningListOfLearningTrendItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LearningTrendItem"
        }
      }
    }
  },
  "LearningListOfPracticeHistoryItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PracticeHistoryItem"
        }
      }
    }
  },
  "LearningListOfPracticeSessionReportItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PracticeSessionReportItem"
        }
      }
    }
  },
  "LearningListOfWordProgressItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordProgressItem"
        }
      }
    }
  },
  "LearningListOfWrongQuestionItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WrongQuestionItem"
        }
      }
    }
  },
  "LearningStatsItem": {
    "required": [
      "answerCount",
      "correctCount",
      "wrongCount",
      "favoriteQuestionCount",
      "favoriteWordCount",
      "wordProgressCount",
      "practiceSessionCount",
      "practiceReportCount"
    ],
    "type": "object",
    "properties": {
      "answerCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "favoriteQuestionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "favoriteWordCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wordProgressCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "practiceSessionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "practiceReportCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "LearningTrendItem": {
    "required": [
      "date",
      "answerCount",
      "correctCount",
      "wrongCount"
    ],
    "type": "object",
    "properties": {
      "date": {
        "type": "string",
        "format": "date"
      },
      "answerCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "Major": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "studyTips": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "MajorCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "schoolId",
      "name",
      "description",
      "studyTips",
      "order"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "studyTips": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ManualBindReferralDto": {
    "required": [
      "studentUserId",
      "referrerUserId"
    ],
    "type": "object",
    "properties": {
      "studentUserId": {
        "type": "string",
        "description": "学生用户 ID。",
        "format": "uuid"
      },
      "referrerUserId": {
        "type": "string",
        "description": "推荐人用户 ID。",
        "format": "uuid"
      },
      "source": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源。"
      },
      "force": {
        "type": "boolean",
        "description": "是否强制执行。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "人工绑定推荐请求 DTO。"
  },
  "MembershipStatus": {
    "type": "integer"
  },
  "MeResponse": {
    "required": [
      "userId",
      "phone",
      "email",
      "name",
      "tenants"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "phone": {
        "type": [
          "null",
          "string"
        ],
        "description": "手机号。"
      },
      "email": {
        "type": [
          "null",
          "string"
        ],
        "description": "邮箱。"
      },
      "name": {
        "type": [
          "null",
          "string"
        ],
        "description": "用户显示名称。"
      },
      "tenants": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantMembershipResponse"
        },
        "description": "当前用户拥有的活跃租户成员列表。"
      }
    },
    "description": "当前用户基础信息和租户成员摘要。"
  },
  "ModuleNodeCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "moduleId",
      "parentId",
      "legacyParentId",
      "type",
      "name",
      "path",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "moduleId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyParentId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "$ref": "#/components/schemas/ModuleNodeType"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ModuleNodeType": {
    "type": "integer"
  },
  "NotificationSeverity": {
    "type": "integer"
  },
  "NotificationStatus": {
    "type": "integer"
  },
  "NotificationStatusDto": {
    "required": [
      "notificationIds"
    ],
    "type": "object",
    "properties": {
      "notificationIds": {
        "maxItems": 100,
        "minItems": 1,
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "通知 ID 列表。"
      },
      "status": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      }
    },
    "description": "通知状态请求 DTO。"
  },
  "OAuthCodeDto": {
    "required": [
      "realm",
      "code"
    ],
    "type": "object",
    "properties": {
      "realm": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "认证域。",
            "$ref": "#/components/schemas/AuthRealm"
          }
        ]
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      },
      "code": {
        "maxLength": 512,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "profile": {
        "type": [
          "null",
          "object"
        ],
        "description": "公开用户资料。"
      },
      "lang": {
        "maxLength": 20,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "语言。"
      }
    },
    "description": "O认证编码请求 DTO。"
  },
  "ObjectStorageMetadata": {
    "required": [
      "provider",
      "bucket",
      "objectKey",
      "exists",
      "sizeBytes",
      "mimeType",
      "checksumSha256",
      "eTag",
      "lastModified",
      "rawHeaders",
      "verificationSource"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ]
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "exists": {
        "type": "boolean"
      },
      "sizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "mimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "checksumSha256": {
        "type": [
          "null",
          "string"
        ]
      },
      "eTag": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastModified": {
        "type": [
          "null",
          "string"
        ]
      },
      "rawHeaders": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "verificationSource": {
        "type": "string"
      }
    }
  },
  "ObjectStorageSignedUrl": {
    "required": [
      "provider",
      "bucket",
      "objectKey",
      "method",
      "url",
      "headers",
      "expiresAt",
      "expiresIn",
      "signatureMode"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ]
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "method": {
        "type": "string"
      },
      "url": {
        "type": "string",
        "format": "uri"
      },
      "headers": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      },
      "expiresIn": {
        "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
        "type": "string"
      },
      "signatureMode": {
        "type": "string"
      }
    }
  },
  "OperationContentItem": {
    "required": [
      "id",
      "kind",
      "regionId",
      "schoolId",
      "legacyId",
      "title",
      "content",
      "question",
      "answer",
      "examAt",
      "examType",
      "order",
      "isActive",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "kind": {
        "type": "string"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "question": {
        "type": [
          "null",
          "string"
        ]
      },
      "answer": {
        "type": [
          "null",
          "string"
        ]
      },
      "examAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "examType": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PasswordLoginDto": {
    "required": [
      "realm",
      "password"
    ],
    "type": "object",
    "properties": {
      "realm": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "认证域。",
            "$ref": "#/components/schemas/AuthRealm"
          }
        ]
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      },
      "identifier": {
        "maxLength": 320,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "账号标识。"
      },
      "phone": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "兼容手机号字段；新客户端应使用 identifier。"
      },
      "password": {
        "maxLength": 128,
        "minLength": 8,
        "type": "string",
        "description": "密码。"
      }
    },
    "description": "PasswordLogin请求 DTO。"
  },
  "PaymentNotificationProcessResult": {
    "required": [
      "provider",
      "eventId",
      "orderNo",
      "status",
      "idempotent"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string"
      },
      "eventId": {
        "type": "string"
      },
      "orderNo": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "idempotent": {
        "type": "boolean"
      }
    }
  },
  "PlatformAlertSeverity": {
    "type": "integer"
  },
  "PlatformAuditAlert": {
    "type": "object",
    "properties": {
      "ruleId": {
        "type": "string",
        "format": "uuid"
      },
      "auditLogId": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "acknowledgedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "resolvedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "severity": {
        "$ref": "#/components/schemas/PlatformAlertSeverity"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformAuditAlertStatus"
      },
      "action": {
        "type": "string"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": "string"
      },
      "summary": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "firstSeenAt": {
        "type": "string",
        "format": "date-time"
      },
      "lastSeenAt": {
        "type": "string",
        "format": "date-time"
      },
      "acknowledgedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "resolvedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "resolutionNote": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformAuditAlertList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformAuditAlert"
        }
      }
    }
  },
  "PlatformAuditAlertStatus": {
    "type": "integer"
  },
  "PlatformAuditLogItem": {
    "required": [
      "id",
      "tenantId",
      "actorUserId",
      "action",
      "targetType",
      "targetId",
      "details",
      "ipAddress",
      "userAgent",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "actorUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "action": {
        "type": "string"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "ipAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "userAgent": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformAuditLogList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformAuditLogItem"
        }
      }
    }
  },
  "PlatformBillingCycle": {
    "type": "integer"
  },
  "PlatformBillingDunningChannelItem": {
    "required": [
      "id",
      "channelCode",
      "name",
      "description",
      "enabled",
      "provider",
      "webhookUrlMasked",
      "secretRef",
      "reminderTypes",
      "reminderChannels",
      "minReminderLevel",
      "tenantIds",
      "timeoutSeconds",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "channelCode": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "provider": {
        "$ref": "#/components/schemas/PlatformBillingDunningProvider"
      },
      "webhookUrlMasked": {
        "type": "string"
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "reminderTypes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "reminderChannels": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "minReminderLevel": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tenantIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        }
      },
      "timeoutSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformBillingDunningChannelList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformBillingDunningChannelItem"
        }
      }
    }
  },
  "PlatformBillingDunningEventItem": {
    "required": [
      "id",
      "tenantId",
      "channelId",
      "reminderId",
      "invoiceId",
      "provider",
      "status",
      "attempts",
      "scheduledAt",
      "nextAttemptAt",
      "lastAttemptAt",
      "sentAt",
      "lastError",
      "lastHttpCode",
      "lastResponseSummary",
      "requestPayload",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "channelId": {
        "type": "string",
        "format": "uuid"
      },
      "reminderId": {
        "type": "string",
        "format": "uuid"
      },
      "invoiceId": {
        "type": "string",
        "format": "uuid"
      },
      "provider": {
        "$ref": "#/components/schemas/PlatformBillingDunningProvider"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingDunningNotificationStatus"
      },
      "attempts": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "scheduledAt": {
        "type": "string",
        "format": "date-time"
      },
      "nextAttemptAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastAttemptAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "sentAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastError": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastHttpCode": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastResponseSummary": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformBillingDunningEventList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformBillingDunningEventItem"
        }
      }
    }
  },
  "PlatformBillingDunningNotificationStatus": {
    "type": "integer"
  },
  "PlatformBillingDunningProvider": {
    "type": "integer"
  },
  "PlatformBillingInvoice": {
    "type": "object",
    "properties": {
      "orderId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "invoiceNo": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingInvoiceStatus"
      },
      "totalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "dueDate": {
        "type": [
          "null",
          "string"
        ],
        "format": "date"
      },
      "issuedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "billingProfileSnapshot": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingInvoiceReminder": {
    "type": "object",
    "properties": {
      "invoiceId": {
        "type": "string",
        "format": "uuid"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "reminderType": {
        "$ref": "#/components/schemas/PlatformBillingInvoiceReminderType"
      },
      "channel": {
        "$ref": "#/components/schemas/PlatformBillingInvoiceReminderChannel"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingInvoiceReminderStatus"
      },
      "reminderDate": {
        "type": "string",
        "format": "date"
      },
      "reminderLevel": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "dueDate": {
        "type": [
          "null",
          "string"
        ],
        "format": "date"
      },
      "balanceCentsSnapshot": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "message": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "sentAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "acknowledgedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingInvoiceReminderChannel": {
    "type": "integer"
  },
  "PlatformBillingInvoiceReminderStatus": {
    "type": "integer"
  },
  "PlatformBillingInvoiceReminderType": {
    "type": "integer"
  },
  "PlatformBillingInvoiceStatus": {
    "type": "integer"
  },
  "PlatformBillingItemType": {
    "type": "integer"
  },
  "PlatformBillingOrder": {
    "type": "object",
    "properties": {
      "quoteId": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "purpose": {
        "$ref": "#/components/schemas/PlatformBillingOrderPurpose"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingOrderStatus"
      },
      "originalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discountAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "cancelledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "snapshot": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingOrderPurpose": {
    "type": "integer"
  },
  "PlatformBillingOrderStatus": {
    "type": "integer"
  },
  "PlatformBillingOrderView": {
    "required": [
      "id",
      "orderNo",
      "purpose",
      "status",
      "totalAmountCents",
      "currency",
      "expiresAt",
      "paidAt",
      "items"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "purpose": {
        "$ref": "#/components/schemas/PlatformBillingOrderPurpose"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingOrderStatus"
      },
      "totalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformBillingQuoteItemView"
        }
      }
    }
  },
  "PlatformBillingPayment": {
    "type": "object",
    "properties": {
      "orderId": {
        "type": "string",
        "format": "uuid"
      },
      "paymentNo": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "method": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingPaymentStatus"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "providerTradeNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "paidAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "clientPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingPaymentEvent": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "paymentId": {
        "type": "string",
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "providerEventId": {
        "type": "string"
      },
      "eventType": {
        "type": "string"
      },
      "payload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingPaymentStatus": {
    "type": "integer"
  },
  "PlatformBillingPaymentView": {
    "required": [
      "id",
      "paymentNo",
      "provider",
      "method",
      "status",
      "amountCents",
      "clientPayload"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "paymentNo": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "method": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingPaymentStatus"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "clientPayload": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PlatformBillingQuoteItemView": {
    "required": [
      "offeringVersionId",
      "offeringCode",
      "offeringName",
      "itemType",
      "unitAmountCents",
      "amountCents"
    ],
    "type": "object",
    "properties": {
      "offeringVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "offeringCode": {
        "type": "string"
      },
      "offeringName": {
        "type": "string"
      },
      "itemType": {
        "$ref": "#/components/schemas/PlatformBillingItemType"
      },
      "unitAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PlatformBillingQuoteStatus": {
    "type": "integer"
  },
  "PlatformBillingQuoteView": {
    "required": [
      "id",
      "quoteNo",
      "status",
      "purpose",
      "originalAmountCents",
      "discountAmountCents",
      "totalAmountCents",
      "currency",
      "expiresAt",
      "items",
      "featureCodes",
      "limits"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "quoteNo": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingQuoteStatus"
      },
      "purpose": {
        "$ref": "#/components/schemas/PlatformBillingOrderPurpose"
      },
      "originalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discountAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformBillingQuoteItemView"
        }
      },
      "featureCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "limits": {
        "type": "object",
        "additionalProperties": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int64"
        }
      }
    }
  },
  "PlatformBillingRefund": {
    "type": "object",
    "properties": {
      "orderId": {
        "type": "string",
        "format": "uuid"
      },
      "paymentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refundNo": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformBillingRefundStatus"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "reason": {
        "type": "string"
      },
      "providerRefundNo": {
        "type": [
          "null",
          "string"
        ]
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformBillingRefundStatus": {
    "type": "integer"
  },
  "PlatformCrmConfigItem": {
    "required": [
      "id",
      "tenantId",
      "tenantName",
      "enabled",
      "url",
      "secretRef",
      "formName",
      "examType",
      "timeoutSeconds",
      "delaySeconds",
      "assignmentMode",
      "assignmentPool",
      "assignmentConfig",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "formName": {
        "type": [
          "null",
          "string"
        ]
      },
      "examType": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeoutSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "delaySeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "assignmentMode": {
        "$ref": "#/components/schemas/ReferralAssignmentMode"
      },
      "assignmentPool": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "assignmentConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformDomainList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformTenantDomainItem"
        }
      }
    }
  },
  "PlatformDomainRecheckResult": {
    "required": [
      "domainId",
      "status",
      "lastCheckedAt"
    ],
    "type": "object",
    "properties": {
      "domainId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/TenantDomainStatus"
      },
      "lastCheckedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformOverview": {
    "required": [
      "tenantCount",
      "activeTenantCount",
      "suspendedTenantCount",
      "orderCount",
      "paidOrderCount",
      "revenueCents",
      "questionBankCount",
      "questionCount",
      "learningActiveUserCount"
    ],
    "type": "object",
    "properties": {
      "tenantCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "activeTenantCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "suspendedTenantCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "orderCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidOrderCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "revenueCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "questionBankCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "learningActiveUserCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PlatformPaymentApp": {
    "type": "object",
    "properties": {
      "appCode": {
        "type": "string"
      },
      "appName": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformPaymentAppStatus"
      },
      "settlementMode": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformPaymentAppStatus": {
    "type": "integer"
  },
  "PlatformPaymentChannel": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "mode": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/PlatformPaymentChannelStatus"
      },
      "displayName": {
        "type": "string"
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "callbackPath": {
        "type": [
          "null",
          "string"
        ]
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configPublic": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PlatformPaymentChannelStatus": {
    "type": "integer"
  },
  "PlatformQuestionBankItem": {
    "required": [
      "id",
      "contentEntryId",
      "name",
      "status",
      "nodeCount",
      "questionCount",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "contentEntryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/QuestionBankStatus"
      },
      "nodeCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "PlatformQuestionBankNodeItem": {
    "required": [
      "id",
      "questionBankId",
      "entryId",
      "parentId",
      "nodeKey",
      "name",
      "nodeType",
      "depth",
      "sortOrder",
      "isActive",
      "isSelectable",
      "isLeaf",
      "questionCount",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "entryId": {
        "type": "string",
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nodeType": {
        "$ref": "#/components/schemas/ContentNodeType"
      },
      "depth": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "isSelectable": {
        "type": "boolean"
      },
      "isLeaf": {
        "type": "boolean"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PlatformQuestionImportCommand": {
    "required": [
      "questionBankId",
      "contentNodeId",
      "format",
      "sourceName",
      "payload"
    ],
    "type": "object",
    "properties": {
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "format": {
        "type": "string"
      },
      "sourceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "payload": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PlatformQuestionImportResult": {
    "required": [
      "detail",
      "createdNodeCount",
      "insertedQuestionCount",
      "updatedQuestionCount",
      "skippedQuestionCount"
    ],
    "type": "object",
    "properties": {
      "detail": {
        "$ref": "#/components/schemas/ContentImportJobDetail"
      },
      "createdNodeCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "insertedQuestionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "updatedQuestionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "skippedQuestionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PlatformQuestionItem": {
    "required": [
      "id",
      "versionId",
      "questionBankId",
      "entryId",
      "contentNodeId",
      "legacyId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate",
      "mediaUrl",
      "status",
      "versionNo",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "versionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "entryId": {
        "type": "string",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "type": "string"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/QuestionStatus"
      },
      "versionNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "PlatformQuestionPage": {
    "required": [
      "items",
      "total",
      "page",
      "pageSize"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformQuestionItem"
        }
      },
      "total": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "page": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pageSize": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PlatformRebateSummary": {
    "required": [
      "grossAmountCents",
      "commissionAmountCents",
      "pendingSettlementCents",
      "paidSettlementCents",
      "exceptionCount"
    ],
    "type": "object",
    "properties": {
      "grossAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "commissionAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pendingSettlementCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidSettlementCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "exceptionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PlatformSmsChannelItem": {
    "required": [
      "id",
      "tenantId",
      "tenantName",
      "provider",
      "name",
      "signature",
      "scene",
      "status",
      "secretRef",
      "priority",
      "monthlyQuota",
      "sentThisMonth",
      "configPublic",
      "metadata",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "signature": {
        "type": "string"
      },
      "scene": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "monthlyQuota": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sentThisMonth": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configPublic": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformSmsTemplateItem": {
    "required": [
      "id",
      "tenantId",
      "tenantName",
      "channelId",
      "channelName",
      "code",
      "name",
      "type",
      "auditStatus",
      "status",
      "providerTemplateCode",
      "content",
      "remark",
      "sentCount",
      "failedCount",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string"
      },
      "channelId": {
        "type": "string",
        "format": "uuid"
      },
      "channelName": {
        "type": "string"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "$ref": "#/components/schemas/SmsTemplateType"
      },
      "auditStatus": {
        "$ref": "#/components/schemas/SmsTemplateAuditStatus"
      },
      "status": {
        "$ref": "#/components/schemas/SmsTemplateStatus"
      },
      "providerTemplateCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": "string"
      },
      "remark": {
        "type": [
          "null",
          "string"
        ]
      },
      "sentCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "failedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformStaffItem": {
    "required": [
      "userId",
      "name",
      "phoneMasked",
      "email",
      "status",
      "roleCodes",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "phoneMasked": {
        "type": [
          "null",
          "string"
        ]
      },
      "email": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/UserStatus"
      },
      "roleCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformStaffList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformStaffItem"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfCrmWebhookLog": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CrmWebhookLog"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfCrmWebhookQueueItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CrmWebhookQueueItem"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfObject": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array"
      }
    }
  },
  "PlatformTenantCapabilityListOfPlatformCrmConfigItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformCrmConfigItem"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfPlatformSmsChannelItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformSmsChannelItem"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfPlatformSmsTemplateItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformSmsTemplateItem"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfSmsSendLog": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SmsSendLog"
        }
      }
    }
  },
  "PlatformTenantCapabilityListOfTenantExternalProviderItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantExternalProviderItem"
        }
      }
    }
  },
  "PlatformTenantDetail": {
    "required": [
      "tenant",
      "domains",
      "subscriptions",
      "billingProfile"
    ],
    "type": "object",
    "properties": {
      "tenant": {
        "$ref": "#/components/schemas/PlatformTenantItem"
      },
      "domains": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformTenantDomainItem"
        }
      },
      "subscriptions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformTenantSubscriptionItem"
        }
      },
      "billingProfile": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantBillingProfileItem"
          }
        ]
      }
    }
  },
  "PlatformTenantDomainItem": {
    "required": [
      "id",
      "tenantId",
      "host",
      "domainType",
      "status",
      "isPrimary",
      "verifiedAt",
      "dnsVerifiedAt",
      "tlsReadyAt",
      "lastCheckedAt",
      "lastFailureReason"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "host": {
        "type": "string"
      },
      "domainType": {
        "$ref": "#/components/schemas/TenantDomainType"
      },
      "status": {
        "$ref": "#/components/schemas/TenantDomainStatus"
      },
      "isPrimary": {
        "type": "boolean"
      },
      "verifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "dnsVerifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "tlsReadyAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastCheckedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastFailureReason": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "PlatformTenantItem": {
    "required": [
      "id",
      "slug",
      "name",
      "legalName",
      "status",
      "mode",
      "billingStatus",
      "subscriptionExpiresAt",
      "domainCount",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "slug": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "legalName": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/TenantStatus"
      },
      "mode": {
        "$ref": "#/components/schemas/TenantMode"
      },
      "billingStatus": {
        "$ref": "#/components/schemas/BillingStatus"
      },
      "subscriptionExpiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "domainCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "PlatformTenantList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PlatformTenantItem"
        }
      }
    }
  },
  "PlatformTenantProvisioningResult": {
    "required": [
      "tenant",
      "ownerUserId",
      "ownerIdentifier",
      "mustChangePassword"
    ],
    "type": "object",
    "properties": {
      "tenant": {
        "$ref": "#/components/schemas/PlatformTenantItem"
      },
      "ownerUserId": {
        "type": "string",
        "format": "uuid"
      },
      "ownerIdentifier": {
        "type": "string"
      },
      "mustChangePassword": {
        "type": "boolean"
      }
    }
  },
  "PlatformTenantSubscriptionItem": {
    "required": [
      "id",
      "tenantId",
      "baseOfferingVersionId",
      "status",
      "startsAt",
      "currentPeriodStart",
      "currentPeriodEnd",
      "cancelAtPeriodEnd",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "baseOfferingVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/TenantSaasSubscriptionStatus"
      },
      "startsAt": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodStart": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodEnd": {
        "type": "string",
        "format": "date-time"
      },
      "cancelAtPeriodEnd": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PointActivityClaim": {
    "type": "object",
    "properties": {
      "taskId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "taskKey": {
        "type": "string"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "status": {
        "$ref": "#/components/schemas/PointActivityClaimStatus"
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "claimedAt": {
        "type": "string",
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PointActivityClaimStatus": {
    "type": "integer"
  },
  "PointActivityTask": {
    "type": "object",
    "properties": {
      "taskKey": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "taskType": {
        "$ref": "#/components/schemas/PointActivityTaskType"
      },
      "status": {
        "$ref": "#/components/schemas/PointActivityTaskStatus"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "maxClaimsPerUser": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "endsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "rules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PointActivityTaskStatus": {
    "type": "integer"
  },
  "PointActivityTaskType": {
    "type": "integer"
  },
  "PointClaimItem": {
    "required": [
      "id",
      "taskId",
      "taskKey",
      "points",
      "status",
      "sourceType",
      "sourceId",
      "claimedAt",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "taskId": {
        "type": "string",
        "format": "uuid"
      },
      "taskKey": {
        "type": "string"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "status": {
        "type": "string"
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "claimedAt": {
        "type": "string",
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PointExchangeItem": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "itemKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "itemType": {
        "$ref": "#/components/schemas/PointExchangeItemType"
      },
      "status": {
        "$ref": "#/components/schemas/PointExchangeItemStatus"
      },
      "pointsCost": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "stock": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "endsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "fulfillmentPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PointExchangeItemDto": {
    "required": [
      "id",
      "regionId",
      "itemKey",
      "name",
      "description",
      "itemType",
      "status",
      "pointsCost",
      "stock",
      "days",
      "canExchange",
      "sortOrder",
      "fulfillmentPayload",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "itemKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "itemType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "pointsCost": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "stock": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "canExchange": {
        "type": "boolean"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "fulfillmentPayload": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PointExchangeItemStatus": {
    "type": "integer"
  },
  "PointExchangeItemType": {
    "type": "integer"
  },
  "PointExchangeOrder": {
    "type": "object",
    "properties": {
      "itemId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "itemName": {
        "type": "string"
      },
      "itemType": {
        "$ref": "#/components/schemas/PointExchangeItemType"
      },
      "status": {
        "$ref": "#/components/schemas/PointExchangeOrderStatus"
      },
      "pointsCost": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "orderedAt": {
        "type": "string",
        "format": "date-time"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "cancelledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "fulfillmentSnapshot": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "PointExchangeOrderItem": {
    "required": [
      "id",
      "itemId",
      "orderNo",
      "itemName",
      "itemType",
      "status",
      "pointsCost",
      "orderedAt",
      "completedAt",
      "fulfillmentSnapshot",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "itemId": {
        "type": "string",
        "format": "uuid"
      },
      "orderNo": {
        "type": "string"
      },
      "itemName": {
        "type": "string"
      },
      "itemType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "pointsCost": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "orderedAt": {
        "type": "string",
        "format": "date-time"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "fulfillmentSnapshot": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PointExchangeOrderStatus": {
    "type": "integer"
  },
  "PointListOfPointExchangeItemDto": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointExchangeItemDto"
        }
      }
    }
  },
  "PointListOfPointExchangeOrderItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointExchangeOrderItem"
        }
      }
    }
  },
  "PointListOfPointTaskItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointTaskItem"
        }
      }
    }
  },
  "PointSummaryItem": {
    "required": [
      "earnedPoints",
      "spentPoints",
      "balancePoints"
    ],
    "type": "object",
    "properties": {
      "earnedPoints": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "spentPoints": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "balancePoints": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PointTaskItem": {
    "required": [
      "id",
      "taskKey",
      "title",
      "description",
      "taskType",
      "status",
      "points",
      "maxClaimsPerUser",
      "claimedCount",
      "canClaim",
      "startsAt",
      "endsAt",
      "sortOrder",
      "rules",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "taskKey": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "taskType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "maxClaimsPerUser": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "claimedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "canClaim": {
        "type": "boolean"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "endsAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "rules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PracticeAccessMode": {
    "type": "integer"
  },
  "PracticeAssemblyType": {
    "type": "integer"
  },
  "PracticeBlueprintCatalogItem": {
    "required": [
      "id",
      "regionId",
      "entryId",
      "nodeId",
      "collectionId",
      "legacyId",
      "name",
      "mode",
      "assemblyType",
      "questionLimit",
      "durationMinutes",
      "totalScore",
      "passScore",
      "sections",
      "rules",
      "accessRules",
      "status",
      "order"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "mode": {
        "$ref": "#/components/schemas/PracticeMode"
      },
      "assemblyType": {
        "$ref": "#/components/schemas/PracticeAssemblyType"
      },
      "questionLimit": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "passScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "sections": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "rules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "PracticeBlueprintManagementItem": {
    "required": [
      "id",
      "regionId",
      "entryId",
      "nodeId",
      "collectionId",
      "legacyId",
      "name",
      "mode",
      "assemblyType",
      "questionLimit",
      "durationMinutes",
      "totalScore",
      "passScore",
      "sections",
      "rules",
      "accessRules",
      "status",
      "order",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "mode": {
        "$ref": "#/components/schemas/PracticeMode"
      },
      "assemblyType": {
        "$ref": "#/components/schemas/PracticeAssemblyType"
      },
      "questionLimit": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "passScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "sections": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "rules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "PracticeHistoryItem": {
    "required": [
      "id",
      "mode",
      "targetType",
      "targetId",
      "blueprintId",
      "collectionId",
      "entryId",
      "contentNodeId",
      "questionCount",
      "answeredCount",
      "correctCount",
      "wrongCount",
      "startedAt",
      "finishedAt",
      "expiresAt",
      "status",
      "reportId",
      "score",
      "reportTotalScore",
      "accuracy"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "mode": {
        "type": "string"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "blueprintId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "answeredCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "startedAt": {
        "type": "string",
        "format": "date-time"
      },
      "finishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "status": {
        "type": "string"
      },
      "reportId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "reportTotalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "accuracy": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      }
    }
  },
  "PracticeMode": {
    "type": "integer"
  },
  "PracticeSessionDetailItem": {
    "required": [
      "session",
      "questions",
      "answersBySessionQuestion"
    ],
    "type": "object",
    "properties": {
      "session": {
        "$ref": "#/components/schemas/PracticeSessionItem"
      },
      "questions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PracticeSessionQuestionItem"
        }
      },
      "answersBySessionQuestion": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/AnswerRecordItem"
        }
      }
    }
  },
  "PracticeSessionItem": {
    "required": [
      "id",
      "mode",
      "targetType",
      "targetId",
      "blueprintId",
      "collectionId",
      "entryId",
      "contentNodeId",
      "questionCount",
      "durationMinutes",
      "totalScore",
      "accessMode",
      "accessEntitlementId",
      "consumedFreeQuota",
      "accessSnapshot",
      "startedAt",
      "finishedAt",
      "expiresAt",
      "metadata",
      "status"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "mode": {
        "type": "string"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "blueprintId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "accessMode": {
        "$ref": "#/components/schemas/PracticeAccessMode"
      },
      "accessEntitlementId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "consumedFreeQuota": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "accessSnapshot": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "startedAt": {
        "type": "string",
        "format": "date-time"
      },
      "finishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "status": {
        "type": "string"
      }
    }
  },
  "PracticeSessionQuestionItem": {
    "required": [
      "sessionQuestionId",
      "questionReferenceId",
      "locator",
      "questionId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "versionId",
      "content",
      "options",
      "explanation"
    ],
    "type": "object",
    "properties": {
      "sessionQuestionId": {
        "type": "string",
        "format": "uuid"
      },
      "questionReferenceId": {
        "type": "string",
        "format": "uuid"
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      },
      "questionId": {
        "type": "string",
        "format": "uuid"
      },
      "type": {
        "type": "string"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "versionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "PracticeSessionReportItem": {
    "required": [
      "id",
      "practiceSessionId",
      "blueprintId",
      "collectionId",
      "mode",
      "totalQuestions",
      "answeredCount",
      "correctCount",
      "wrongCount",
      "unansweredCount",
      "score",
      "totalScore",
      "accuracy",
      "durationSeconds",
      "startedAt",
      "submittedAt",
      "sectionStats",
      "questionResults",
      "wrongQuestionIds",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "practiceSessionId": {
        "type": "string",
        "format": "uuid"
      },
      "blueprintId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "mode": {
        "type": "string"
      },
      "totalQuestions": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "answeredCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "unansweredCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "accuracy": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "startedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "submittedAt": {
        "type": "string",
        "format": "date-time"
      },
      "sectionStats": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "questionResults": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "wrongQuestionIds": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "PreviewReconciliationImportDto": {
    "required": [
      "provider",
      "sourceName"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "billDate": {
        "type": "string",
        "description": "账单日期。",
        "format": "date"
      },
      "billType": {
        "description": "账单类型。",
        "$ref": "#/components/schemas/ReconciliationBillType"
      },
      "sourceName": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "来源名称。"
      },
      "rows": {
        "description": "数据行列表。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "预览对账导入请求 DTO。"
  },
  "PreviewTenantThemeDto": {
    "required": [
      "templateCode"
    ],
    "type": "object",
    "properties": {
      "templateCode": {
        "type": "string",
        "description": "模板编码。"
      },
      "theme": {
        "description": "主题配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicAssets": {
        "description": "公开资源配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "预览租户主题请求 DTO。"
  },
  "ProblemDetails": {
    "type": "object",
    "properties": {
      "type": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "instance": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "ProductCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "title",
      "price",
      "priceLabel",
      "link",
      "type",
      "tags",
      "cover",
      "previewIframe",
      "detailImages",
      "order",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": "string"
      },
      "price": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "priceLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "link": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "$ref": "#/components/schemas/ProductType"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "cover": {
        "type": [
          "null",
          "string"
        ]
      },
      "previewIframe": {
        "type": [
          "null",
          "string"
        ]
      },
      "detailImages": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "ProductType": {
    "type": "integer"
  },
  "ProfileNotificationItem": {
    "required": [
      "id",
      "notificationType",
      "status",
      "severity",
      "title",
      "message",
      "actionLabel",
      "actionPath",
      "sourceType",
      "sourceId",
      "metadata",
      "readAt",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "notificationType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "severity": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "actionLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "actionPath": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "readAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ProfileNotificationList": {
    "required": [
      "items",
      "summary"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProfileNotificationItem"
        }
      },
      "summary": {
        "type": "object",
        "additionalProperties": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int32"
        }
      }
    }
  },
  "ProfileScoreEventItem": {
    "required": [
      "id",
      "eventType",
      "points",
      "balanceAfter",
      "sourceType",
      "sourceId",
      "metadata",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "eventType": {
        "type": "string"
      },
      "points": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "balanceAfter": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ProfileScoreEventList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProfileScoreEventItem"
        }
      }
    }
  },
  "PublicTenantBrandingDto": {
    "required": [
      "brandName",
      "shortName",
      "slogan",
      "logoUrl",
      "faviconUrl",
      "serviceWechat",
      "serviceAccountName",
      "theme",
      "publicAssets"
    ],
    "type": "object",
    "properties": {
      "brandName": {
        "type": [
          "null",
          "string"
        ],
        "description": "品牌名称。"
      },
      "shortName": {
        "type": [
          "null",
          "string"
        ],
        "description": "品牌短名称。"
      },
      "slogan": {
        "type": [
          "null",
          "string"
        ],
        "description": "品牌标语。"
      },
      "logoUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "Logo 地址。"
      },
      "faviconUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "Favicon 地址。"
      },
      "serviceWechat": {
        "type": [
          "null",
          "string"
        ],
        "description": "客服微信。"
      },
      "serviceAccountName": {
        "type": [
          "null",
          "string"
        ],
        "description": "公众号或服务号名称。"
      },
      "theme": {
        "description": "公开主题配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicAssets": {
        "description": "公开资源配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "可公开给客户端的租户品牌信息。"
  },
  "PublicTenantDto": {
    "required": [
      "id",
      "slug",
      "name",
      "status",
      "mode",
      "host"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "slug": {
        "type": "string",
        "description": "租户编码。"
      },
      "name": {
        "type": "string",
        "description": "租户名称。"
      },
      "status": {
        "description": "租户状态。",
        "$ref": "#/components/schemas/TenantStatus"
      },
      "mode": {
        "description": "租户模式。",
        "$ref": "#/components/schemas/TenantMode"
      },
      "host": {
        "type": [
          "null",
          "string"
        ],
        "description": "当前匹配到的访问域名。"
      }
    },
    "description": "可公开给客户端的租户基础信息。"
  },
  "PublishTenantFrontendConfigDto": {
    "type": "object",
    "properties": {
      "expectedVersion": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "期望配置版本。",
        "format": "int32"
      }
    },
    "description": "发布租户前端配置请求。"
  },
  "PublishTenantThemeDto": {
    "type": "object",
    "properties": {
      "useDraft": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否使用草稿配置。"
      },
      "templateCode": {
        "type": [
          "null",
          "string"
        ],
        "description": "模板编码。"
      },
      "theme": {
        "description": "主题配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicAssets": {
        "description": "公开资源配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "发布租户主题请求 DTO。"
  },
  "QuestionActionDto": {
    "required": [
      "questionId",
      "source"
    ],
    "type": "object",
    "properties": {
      "questionId": {
        "type": "string",
        "description": "题目 ID。",
        "format": "uuid"
      },
      "source": {
        "description": "来源。",
        "$ref": "#/components/schemas/QuestionSource"
      },
      "favorite": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否收藏。"
      }
    },
    "description": "题目Action请求 DTO。"
  },
  "QuestionBankCatalogItem": {
    "required": [
      "id",
      "regionId",
      "name",
      "source",
      "status",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "source": {
        "$ref": "#/components/schemas/QuestionSource"
      },
      "status": {
        "$ref": "#/components/schemas/QuestionBankStatus"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "QuestionBankStatus": {
    "type": "integer"
  },
  "QuestionCatalogItem": {
    "required": [
      "id",
      "questionBankId",
      "subjectId",
      "categoryId",
      "nodeId",
      "entryId",
      "contentNodeId",
      "primaryCollectionId",
      "legacyId",
      "legacySubjectId",
      "legacyCategoryId",
      "legacyNodeId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "examMarkers",
      "mediaUrl",
      "hasVideoExplanation",
      "status",
      "versionId",
      "versionNo",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate",
      "locator"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "primaryCollectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "legacySubjectId": {
        "type": [
          "null",
          "string"
        ]
      },
      "legacyCategoryId": {
        "type": [
          "null",
          "string"
        ]
      },
      "legacyNodeId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "type": "string"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "examMarkers": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "hasVideoExplanation": {
        "type": "boolean"
      },
      "status": {
        "$ref": "#/components/schemas/QuestionStatus"
      },
      "versionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "versionNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      }
    }
  },
  "QuestionCollectionCatalogItem": {
    "required": [
      "id",
      "regionId",
      "entryId",
      "nodeId",
      "subjectId",
      "categoryId",
      "questionBankId",
      "legacyId",
      "name",
      "collectionType",
      "sourceType",
      "filters",
      "questionCount",
      "totalScore",
      "durationMinutes",
      "status",
      "order",
      "accessRules",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "collectionType": {
        "$ref": "#/components/schemas/QuestionCollectionType"
      },
      "sourceType": {
        "$ref": "#/components/schemas/QuestionCollectionSourceType"
      },
      "filters": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "QuestionCollectionItemManagementItem": {
    "required": [
      "id",
      "collectionId",
      "questionId",
      "locator",
      "sectionKey",
      "order",
      "score",
      "required",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "collectionId": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": "string",
        "format": "uuid"
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      },
      "sectionKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "required": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "QuestionCollectionManagementItem": {
    "required": [
      "id",
      "regionId",
      "entryId",
      "nodeId",
      "subjectId",
      "categoryId",
      "questionBankId",
      "legacyId",
      "name",
      "collectionType",
      "sourceType",
      "filters",
      "questionCount",
      "totalScore",
      "durationMinutes",
      "status",
      "order",
      "accessRules",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "collectionType": {
        "$ref": "#/components/schemas/QuestionCollectionType"
      },
      "sourceType": {
        "$ref": "#/components/schemas/QuestionCollectionSourceType"
      },
      "filters": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "questionCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "status": {
        "$ref": "#/components/schemas/ContentStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "accessRules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "QuestionCollectionSourceType": {
    "type": "integer"
  },
  "QuestionCollectionType": {
    "type": "integer"
  },
  "QuestionLocator": {
    "required": [
      "source",
      "questionId"
    ],
    "type": "object",
    "properties": {
      "source": {
        "$ref": "#/components/schemas/QuestionSource"
      },
      "questionId": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "QuestionManagementItem": {
    "required": [
      "id",
      "versionId",
      "questionBankId",
      "subjectId",
      "categoryId",
      "nodeId",
      "entryId",
      "contentNodeId",
      "primaryCollectionId",
      "legacyId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate",
      "mediaUrl",
      "hasVideoExplanation",
      "status"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "versionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "primaryCollectionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "type": "string"
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "hasVideoExplanation": {
        "type": "boolean"
      },
      "status": {
        "$ref": "#/components/schemas/QuestionStatus"
      }
    }
  },
  "QuestionSource": {
    "type": "integer"
  },
  "QuestionStatus": {
    "type": "integer"
  },
  "QuestionVersionCatalogItem": {
    "required": [
      "id",
      "questionId",
      "versionNo",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": "string",
        "format": "uuid"
      },
      "versionNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "QuestionVideoCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "questionId",
      "videoId",
      "videoType",
      "order",
      "metadata",
      "video"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "videoId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "videoType": {
        "$ref": "#/components/schemas/QuestionVideoType"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "video": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/VideoExplanationCatalogItem"
          }
        ]
      }
    }
  },
  "QuestionVideoManagementItem": {
    "required": [
      "id",
      "questionId",
      "videoId",
      "legacyId",
      "videoType",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "videoId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "videoType": {
        "$ref": "#/components/schemas/QuestionVideoType"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "QuestionVideoQueryDto": {
    "type": "object",
    "properties": {
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题目 ID。",
        "format": "uuid"
      },
      "questionIds": {
        "maxItems": 100,
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "题目 ID 列表。"
      },
      "limit": {
        "maximum": 500,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "返回数量上限。",
        "format": "int32"
      }
    },
    "description": "题目视频查询参数。"
  },
  "QuestionVideoType": {
    "type": "integer"
  },
  "RecentPracticeItem": {
    "required": [
      "id",
      "practiceType",
      "targetName",
      "progress",
      "lastAccessAt",
      "lastPracticeAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "practiceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetName": {
        "type": [
          "null",
          "string"
        ]
      },
      "progress": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastAccessAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastPracticeAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "ReconciliationBatchStatus": {
    "type": "integer"
  },
  "ReconciliationBillType": {
    "type": "integer"
  },
  "ReconciliationImportPreview": {
    "required": [
      "totalCount",
      "paymentCount",
      "refundCount",
      "invalidCount",
      "amountCents",
      "refundAmountCents",
      "sourceHash"
    ],
    "type": "object",
    "properties": {
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paymentCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "refundCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "invalidCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "refundAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sourceHash": {
        "type": "string"
      }
    }
  },
  "ReconciliationIssueMatchStatus": {
    "type": "integer"
  },
  "ReconciliationIssueStatus": {
    "type": "integer"
  },
  "ReconciliationMatchStatus": {
    "type": "integer"
  },
  "ReconciliationResolutionType": {
    "type": "integer"
  },
  "ReconciliationSource": {
    "type": "integer"
  },
  "ReconciliationTransactionType": {
    "type": "integer"
  },
  "RedeemActivationCodeDto": {
    "required": [
      "code",
      "userId"
    ],
    "type": "object",
    "properties": {
      "code": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      }
    },
    "description": "核销激活码编码请求 DTO。"
  },
  "ReferralAssignmentMode": {
    "type": "integer"
  },
  "ReferralBindResult": {
    "required": [
      "lead",
      "crmQueue"
    ],
    "type": "object",
    "properties": {
      "lead": {
        "$ref": "#/components/schemas/ReferralLeadItem"
      },
      "crmQueue": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/CrmQueuePreviewItem"
          }
        ]
      }
    }
  },
  "ReferralConversionReport": {
    "required": [
      "startDate",
      "endDate",
      "leadCount",
      "paidLeadCount",
      "paidAmountCents",
      "conversionRate",
      "topReferrers",
      "recentUnconvertedLeads"
    ],
    "type": "object",
    "properties": {
      "startDate": {
        "type": "string",
        "format": "date"
      },
      "endDate": {
        "type": "string",
        "format": "date"
      },
      "leadCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidLeadCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "conversionRate": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "topReferrers": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReferralStatsItem"
        }
      },
      "recentUnconvertedLeads": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReferralLeadItem"
        }
      }
    }
  },
  "ReferralInviteDto": {
    "type": "object",
    "properties": {
      "channel": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "渠道。"
      },
      "landingPath": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "落地页路径。"
      }
    },
    "description": "推荐邀请码请求 DTO。"
  },
  "ReferralInviteItem": {
    "required": [
      "inviteCode"
    ],
    "type": "object",
    "properties": {
      "inviteCode": {
        "type": "string"
      }
    }
  },
  "ReferralLeadItem": {
    "required": [
      "id",
      "studentUserId",
      "referrerUserId",
      "refCode",
      "status",
      "boundAt",
      "changed"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "studentUserId": {
        "type": "string",
        "format": "uuid"
      },
      "referrerUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "refCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "boundAt": {
        "type": "string",
        "format": "date-time"
      },
      "changed": {
        "type": "boolean"
      }
    }
  },
  "ReferralListOfReferralLeadItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReferralLeadItem"
        }
      }
    }
  },
  "ReferralListOfReferralStatsItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReferralStatsItem"
        }
      }
    }
  },
  "ReferralListOfReferralTeamItem": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReferralTeamItem"
        }
      }
    }
  },
  "ReferralQrcodeDto": {
    "type": "object",
    "properties": {
      "page": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "页码。"
      },
      "scene": {
        "maxLength": 128,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "场景参数。"
      },
      "provider": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "服务提供方。"
      },
      "qrcodeUrl": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "二维码地址。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "推荐二维码请求 DTO。"
  },
  "ReferralQrcodeItem": {
    "required": [
      "id",
      "refCode",
      "scene",
      "page",
      "provider",
      "qrcodeUrl",
      "status",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "refCode": {
        "type": "string"
      },
      "scene": {
        "type": "string"
      },
      "page": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "qrcodeUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ReferralResolutionItem": {
    "required": [
      "valid",
      "inviterId",
      "inviteCode",
      "role",
      "name"
    ],
    "type": "object",
    "properties": {
      "valid": {
        "type": "boolean"
      },
      "inviterId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "inviteCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "role": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "ReferralStatsItem": {
    "required": [
      "referrerUserId",
      "name",
      "role",
      "inviteCode",
      "leadCount",
      "paidLeadCount",
      "paidAmountCents",
      "trackCount",
      "conversionRate"
    ],
    "type": "object",
    "properties": {
      "referrerUserId": {
        "type": "string",
        "format": "uuid"
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "role": {
        "type": "string"
      },
      "inviteCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "leadCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidLeadCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "trackCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "conversionRate": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      }
    }
  },
  "ReferralTeamItem": {
    "required": [
      "id",
      "memberUserId",
      "leaderUserId",
      "relationType",
      "status",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "memberUserId": {
        "type": "string",
        "format": "uuid"
      },
      "leaderUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "relationType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ReferralTrackItem": {
    "required": [
      "id",
      "eventType",
      "refCode",
      "referrerUserId",
      "targetUserId",
      "source",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "eventType": {
        "type": "string"
      },
      "refCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "referrerUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "targetUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "ReferralTrackResult": {
    "required": [
      "item",
      "lead",
      "crmQueue"
    ],
    "type": "object",
    "properties": {
      "item": {
        "$ref": "#/components/schemas/ReferralTrackItem"
      },
      "lead": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ReferralLeadItem"
          }
        ]
      },
      "crmQueue": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/CrmQueuePreviewItem"
          }
        ]
      }
    }
  },
  "RefreshSessionDto": {
    "required": [
      "refreshToken"
    ],
    "type": "object",
    "properties": {
      "refreshToken": {
        "maxLength": 2048,
        "minLength": 0,
        "type": "string",
        "description": "刷新令牌。"
      }
    },
    "description": "刷新会话请求 DTO。"
  },
  "RefundEntitlementAction": {
    "type": "integer"
  },
  "RefundNotificationDto": {
    "required": [
      "refundNo"
    ],
    "type": "object",
    "properties": {
      "refundNo": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "退款单号。"
      },
      "providerRefundNo": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "渠道退款单号。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/CommerceRefundStatus"
      },
      "eventId": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "事件 ID。"
      },
      "payload": {
        "description": "任务载荷。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "退款通知请求 DTO。"
  },
  "RegionCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "name",
      "code",
      "shortName",
      "fullName",
      "icon",
      "pinyin",
      "order",
      "isHot"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "code": {
        "type": [
          "null",
          "string"
        ]
      },
      "shortName": {
        "type": [
          "null",
          "string"
        ]
      },
      "fullName": {
        "type": [
          "null",
          "string"
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "pinyin": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isHot": {
        "type": "boolean"
      }
    }
  },
  "RegionModuleCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "name",
      "type",
      "icon",
      "color",
      "textColor",
      "description",
      "route",
      "order",
      "isPrimarySchoolModule"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "type": [
          "null",
          "string"
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "color": {
        "type": [
          "null",
          "string"
        ]
      },
      "textColor": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "route": {
        "type": [
          "null",
          "string"
        ]
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isPrimarySchoolModule": {
        "type": "boolean"
      }
    }
  },
  "RemoveTenantAdminClassMemberDto": {
    "required": [
      "classMemberId"
    ],
    "type": "object",
    "properties": {
      "classMemberId": {
        "type": "string",
        "description": "班级成员 ID。",
        "format": "uuid"
      }
    },
    "description": "移除租户管理端班级成员请求 DTO。"
  },
  "ReplaceCollectionItemsDto": {
    "required": [
      "collectionId"
    ],
    "type": "object",
    "properties": {
      "collectionId": {
        "type": "string",
        "description": "题集 ID。",
        "format": "uuid"
      },
      "questions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CollectionQuestionDto"
        },
        "description": "题目列表。"
      }
    },
    "description": "替换题集Items请求 DTO。"
  },
  "ReplaceRoleBindingsDto": {
    "type": "object",
    "properties": {
      "permissionCodes": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "权限编码列表。"
      },
      "menuCodes": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "菜单编码列表。"
      }
    },
    "description": "替换角色权限绑定请求。"
  },
  "ReplaceUserRolesDto": {
    "type": "object",
    "properties": {
      "roleIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "角色 ID 列表。"
      }
    },
    "description": "替换用户角色请求。"
  },
  "ReportPriority": {
    "type": "integer"
  },
  "ReportStatus": {
    "type": "integer"
  },
  "ReportType": {
    "type": "integer"
  },
  "RequestProviderBillJobDto": {
    "required": [
      "provider"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "billDate": {
        "type": "string",
        "description": "账单日期。",
        "format": "date"
      },
      "billType": {
        "description": "账单类型。",
        "$ref": "#/components/schemas/ReconciliationBillType"
      },
      "runAfter": {
        "type": [
          "null",
          "string"
        ],
        "description": "计划运行时间。",
        "format": "date-time"
      }
    },
    "description": "RequestProviderBill任务请求 DTO。"
  },
  "RequiredPasswordChangeDto": {
    "required": [
      "challengeToken",
      "newPassword"
    ],
    "type": "object",
    "properties": {
      "challengeToken": {
        "maxLength": 2048,
        "minLength": 0,
        "type": "string",
        "description": "挑战令牌。"
      },
      "newPassword": {
        "maxLength": 128,
        "minLength": 8,
        "type": "string",
        "description": "新密码。"
      }
    },
    "description": "首次登录必改密码请求。"
  },
  "ResolveReferralDto": {
    "type": "object",
    "properties": {
      "code": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "编码。"
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      }
    },
    "description": "解析推荐请求 DTO。"
  },
  "RetryPlatformBillingDunningEventDto": {
    "required": [
      "eventId"
    ],
    "type": "object",
    "properties": {
      "eventId": {
        "type": "string",
        "description": "事件 ID。",
        "format": "uuid"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "重试平台Dunning事件请求 DTO。"
  },
  "RetryPlatformCrmLeadDto": {
    "required": [
      "queueId"
    ],
    "type": "object",
    "properties": {
      "queueId": {
        "type": "string",
        "description": "队列任务 ID。",
        "format": "uuid"
      },
      "note": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      }
    },
    "description": "重试租户 CRM 线索推送请求。"
  },
  "SaasCatalogSnapshot": {
    "required": [
      "features",
      "limitDefinitions",
      "offerings",
      "versions"
    ],
    "type": "object",
    "properties": {
      "features": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasFeature"
        }
      },
      "limitDefinitions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasFeatureLimitDefinition"
        }
      },
      "offerings": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasOffering"
        }
      },
      "versions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasOfferingVersionItem"
        }
      }
    }
  },
  "SaasFeature": {
    "type": "object",
    "properties": {
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "category": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "referencePriceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/SaasFeatureStatus"
      },
      "isCore": {
        "type": "boolean"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "SaasFeatureLimitDefinition": {
    "type": "object",
    "properties": {
      "metricCode": {
        "type": "string"
      },
      "featureCode": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "unit": {
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/SaasFeatureLimitKind"
      },
      "warningPercent": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isHardLimit": {
        "type": "boolean"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "SaasFeatureLimitKind": {
    "type": "integer"
  },
  "SaasFeatureStatus": {
    "type": "integer"
  },
  "SaasOffering": {
    "type": "object",
    "properties": {
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "$ref": "#/components/schemas/SaasOfferingType"
      },
      "status": {
        "$ref": "#/components/schemas/SaasOfferingStatus"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "SaasOfferingStatus": {
    "type": "integer"
  },
  "SaasOfferingType": {
    "type": "integer"
  },
  "SaasOfferingVersionItem": {
    "required": [
      "id",
      "offeringId",
      "offeringCode",
      "offeringName",
      "offeringType",
      "version",
      "status",
      "billingCycle",
      "originalAmountCents",
      "amountCents",
      "currency",
      "effectiveAt",
      "publishedAt",
      "featureCodes",
      "limits"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "offeringId": {
        "type": "string",
        "format": "uuid"
      },
      "offeringCode": {
        "type": "string"
      },
      "offeringName": {
        "type": "string"
      },
      "offeringType": {
        "$ref": "#/components/schemas/SaasOfferingType"
      },
      "version": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "status": {
        "$ref": "#/components/schemas/SaasOfferingVersionStatus"
      },
      "billingCycle": {
        "$ref": "#/components/schemas/PlatformBillingCycle"
      },
      "originalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "effectiveAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "publishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "featureCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "limits": {
        "type": "object",
        "additionalProperties": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int64"
        }
      }
    }
  },
  "SaasOfferingVersionStatus": {
    "type": "integer"
  },
  "SaveTenantFrontendConfigDraftDto": {
    "type": "object",
    "properties": {
      "branding": {
        "description": "品牌配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "theme": {
        "description": "主题配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "features": {
        "description": "功能配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "navigation": {
        "description": "导航配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "homeModules": {
        "description": "首页模块配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "保存租户前端配置草稿请求。"
  },
  "School": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "moduleId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "professionalExamDate": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "SchoolCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "moduleId",
      "name",
      "professionalExamDate",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "moduleId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "professionalExamDate": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ScorelineField": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "fieldKey": {
        "type": "string"
      },
      "fieldName": {
        "type": "string"
      },
      "fieldType": {
        "type": "string"
      },
      "unit": {
        "type": [
          "null",
          "string"
        ]
      },
      "isFilter": {
        "type": "boolean"
      },
      "isRequired": {
        "type": "boolean"
      },
      "isVisible": {
        "type": "boolean"
      },
      "isTrend": {
        "type": "boolean"
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "placeholder": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "ScorelineFieldItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "fieldKey",
      "fieldName",
      "fieldType",
      "unit",
      "isFilter",
      "isRequired",
      "isVisible",
      "isTrend",
      "options",
      "placeholder",
      "description",
      "sortOrder"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "fieldKey": {
        "type": "string"
      },
      "fieldName": {
        "type": "string"
      },
      "fieldType": {
        "type": "string"
      },
      "unit": {
        "type": [
          "null",
          "string"
        ]
      },
      "isFilter": {
        "type": "boolean"
      },
      "isRequired": {
        "type": "boolean"
      },
      "isVisible": {
        "type": "boolean"
      },
      "isTrend": {
        "type": "boolean"
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "placeholder": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "ScorelineRecord": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "year": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "schoolName": {
        "type": [
          "null",
          "string"
        ]
      },
      "majorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "fieldValues": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "ScorelineRecordCursorPage": {
    "required": [
      "pageSize",
      "hasMore",
      "nextCursor",
      "items"
    ],
    "type": "object",
    "properties": {
      "pageSize": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "hasMore": {
        "type": "boolean"
      },
      "nextCursor": {
        "type": [
          "null",
          "string"
        ]
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineRecordItem"
        }
      }
    }
  },
  "ScorelineRecordItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "schoolId",
      "majorId",
      "year",
      "schoolName",
      "majorName",
      "fieldValues"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "year": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "schoolName": {
        "type": [
          "null",
          "string"
        ]
      },
      "majorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "fieldValues": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "ScorelineRecordPage": {
    "required": [
      "page",
      "pageSize",
      "total",
      "items"
    ],
    "type": "object",
    "properties": {
      "page": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pageSize": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "total": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ScorelineRecordItem"
        }
      }
    }
  },
  "ScorelineTrendItem": {
    "required": [
      "year",
      "schoolCount",
      "majorCount"
    ],
    "type": "object",
    "properties": {
      "year": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "schoolCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "majorCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "SendSmsCodeDto": {
    "required": [
      "realm",
      "phone"
    ],
    "type": "object",
    "properties": {
      "realm": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "认证域。",
            "$ref": "#/components/schemas/AuthRealm"
          }
        ]
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      },
      "phone": {
        "maxLength": 32,
        "minLength": 0,
        "type": "string",
        "description": "手机号。"
      },
      "deviceId": {
        "maxLength": 256,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "设备 ID。"
      }
    },
    "description": "发送短信验证码请求。"
  },
  "SignedStorageUrlDto": {
    "required": [
      "provider",
      "bucket",
      "objectKey",
      "method",
      "url",
      "headers",
      "expiresAt",
      "expiresInSeconds",
      "signatureMode"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ]
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "method": {
        "type": "string"
      },
      "url": {
        "type": "string"
      },
      "headers": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      },
      "expiresInSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "signatureMode": {
        "type": "string"
      }
    },
    "description": "SignedStorageUrl请求 DTO。"
  },
  "SimpleImportResult": {
    "required": [
      "job",
      "items",
      "issues"
    ],
    "type": "object",
    "properties": {
      "job": {
        "$ref": "#/components/schemas/ContentImportJobItem"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportItemModel"
        }
      },
      "issues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ContentImportIssueModel"
        }
      }
    }
  },
  "SmsLoginDto": {
    "required": [
      "realm",
      "phone",
      "code"
    ],
    "type": "object",
    "properties": {
      "realm": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "认证域。",
            "$ref": "#/components/schemas/AuthRealm"
          }
        ]
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      },
      "phone": {
        "maxLength": 32,
        "minLength": 0,
        "type": "string",
        "description": "手机号。"
      },
      "code": {
        "maxLength": 12,
        "minLength": 4,
        "type": "string",
        "description": "编码。"
      }
    },
    "description": "SmsLogin请求 DTO。"
  },
  "SmsSendLog": {
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "channelId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "templateId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "scene": {
        "type": "string"
      },
      "phoneMasked": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/SmsSendLogStatus"
      },
      "providerMessageId": {
        "type": [
          "null",
          "string"
        ]
      },
      "errorCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "errorMessage": {
        "type": [
          "null",
          "string"
        ]
      },
      "sentAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "SmsSendLogStatus": {
    "type": "integer"
  },
  "SmsSendResult": {
    "required": [
      "verificationId",
      "expiresAt"
    ],
    "type": "object",
    "properties": {
      "verificationId": {
        "type": "string",
        "format": "uuid"
      },
      "expiresAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "SmsTemplateAuditStatus": {
    "type": "integer"
  },
  "SmsTemplateStatus": {
    "type": "integer"
  },
  "SmsTemplateType": {
    "type": "integer"
  },
  "StudentFollowupPriority": {
    "type": "integer"
  },
  "StudentFollowupStatus": {
    "type": "integer"
  },
  "StudentFollowupType": {
    "type": "integer"
  },
  "StudentMembershipItem": {
    "required": [
      "isSvip",
      "expiresAt"
    ],
    "type": "object",
    "properties": {
      "isSvip": {
        "type": "boolean"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "StudentNoteType": {
    "type": "integer"
  },
  "StudentNoteVisibility": {
    "type": "integer"
  },
  "StudentProfileItem": {
    "required": [
      "profileId",
      "userId",
      "username",
      "phone",
      "email",
      "name",
      "avatarPreset",
      "avatarDisplayUrl",
      "primaryRole",
      "score",
      "regionId",
      "regionName",
      "selectedSchoolId",
      "selectedSchoolName",
      "selectedMajorId",
      "selectedMajorName",
      "questionsAnsweredToday",
      "masteredWordsCount",
      "lastCheckInDate",
      "stats",
      "progress",
      "moduleSelections",
      "recentActivities",
      "recentPractices",
      "membership"
    ],
    "type": "object",
    "properties": {
      "profileId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "username": {
        "type": [
          "null",
          "string"
        ]
      },
      "phone": {
        "type": [
          "null",
          "string"
        ]
      },
      "email": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "avatarPreset": {
        "type": "string"
      },
      "avatarDisplayUrl": {
        "type": "string"
      },
      "primaryRole": {
        "type": "string"
      },
      "score": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionName": {
        "type": [
          "null",
          "string"
        ]
      },
      "selectedSchoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "selectedSchoolName": {
        "type": [
          "null",
          "string"
        ]
      },
      "selectedMajorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "selectedMajorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "questionsAnsweredToday": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "masteredWordsCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastCheckInDate": {
        "type": [
          "null",
          "string"
        ],
        "format": "date"
      },
      "stats": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "progress": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "moduleSelections": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "recentActivities": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "recentPractices": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/RecentPracticeItem"
        }
      },
      "membership": {
        "$ref": "#/components/schemas/StudentMembershipItem"
      }
    }
  },
  "SubjectCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "moduleId",
      "schoolId",
      "majorId",
      "nodeId",
      "name",
      "type",
      "icon",
      "description",
      "stats",
      "order"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "moduleId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "schoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "majorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SubjectType"
          }
        ]
      },
      "icon": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "stats": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "SubjectType": {
    "type": "integer"
  },
  "SubmitAnswerDto": {
    "required": [
      "sessionQuestionId"
    ],
    "type": "object",
    "properties": {
      "sessionQuestionId": {
        "type": "string",
        "description": "会话题目 ID。",
        "format": "uuid"
      },
      "selectedOptions": {
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string"
        },
        "description": "已选选项。"
      },
      "answerText": {
        "maxLength": 10000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "文字答案。"
      },
      "selfJudgedCorrect": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "主观题自评是否正确。"
      }
    },
    "description": "提交答案请求 DTO。"
  },
  "SubmitFeedbackDto": {
    "required": [
      "description"
    ],
    "type": "object",
    "properties": {
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题目 ID。",
        "format": "uuid"
      },
      "type": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "类型。"
      },
      "category": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "分类。"
      },
      "title": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "标题。"
      },
      "description": {
        "maxLength": 5000,
        "minLength": 0,
        "type": "string",
        "description": "说明。"
      },
      "priority": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "优先级。"
      },
      "contact": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "联系方式。"
      },
      "attachments": {
        "description": "附件列表。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "提交反馈请求 DTO。"
  },
  "SubmitPracticeSessionDto": {
    "required": [
      "practiceSessionId"
    ],
    "type": "object",
    "properties": {
      "practiceSessionId": {
        "type": "string",
        "description": "练习会话 ID。",
        "format": "uuid"
      }
    },
    "description": "提交练习会话请求 DTO。"
  },
  "SvipPlanCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "name",
      "priceCents",
      "price",
      "originalPriceCents",
      "originalPrice",
      "days",
      "description",
      "perDayLabel",
      "badge",
      "recommended",
      "couponOnly",
      "vpProductId",
      "vpEnabled",
      "order",
      "isActive"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "priceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "price": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "format": "double"
      },
      "originalPriceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "originalPrice": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "days": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "perDayLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "badge": {
        "type": [
          "null",
          "string"
        ]
      },
      "recommended": {
        "type": "boolean"
      },
      "couponOnly": {
        "type": "boolean"
      },
      "vpProductId": {
        "type": [
          "null",
          "string"
        ]
      },
      "vpEnabled": {
        "type": "boolean"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      }
    }
  },
  "TaxonomyNodeItem": {
    "required": [
      "id",
      "source",
      "parentId",
      "parentSource",
      "nodeType",
      "code",
      "name",
      "path",
      "depth",
      "sortOrder",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "source": {
        "$ref": "#/components/schemas/QuestionSource"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "parentSource": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/QuestionSource"
          }
        ]
      },
      "nodeType": {
        "$ref": "#/components/schemas/TaxonomyNodeType"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "depth": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "TaxonomyNodeType": {
    "type": "integer"
  },
  "TenantAdjustmentReport": {
    "required": [
      "draftCount",
      "pendingReviewCount",
      "approvedCount",
      "closedCount",
      "increaseRevenueCents",
      "decreaseRevenueCents"
    ],
    "type": "object",
    "properties": {
      "draftCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pendingReviewCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "approvedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "closedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "increaseRevenueCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "decreaseRevenueCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantAdjustmentVoucherEventList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceAdjustmentVoucherEvent"
        }
      }
    }
  },
  "TenantAdjustmentVoucherList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceAdjustmentVoucher"
        }
      }
    }
  },
  "TenantAdminAuditLogItem": {
    "required": [
      "id",
      "actorUserId",
      "action",
      "targetType",
      "targetId",
      "details",
      "ipAddress",
      "userAgent",
      "actorName",
      "actorPhone",
      "createdAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "actorUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "action": {
        "type": "string"
      },
      "targetType": {
        "type": [
          "null",
          "string"
        ]
      },
      "targetId": {
        "type": [
          "null",
          "string"
        ]
      },
      "details": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "ipAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "userAgent": {
        "type": [
          "null",
          "string"
        ]
      },
      "actorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "actorPhone": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminBadgeGrantItem": {
    "required": [
      "id",
      "legacyId",
      "userId",
      "userName",
      "userPhone",
      "badgeId",
      "badgeName",
      "badgeCategory",
      "iconUrl",
      "level",
      "grantedBy",
      "grantedByName",
      "note",
      "grantedAt",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "userName": {
        "type": [
          "null",
          "string"
        ]
      },
      "userPhone": {
        "type": [
          "null",
          "string"
        ]
      },
      "badgeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "badgeName": {
        "type": [
          "null",
          "string"
        ]
      },
      "badgeCategory": {
        "type": [
          "null",
          "string"
        ]
      },
      "iconUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "level": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "grantedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "grantedByName": {
        "type": [
          "null",
          "string"
        ]
      },
      "note": {
        "type": [
          "null",
          "string"
        ]
      },
      "grantedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminBadgeItem": {
    "required": [
      "id",
      "legacyId",
      "name",
      "description",
      "category",
      "iconUrl",
      "level",
      "unlockType",
      "conditionField",
      "conditionOperator",
      "conditionValue",
      "conditionExtra",
      "order",
      "isActive",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "iconUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "level": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "unlockType": {
        "type": [
          "null",
          "string"
        ]
      },
      "conditionField": {
        "type": [
          "null",
          "string"
        ]
      },
      "conditionOperator": {
        "type": [
          "null",
          "string"
        ]
      },
      "conditionValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "format": "double"
      },
      "conditionExtra": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminBulkAssignClassDto": {
    "required": [
      "classId",
      "userIds"
    ],
    "type": "object",
    "properties": {
      "classId": {
        "type": "string",
        "description": "班级 ID。",
        "format": "uuid"
      },
      "userIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "用户 ID 列表。"
      }
    },
    "description": "租户管理端批量分配班级请求 DTO。"
  },
  "TenantAdminBulkOperationResult": {
    "required": [
      "requestedCount",
      "succeededCount",
      "failedCount",
      "failedUserIds"
    ],
    "type": "object",
    "properties": {
      "requestedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "succeededCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "failedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "failedUserIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        }
      }
    }
  },
  "TenantAdminBulkStatusDto": {
    "required": [
      "userIds"
    ],
    "type": "object",
    "properties": {
      "userIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "用户 ID 列表。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "租户管理端批量状态请求 DTO。"
  },
  "TenantAdminClassItem": {
    "required": [
      "id",
      "regionId",
      "regionName",
      "legacyId",
      "code",
      "name",
      "description",
      "status",
      "order",
      "metadata",
      "studentCount",
      "staffCount",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionName": {
        "type": [
          "null",
          "string"
        ]
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "code": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/TenantRecordStatus"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "studentCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "staffCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminClassList": {
    "required": [
      "items",
      "scoped"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminClassItem"
        }
      },
      "scoped": {
        "type": "boolean"
      }
    }
  },
  "TenantAdminClassMemberItem": {
    "required": [
      "id",
      "classId",
      "userId",
      "memberType",
      "status",
      "joinedAt",
      "leftAt",
      "metadata",
      "user"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "classId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "memberType": {
        "$ref": "#/components/schemas/TenantClassMemberType"
      },
      "status": {
        "$ref": "#/components/schemas/TenantClassMemberStatus"
      },
      "joinedAt": {
        "type": "string",
        "format": "date-time"
      },
      "leftAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "user": {
        "$ref": "#/components/schemas/TenantAdminUserSummary"
      }
    }
  },
  "TenantAdminFeedbackItem": {
    "required": [
      "id",
      "userId",
      "userName",
      "userPhone",
      "questionId",
      "type",
      "title",
      "category",
      "description",
      "status",
      "priority",
      "handledBy",
      "handledAt",
      "resolution",
      "contact",
      "attachments",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "userName": {
        "type": [
          "null",
          "string"
        ]
      },
      "userPhone": {
        "type": [
          "null",
          "string"
        ]
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "type": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ReportType"
          }
        ]
      },
      "title": {
        "type": [
          "null",
          "string"
        ]
      },
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/ReportStatus"
      },
      "priority": {
        "$ref": "#/components/schemas/ReportPriority"
      },
      "handledBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "handledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "resolution": {
        "type": [
          "null",
          "string"
        ]
      },
      "contact": {
        "type": [
          "null",
          "string"
        ]
      },
      "attachments": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminMemberItem": {
    "required": [
      "membershipId",
      "userId",
      "role",
      "status",
      "legacyRole",
      "user",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "membershipId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "role": {
        "$ref": "#/components/schemas/TenantRole"
      },
      "status": {
        "$ref": "#/components/schemas/MembershipStatus"
      },
      "legacyRole": {
        "type": [
          "null",
          "string"
        ]
      },
      "user": {
        "$ref": "#/components/schemas/TenantAdminUserSummary"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminNotificationItem": {
    "required": [
      "id",
      "userId",
      "notificationType",
      "status",
      "severity",
      "title",
      "message",
      "actionLabel",
      "actionPath",
      "sourceType",
      "sourceId",
      "dedupeKey",
      "metadata",
      "createdBy",
      "readAt",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "notificationType": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/NotificationStatus"
      },
      "severity": {
        "$ref": "#/components/schemas/NotificationSeverity"
      },
      "title": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "actionLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "actionPath": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "dedupeKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "readAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminOverviewItem": {
    "required": [
      "studentCount",
      "classCount",
      "staffCount",
      "activePracticeCount",
      "todayPracticeCount",
      "pendingFollowupCount",
      "unreadNotificationCount",
      "paidOrderCount",
      "revenueCents",
      "pendingRefundCount",
      "openReconciliationIssueCount",
      "generatedAt"
    ],
    "type": "object",
    "properties": {
      "studentCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "classCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "staffCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "activePracticeCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "todayPracticeCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pendingFollowupCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "unreadNotificationCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paidOrderCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "revenueCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pendingRefundCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "openReconciliationIssueCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "generatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminStudentClassSummary": {
    "required": [
      "classId",
      "className",
      "classCode",
      "memberType",
      "joinedAt"
    ],
    "type": "object",
    "properties": {
      "classId": {
        "type": "string",
        "format": "uuid"
      },
      "className": {
        "type": "string"
      },
      "classCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "memberType": {
        "$ref": "#/components/schemas/TenantClassMemberType"
      },
      "joinedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminStudentFollowupItem": {
    "required": [
      "id",
      "studentUserId",
      "assignedToUserId",
      "classId",
      "title",
      "description",
      "followupType",
      "priority",
      "status",
      "dueAt",
      "completedAt",
      "completedBy",
      "metadata",
      "createdBy",
      "updatedBy",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "studentUserId": {
        "type": "string",
        "format": "uuid"
      },
      "assignedToUserId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "classId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "followupType": {
        "$ref": "#/components/schemas/StudentFollowupType"
      },
      "priority": {
        "$ref": "#/components/schemas/StudentFollowupPriority"
      },
      "status": {
        "$ref": "#/components/schemas/StudentFollowupStatus"
      },
      "dueAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "completedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "updatedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminStudentImportDto": {
    "required": [
      "rows"
    ],
    "type": "object",
    "properties": {
      "rows": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentImportRowDto"
        },
        "description": "数据行列表。"
      }
    },
    "description": "租户管理端学生导入请求 DTO。"
  },
  "TenantAdminStudentImportPreview": {
    "required": [
      "totalCount",
      "validCount",
      "invalidCount",
      "items"
    ],
    "type": "object",
    "properties": {
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "validCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "invalidCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentImportPreviewItem"
        }
      }
    }
  },
  "TenantAdminStudentImportPreviewItem": {
    "required": [
      "rowNo",
      "valid",
      "reason",
      "phone",
      "email",
      "name",
      "regionId",
      "classId"
    ],
    "type": "object",
    "properties": {
      "rowNo": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "valid": {
        "type": "boolean"
      },
      "reason": {
        "type": [
          "null",
          "string"
        ]
      },
      "phone": {
        "type": [
          "null",
          "string"
        ]
      },
      "email": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "classId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      }
    }
  },
  "TenantAdminStudentImportResult": {
    "required": [
      "totalCount",
      "createdOrUpdatedCount",
      "classAssignedCount",
      "invalidItems"
    ],
    "type": "object",
    "properties": {
      "totalCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "createdOrUpdatedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "classAssignedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "invalidItems": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentImportPreviewItem"
        }
      }
    }
  },
  "TenantAdminStudentImportRowDto": {
    "type": "object",
    "properties": {
      "user": {
        "description": "用户信息。",
        "$ref": "#/components/schemas/TenantAdminUserLookupDto"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "classId": {
        "type": [
          "null",
          "string"
        ],
        "description": "班级 ID。",
        "format": "uuid"
      },
      "avatarPreset": {
        "type": [
          "null",
          "string"
        ],
        "description": "头像预设。"
      },
      "rawProfile": {
        "description": "原始用户资料。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "租户管理端学生导入行请求 DTO。"
  },
  "TenantAdminStudentItem": {
    "required": [
      "membershipId",
      "userId",
      "status",
      "user",
      "profileId",
      "avatarPreset",
      "regionId",
      "regionName",
      "selectedSchoolId",
      "selectedSchoolName",
      "selectedMajorId",
      "selectedMajorName",
      "stats",
      "progress",
      "moduleSelections",
      "classes",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "membershipId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/MembershipStatus"
      },
      "user": {
        "$ref": "#/components/schemas/TenantAdminUserSummary"
      },
      "profileId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "avatarPreset": {
        "type": "string"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "regionName": {
        "type": [
          "null",
          "string"
        ]
      },
      "selectedSchoolId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "selectedSchoolName": {
        "type": [
          "null",
          "string"
        ]
      },
      "selectedMajorId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "selectedMajorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "stats": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "progress": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "moduleSelections": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "classes": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentClassSummary"
        }
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminStudentList": {
    "required": [
      "items",
      "scoped"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantAdminStudentItem"
        }
      },
      "scoped": {
        "type": "boolean"
      }
    }
  },
  "TenantAdminStudentNoteItem": {
    "required": [
      "id",
      "studentUserId",
      "noteType",
      "content",
      "visibility",
      "isPinned",
      "metadata",
      "createdBy",
      "updatedBy",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "studentUserId": {
        "type": "string",
        "format": "uuid"
      },
      "noteType": {
        "$ref": "#/components/schemas/StudentNoteType"
      },
      "content": {
        "type": "string"
      },
      "visibility": {
        "$ref": "#/components/schemas/StudentNoteVisibility"
      },
      "isPinned": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "updatedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminStudentStatusItem": {
    "required": [
      "membershipId",
      "userId",
      "role",
      "status",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "membershipId": {
        "type": "string",
        "format": "uuid"
      },
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "role": {
        "$ref": "#/components/schemas/TenantRole"
      },
      "status": {
        "$ref": "#/components/schemas/MembershipStatus"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantAdminUserLookupDto": {
    "type": "object",
    "properties": {
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "description": "用户 ID。",
        "format": "uuid"
      },
      "username": {
        "type": [
          "null",
          "string"
        ],
        "description": "用户名。"
      },
      "email": {
        "type": [
          "null",
          "string"
        ],
        "description": "邮箱。"
      },
      "phone": {
        "type": [
          "null",
          "string"
        ],
        "description": "手机号。"
      },
      "name": {
        "type": [
          "null",
          "string"
        ],
        "description": "名称。"
      },
      "avatarUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "头像地址。"
      }
    },
    "description": "租户管理端用户查找请求 DTO。"
  },
  "TenantAdminUserSummary": {
    "required": [
      "id",
      "username",
      "email",
      "phone",
      "name",
      "avatarUrl",
      "primaryRole"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "username": {
        "type": [
          "null",
          "string"
        ]
      },
      "email": {
        "type": [
          "null",
          "string"
        ]
      },
      "phone": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "avatarUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "primaryRole": {
        "type": "string"
      }
    }
  },
  "TenantBillingCatalog": {
    "required": [
      "features",
      "basePlans",
      "addOns"
    ],
    "type": "object",
    "properties": {
      "features": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasFeature"
        }
      },
      "basePlans": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasOfferingVersionItem"
        }
      },
      "addOns": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SaasOfferingVersionItem"
        }
      }
    }
  },
  "TenantBillingInvoiceTitleType": {
    "type": "integer"
  },
  "TenantBillingProfileItem": {
    "required": [
      "tenantId",
      "billingName",
      "taxId",
      "contactName",
      "contactPhoneMasked",
      "contactEmail",
      "billingAddress",
      "invoiceTitle",
      "invoiceType",
      "bankName",
      "bankAccountMasked",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "billingName": {
        "type": [
          "null",
          "string"
        ]
      },
      "taxId": {
        "type": [
          "null",
          "string"
        ]
      },
      "contactName": {
        "type": [
          "null",
          "string"
        ]
      },
      "contactPhoneMasked": {
        "type": [
          "null",
          "string"
        ]
      },
      "contactEmail": {
        "type": [
          "null",
          "string"
        ]
      },
      "billingAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "invoiceTitle": {
        "type": [
          "null",
          "string"
        ]
      },
      "invoiceType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/TenantBillingInvoiceTitleType"
          }
        ]
      },
      "bankName": {
        "type": [
          "null",
          "string"
        ]
      },
      "bankAccountMasked": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "TenantBrandingItem": {
    "required": [
      "tenantId",
      "brandName",
      "shortName",
      "slogan",
      "organizationName",
      "logoUrl",
      "faviconUrl",
      "serviceWechat",
      "serviceAccountName",
      "theme",
      "publicAssets",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "brandName": {
        "type": "string"
      },
      "shortName": {
        "type": [
          "null",
          "string"
        ]
      },
      "slogan": {
        "type": [
          "null",
          "string"
        ]
      },
      "organizationName": {
        "type": [
          "null",
          "string"
        ]
      },
      "logoUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "faviconUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "serviceWechat": {
        "type": [
          "null",
          "string"
        ]
      },
      "serviceAccountName": {
        "type": [
          "null",
          "string"
        ]
      },
      "theme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicAssets": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantClassMemberStatus": {
    "type": "integer"
  },
  "TenantClassMemberType": {
    "type": "integer"
  },
  "TenantCommerceAnomalySummary": {
    "required": [
      "openRefundCount",
      "processingRefundCount",
      "openReconciliationIssueCount",
      "failedReconciliationBatchCount",
      "pendingPaymentCount",
      "paymentMismatchCount"
    ],
    "type": "object",
    "properties": {
      "openRefundCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "processingRefundCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "openReconciliationIssueCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "failedReconciliationBatchCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "pendingPaymentCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "paymentMismatchCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantCouponList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Coupon"
        }
      }
    }
  },
  "TenantCouponRedemptionList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CouponRedemption"
        }
      }
    }
  },
  "TenantCouponReport": {
    "required": [
      "couponCount",
      "claimedCount",
      "usedCount",
      "discountAppliedCents"
    ],
    "type": "object",
    "properties": {
      "couponCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "claimedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "usedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "discountAppliedCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantDomainItem": {
    "required": [
      "id",
      "host",
      "domainType",
      "status",
      "isPrimary",
      "verificationToken",
      "verifiedAt",
      "lastCheckedAt",
      "dnsVerifiedAt",
      "tlsReadyAt",
      "lastFailureReason",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "host": {
        "type": "string"
      },
      "domainType": {
        "$ref": "#/components/schemas/TenantDomainType"
      },
      "status": {
        "$ref": "#/components/schemas/TenantDomainStatus"
      },
      "isPrimary": {
        "type": "boolean"
      },
      "verificationToken": {
        "type": [
          "null",
          "string"
        ]
      },
      "verifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastCheckedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "dnsVerifiedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "tlsReadyAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastFailureReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantDomainStatus": {
    "type": "integer"
  },
  "TenantDomainType": {
    "type": "integer"
  },
  "TenantExternalProviderCapability": {
    "type": "integer"
  },
  "TenantExternalProviderItem": {
    "required": [
      "id",
      "capability",
      "provider",
      "status",
      "displayName",
      "secretRef",
      "priority",
      "configPublic",
      "metadata",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "capability": {
        "$ref": "#/components/schemas/TenantExternalProviderCapability"
      },
      "provider": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "displayName": {
        "type": [
          "null",
          "string"
        ]
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configPublic": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantExternalProviderStatus": {
    "type": "integer"
  },
  "TenantFeatureOverride": {
    "type": "object",
    "properties": {
      "featureCode": {
        "type": "string"
      },
      "mode": {
        "$ref": "#/components/schemas/TenantFeatureOverrideMode"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "reason": {
        "type": "string"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "TenantFeatureOverrideMode": {
    "type": "integer"
  },
  "TenantFeatureUsage": {
    "type": "object",
    "properties": {
      "metricCode": {
        "type": "string"
      },
      "periodStart": {
        "type": "string",
        "format": "date-time"
      },
      "periodEnd": {
        "type": "string",
        "format": "date-time"
      },
      "usedValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "limitValueSnapshot": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "warningIssued": {
        "type": "boolean"
      },
      "version": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "TenantFeedbackReport": {
    "required": [
      "pendingCount",
      "acceptedCount",
      "rejectedCount",
      "resolvedCount",
      "closedCount"
    ],
    "type": "object",
    "properties": {
      "pendingCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "acceptedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "rejectedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "resolvedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "closedCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantFollowupReport": {
    "required": [
      "openCount",
      "inProgressCount",
      "doneCount",
      "overdueCount"
    ],
    "type": "object",
    "properties": {
      "openCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "inProgressCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "doneCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "overdueCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantFrontendConfigDraft": {
    "required": [
      "branding",
      "theme",
      "features",
      "navigation",
      "homeModules"
    ],
    "type": "object",
    "properties": {
      "branding": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "theme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "features": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "navigation": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "homeModules": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "TenantFrontendConfigItem": {
    "required": [
      "schemaVersion",
      "configVersion",
      "published",
      "draft",
      "publishedAt"
    ],
    "type": "object",
    "properties": {
      "schemaVersion": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configVersion": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "published": {
        "$ref": "#/components/schemas/TenantFrontendConfigDraft"
      },
      "draft": {
        "$ref": "#/components/schemas/TenantFrontendConfigDraft"
      },
      "publishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "TenantIdentityProviderItem": {
    "required": [
      "id",
      "provider",
      "status",
      "displayName",
      "secretRef",
      "priority",
      "configPublic",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "displayName": {
        "type": [
          "null",
          "string"
        ]
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configPublic": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantMembershipResponse": {
    "required": [
      "tenantId",
      "tenantName",
      "tenantSlug",
      "role",
      "status"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string",
        "description": "租户名称。"
      },
      "tenantSlug": {
        "type": "string",
        "description": "租户编码。"
      },
      "role": {
        "description": "当前用户在该租户内的角色。",
        "$ref": "#/components/schemas/TenantRole"
      },
      "status": {
        "description": "租户成员状态。",
        "$ref": "#/components/schemas/MembershipStatus"
      }
    },
    "description": "用户在某个租户内的成员摘要。"
  },
  "TenantMembershipSummary": {
    "required": [
      "tenantId",
      "tenantName",
      "role",
      "status"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "tenantName": {
        "type": "string",
        "description": "租户名称。"
      },
      "role": {
        "description": "当前用户在租户内的角色。",
        "$ref": "#/components/schemas/TenantRole"
      },
      "status": {
        "description": "租户成员状态。",
        "$ref": "#/components/schemas/MembershipStatus"
      }
    },
    "description": "当前登录租户成员摘要。"
  },
  "TenantMode": {
    "type": "integer"
  },
  "TenantOnboardingStatus": {
    "required": [
      "tenantId",
      "readyForStudentTraffic",
      "completedRequiredSteps",
      "requiredSteps",
      "steps"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "readyForStudentTraffic": {
        "type": "boolean"
      },
      "completedRequiredSteps": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "requiredSteps": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "steps": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantOnboardingStep"
        }
      }
    }
  },
  "TenantOnboardingStep": {
    "required": [
      "code",
      "required",
      "completed",
      "detail"
    ],
    "type": "object",
    "properties": {
      "code": {
        "type": "string"
      },
      "required": {
        "type": "boolean"
      },
      "completed": {
        "type": "boolean"
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "TenantPaymentProviderItem": {
    "required": [
      "id",
      "provider",
      "mode",
      "displayName",
      "status",
      "secretRef",
      "priority",
      "configPublic",
      "createdAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "provider": {
        "type": "string"
      },
      "mode": {
        "type": "string"
      },
      "displayName": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ]
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configPublic": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantPointClaimList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointActivityClaim"
        }
      }
    }
  },
  "TenantPointExchangeItemList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointExchangeItem"
        }
      }
    }
  },
  "TenantPointExchangeOrderList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointExchangeOrder"
        }
      }
    }
  },
  "TenantPointRiskReport": {
    "required": [
      "negativeScoreUserCount",
      "highPointClaimUserCount",
      "cancelledExchangeOrderCount"
    ],
    "type": "object",
    "properties": {
      "negativeScoreUserCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "highPointClaimUserCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "cancelledExchangeOrderCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantPointTaskList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PointActivityTask"
        }
      }
    }
  },
  "TenantReconciliationBatchList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceReconciliationBatch"
        }
      }
    }
  },
  "TenantReconciliationIssueEventList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceReconciliationIssueEvent"
        }
      }
    }
  },
  "TenantReconciliationIssueList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceReconciliationIssue"
        }
      }
    }
  },
  "TenantReconciliationItemList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceReconciliationItem"
        }
      }
    }
  },
  "TenantRecordStatus": {
    "type": "integer"
  },
  "TenantRefundEventList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceRefundEvent"
        }
      }
    }
  },
  "TenantRefundList": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CommerceRefundRequest"
        }
      }
    }
  },
  "TenantResolveResponseDto": {
    "required": [
      "tenant",
      "branding",
      "features",
      "adminFeatures",
      "publicConfig"
    ],
    "type": "object",
    "properties": {
      "tenant": {
        "description": "公开租户基础信息。",
        "$ref": "#/components/schemas/PublicTenantDto"
      },
      "branding": {
        "description": "公开品牌配置。",
        "$ref": "#/components/schemas/PublicTenantBrandingDto"
      },
      "features": {
        "description": "面向前端公开的功能开关。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "adminFeatures": {
        "description": "面向管理端公开的功能开关。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicConfig": {
        "description": "可公开的租户配置，不包含密钥或内部配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "租户解析响应。"
  },
  "TenantRole": {
    "type": "integer"
  },
  "TenantRuntimeBootstrap": {
    "required": [
      "schemaVersion",
      "configVersion",
      "tenantCode",
      "tenantName",
      "branding",
      "theme",
      "features",
      "navigation",
      "homeModules",
      "enabledFeatures",
      "loginMethods"
    ],
    "type": "object",
    "properties": {
      "schemaVersion": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "configVersion": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tenantCode": {
        "type": "string"
      },
      "tenantName": {
        "type": "string"
      },
      "branding": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "theme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "features": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "navigation": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "homeModules": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "enabledFeatures": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "loginMethods": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  },
  "TenantSaasSubscription": {
    "type": "object",
    "properties": {
      "baseOfferingVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "scheduledBaseOfferingVersionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/TenantSaasSubscriptionStatus"
      },
      "startsAt": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodStart": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodEnd": {
        "type": "string",
        "format": "date-time"
      },
      "cancelAtPeriodEnd": {
        "type": "boolean"
      },
      "cancelledAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lifecycleVersion": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int64"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "TenantSaasSubscriptionStatus": {
    "type": "integer"
  },
  "TenantSecretItem": {
    "required": [
      "id",
      "purpose",
      "provider",
      "secretKey",
      "secretRef",
      "status",
      "rotatedAt",
      "expiresAt",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "purpose": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "secretKey": {
        "type": "string"
      },
      "secretRef": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "rotatedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantSecretStatus": {
    "type": "integer"
  },
  "TenantSettingsItem": {
    "required": [
      "tenantId",
      "featureFlags",
      "adminFeatureFlags",
      "publicConfig",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "featureFlags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "adminFeatureFlags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicConfig": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantStatus": {
    "type": "integer"
  },
  "TenantSubscriptionView": {
    "required": [
      "id",
      "status",
      "startsAt",
      "currentPeriodStart",
      "currentPeriodEnd",
      "cancelAtPeriodEnd",
      "baseOfferingVersionId",
      "scheduledBaseOfferingVersionId",
      "featureCodes"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/TenantSaasSubscriptionStatus"
      },
      "startsAt": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodStart": {
        "type": "string",
        "format": "date-time"
      },
      "currentPeriodEnd": {
        "type": "string",
        "format": "date-time"
      },
      "cancelAtPeriodEnd": {
        "type": "boolean"
      },
      "baseOfferingVersionId": {
        "type": "string",
        "format": "uuid"
      },
      "scheduledBaseOfferingVersionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "featureCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  },
  "TenantSupervisionGenerateDto": {
    "type": "object",
    "properties": {
      "userIds": {
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "用户 ID 列表。"
      },
      "assignedToUserId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分配处理人用户 ID。",
        "format": "uuid"
      },
      "dueAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "到期时间。",
        "format": "date-time"
      }
    },
    "description": "租户督导生成请求 DTO。"
  },
  "TenantSupervisionGenerateResult": {
    "required": [
      "createdCount"
    ],
    "type": "object",
    "properties": {
      "createdCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TenantSupervisionPreview": {
    "required": [
      "items"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TenantSupervisionRiskStudentItem"
        }
      }
    }
  },
  "TenantSupervisionRiskStudentItem": {
    "required": [
      "userId",
      "name",
      "phoneMasked",
      "regionId",
      "ruleCodes",
      "reasons"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "format": "uuid"
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "phoneMasked": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "ruleCodes": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "reasons": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  },
  "TenantSupervisionRuleItem": {
    "required": [
      "code",
      "title",
      "enabled",
      "daysWithoutCheckIn",
      "maxQuestionsAnsweredToday",
      "followupType",
      "priority",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "code": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      },
      "daysWithoutCheckIn": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "maxQuestionsAnsweredToday": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "followupType": {
        "type": "string"
      },
      "priority": {
        "type": "string"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "TenantThemeConfigStatus": {
    "type": "integer"
  },
  "TenantThemeItem": {
    "required": [
      "tenantId",
      "activeTemplateCode",
      "activeTheme",
      "activePublicAssets",
      "draftTemplateCode",
      "draftTheme",
      "draftPublicAssets",
      "status",
      "publishedAt",
      "publishedBy",
      "draftUpdatedBy",
      "updatedAt"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "activeTemplateCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "activeTheme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "activePublicAssets": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "draftTemplateCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "draftTheme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "draftPublicAssets": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "status": {
        "$ref": "#/components/schemas/TenantThemeConfigStatus"
      },
      "publishedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "publishedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "draftUpdatedBy": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  },
  "TenantThemeTemplateItem": {
    "required": [
      "code",
      "name",
      "description",
      "previewImageUrl",
      "theme",
      "publicAssets",
      "order"
    ],
    "type": "object",
    "properties": {
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "previewImageUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "theme": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicAssets": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "TrackReferralEventDto": {
    "required": [
      "refCode"
    ],
    "type": "object",
    "properties": {
      "refCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "推荐码。"
      },
      "eventType": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "事件类型。"
      },
      "source": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源。"
      },
      "targetUserId": {
        "type": [
          "null",
          "string"
        ],
        "description": "目标用户 ID。",
        "format": "uuid"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "tenantCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "租户编码。"
      }
    },
    "description": "记录推荐事件请求 DTO。"
  },
  "UpdateAdjustmentVoucherStatusDto": {
    "required": [
      "voucherId"
    ],
    "type": "object",
    "properties": {
      "voucherId": {
        "type": "string",
        "description": "凭证 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/CommerceAdjustmentVoucherStatus"
      },
      "note": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      }
    },
    "description": "更新调账凭证状态请求 DTO。"
  },
  "UpdateCommissionProofStatusDto": {
    "required": [
      "proofId"
    ],
    "type": "object",
    "properties": {
      "proofId": {
        "type": "string",
        "description": "凭证 ID。",
        "format": "uuid"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "reviewNote": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "审核备注。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "更新佣金结算凭证状态请求。"
  },
  "UpdateCommissionSettingsDto": {
    "type": "object",
    "properties": {
      "defaultRate": {
        "maximum": 1,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "默认佣金比例。",
        "format": "double"
      },
      "minSettlementCents": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "最低结算金额，单位为分。",
        "format": "int32"
      },
      "settlementCycle": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "结算周期。"
      },
      "config": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "配置内容。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "保存佣金配置请求。"
  },
  "UpdateCommissionSettlementStatusDto": {
    "required": [
      "settlementId"
    ],
    "type": "object",
    "properties": {
      "settlementId": {
        "type": "string",
        "description": "结算单 ID。",
        "format": "uuid"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "reviewNote": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "审核备注。"
      },
      "paymentMethod": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "支付方式。"
      },
      "paymentAccount": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "收款账号。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "更新佣金结算单状态请求 DTO。"
  },
  "UpdateMemberCommissionRateDto": {
    "required": [
      "userId"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "commissionRate": {
        "maximum": 1,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "成员佣金比例。",
        "format": "double"
      },
      "commissionConfig": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "佣金扩展配置。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "调整成员佣金比例请求。"
  },
  "UpdatePlatformAuditAlertStatusDto": {
    "required": [
      "alertId"
    ],
    "type": "object",
    "properties": {
      "alertId": {
        "type": "string",
        "description": "告警 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PlatformAuditAlertStatus"
      },
      "resolutionNote": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "处理备注。"
      }
    },
    "description": "更新平台审计Alert状态请求 DTO。"
  },
  "UpdatePlatformStaffStatusDto": {
    "required": [
      "userId"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/UserStatus"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "更新平台Staff状态请求 DTO。"
  },
  "UpdatePlatformTenantStatusDto": {
    "required": [
      "tenantId"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantStatus"
      },
      "billingStatus": {
        "description": "账务状态。",
        "$ref": "#/components/schemas/BillingStatus"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "更新平台租户状态请求 DTO。"
  },
  "UpdatePointExchangeOrderStatusDto": {
    "required": [
      "orderId"
    ],
    "type": "object",
    "properties": {
      "orderId": {
        "type": "string",
        "description": "订单 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PointExchangeOrderStatus"
      }
    },
    "description": "更新积分兑换订单状态请求 DTO。"
  },
  "UpdateProfileDto": {
    "type": "object",
    "properties": {
      "name": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "名称。"
      },
      "avatarPreset": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "头像预设。"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "selectedSchoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "已选择院校 ID。",
        "format": "uuid"
      },
      "selectedMajorId": {
        "type": [
          "null",
          "string"
        ],
        "description": "已选择专业 ID。",
        "format": "uuid"
      },
      "stats": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "统计数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "progress": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "进度数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "moduleSelections": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "模块选择数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "recentActivities": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "最近活动数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "更新资料请求 DTO。"
  },
  "UpdateReconciliationIssueDto": {
    "required": [
      "issueId"
    ],
    "type": "object",
    "properties": {
      "issueId": {
        "type": "string",
        "description": "工单 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/ReconciliationIssueStatus"
      },
      "resolutionType": {
        "description": "处理类型。",
        "$ref": "#/components/schemas/ReconciliationResolutionType"
      },
      "note": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      },
      "assignedTo": {
        "type": [
          "null",
          "string"
        ],
        "description": "分配处理人。",
        "format": "uuid"
      }
    },
    "description": "更新对账Issue请求 DTO。"
  },
  "UpdateRefundStatusDto": {
    "required": [
      "refundRequestId"
    ],
    "type": "object",
    "properties": {
      "refundRequestId": {
        "type": "string",
        "description": "退款申请 ID。",
        "format": "uuid"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/CommerceRefundStatus"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      },
      "providerRefundNo": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "渠道退款单号。"
      }
    },
    "description": "更新退款状态请求 DTO。"
  },
  "UpdateTenantAdminFeedbackDto": {
    "required": [
      "feedbackId"
    ],
    "type": "object",
    "properties": {
      "feedbackId": {
        "type": "string",
        "description": "反馈 ID。",
        "format": "uuid"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "priority": {
        "type": [
          "null",
          "string"
        ],
        "description": "优先级。"
      },
      "resolution": {
        "type": [
          "null",
          "string"
        ],
        "description": "处理结果。"
      },
      "note": {
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "更新租户管理端反馈请求 DTO。"
  },
  "UpdateTenantAdminStudentStatusDto": {
    "required": [
      "userId"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "reason": {
        "type": [
          "null",
          "string"
        ],
        "description": "原因。"
      }
    },
    "description": "更新租户管理端学生状态请求 DTO。"
  },
  "UpsertAssetDto": {
    "type": "object",
    "properties": {
      "assetId": {
        "type": [
          "null",
          "string"
        ],
        "description": "资产 ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类 ID。",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "assetKey": {
        "type": [
          "null",
          "string"
        ],
        "description": "资产键。"
      },
      "title": {
        "type": [
          "null",
          "string"
        ],
        "description": "标题。"
      },
      "category": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "fileName": {
        "type": [
          "null",
          "string"
        ],
        "description": "文件名。"
      },
      "cdnUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "CDN 地址。"
      },
      "isPublic": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否公开。"
      },
      "assetType": {
        "type": [
          "null",
          "string"
        ],
        "description": "资产类型。"
      },
      "visibility": {
        "type": [
          "null",
          "string"
        ],
        "description": "可见性。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "provider": {
        "type": [
          "null",
          "string"
        ],
        "description": "服务提供方。"
      },
      "bucket": {
        "type": [
          "null",
          "string"
        ],
        "description": "存储桶。"
      },
      "objectKey": {
        "type": [
          "null",
          "string"
        ],
        "description": "对象存储键。"
      },
      "mimeType": {
        "type": [
          "null",
          "string"
        ],
        "description": "MIME 类型。"
      },
      "fileSizeBytes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "文件大小，单位为字节。",
        "format": "int64"
      },
      "checksumSha256": {
        "type": [
          "null",
          "string"
        ],
        "description": "SHA-256 校验值。"
      },
      "previewUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "预览地址。"
      },
      "previewObjectKey": {
        "type": [
          "null",
          "string"
        ],
        "description": "预览对象存储键。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "accessRules": {
        "description": "访问规则。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新内容资产请求。"
  },
  "UpsertBackofficeRoleDto": {
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "code": {
        "type": "string",
        "description": "编码。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/BackendRoleStatus"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "dataScope": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "数据范围配置。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "创建或更新后台角色请求。"
  },
  "UpsertContentEntryDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "maxLength": 64,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "entryKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "入口键。"
      },
      "name": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "entryType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "入口类型。"
      },
      "icon": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "图标。"
      },
      "route": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "路由地址。"
      },
      "description": {
        "maxLength": 2000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "visibility": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "可见性。"
      },
      "accessRules": {
        "description": "访问规则。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "layoutConfig": {
        "description": "布局配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      }
    },
    "description": "新增或更新内容条目请求 DTO。"
  },
  "UpsertContentNodeDto": {
    "required": [
      "entryId",
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": "string",
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "description": "父节点 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "maxLength": 64,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "nodeKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "节点键。"
      },
      "name": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "nodeType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "节点Type。"
      },
      "markerType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "标记类型。"
      },
      "markerConfig": {
        "description": "标记配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      },
      "isSelectable": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否可选择。"
      },
      "isLeaf": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否叶子节点。"
      },
      "accessRules": {
        "description": "访问规则。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新内容节点请求 DTO。"
  },
  "UpsertCrmConfigDto": {
    "type": "object",
    "properties": {
      "enabled": {
        "type": "boolean",
        "description": "是否启用。"
      },
      "url": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "访问地址。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "secret": {
        "type": [
          "null",
          "string"
        ],
        "description": "密钥内容。"
      },
      "formName": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "表单名称。"
      },
      "examType": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "考试类型。"
      },
      "timeoutSeconds": {
        "maximum": 120,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "超时时长，单位为秒。",
        "format": "int32"
      },
      "delaySeconds": {
        "maximum": 86400,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "延迟秒数。",
        "format": "int32"
      },
      "assignmentMode": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "分配模式。"
      },
      "assignmentPool": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "分配池。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "assignmentConfig": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "分配配置。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "新增或更新CRM配置请求 DTO。"
  },
  "UpsertPaymentAccountDto": {
    "required": [
      "provider"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "mode": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "模式。"
      },
      "displayName": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "显示名称。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "优先级。",
        "format": "int32"
      },
      "configPublic": {
        "description": "公开配置内容。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新支付账号请求 DTO。"
  },
  "UpsertPlatformBillingDunningChannelDto": {
    "required": [
      "channelCode",
      "name",
      "webhookUrl"
    ],
    "type": "object",
    "properties": {
      "channelId": {
        "type": [
          "null",
          "string"
        ],
        "description": "通知渠道 ID。",
        "format": "uuid"
      },
      "channelCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "渠道编码。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "enabled": {
        "type": "boolean",
        "description": "是否启用。"
      },
      "provider": {
        "description": "服务提供方。",
        "$ref": "#/components/schemas/PlatformBillingDunningProvider"
      },
      "webhookUrl": {
        "maxLength": 2048,
        "minLength": 0,
        "type": "string",
        "description": "Webhook 地址。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "reminderTypes": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "提醒类型列表。"
      },
      "reminderChannels": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "提醒渠道列表。"
      },
      "minReminderLevel": {
        "maximum": 20,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "最低提醒级别。",
        "format": "int32"
      },
      "tenantIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "租户 ID 列表。"
      },
      "timeoutSeconds": {
        "maximum": 60,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "超时时长，单位为秒。",
        "format": "int32"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新平台DunningChannel请求 DTO。"
  },
  "UpsertPlatformCrmConfigDto": {
    "required": [
      "tenantId"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "enabled": {
        "type": "boolean",
        "description": "是否启用。"
      },
      "url": {
        "maxLength": 2048,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "回调地址。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "formName": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "表单名称。"
      },
      "examType": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "考试类型。"
      },
      "timeoutSeconds": {
        "maximum": 120,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "超时时长，单位为秒。",
        "format": "int32"
      },
      "delaySeconds": {
        "maximum": 86400,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "延迟秒数。",
        "format": "int32"
      },
      "assignmentMode": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "分配模式。"
      },
      "assignmentPool": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "分配池。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "assignmentConfig": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "分配配置。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "新增或更新租户 CRM 配置请求。"
  },
  "UpsertPlatformPaymentAppDto": {
    "required": [
      "appCode",
      "appName"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "appCode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "支付应用编码。"
      },
      "appName": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "支付应用名称。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PlatformPaymentAppStatus"
      },
      "settlementMode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "结算模式。"
      },
      "description": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新平台支付应用请求。"
  },
  "UpsertPlatformPaymentChannelDto": {
    "required": [
      "appId",
      "provider",
      "displayName"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "appId": {
        "type": "string",
        "description": "支付应用 ID。",
        "format": "uuid"
      },
      "provider": {
        "maxLength": 80,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "mode": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "模式。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PlatformPaymentChannelStatus"
      },
      "displayName": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "显示名称。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "callbackPath": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "回调路径。"
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "优先级。",
        "format": "int32"
      },
      "configPublic": {
        "description": "公开配置内容。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新平台支付渠道请求。"
  },
  "UpsertPlatformQuestionBankCommand": {
    "required": [
      "id",
      "name",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "UpsertPlatformQuestionBankNodeCommand": {
    "required": [
      "id",
      "questionBankId",
      "parentId",
      "nodeKey",
      "name",
      "nodeType",
      "sortOrder",
      "isSelectable",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "parentId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "nodeKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nodeType": {
        "$ref": "#/components/schemas/ContentNodeType"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isSelectable": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "UpsertPlatformQuestionCommand": {
    "required": [
      "id",
      "questionBankId",
      "contentNodeId",
      "legacyId",
      "type",
      "typeLabel",
      "difficulty",
      "tags",
      "content",
      "options",
      "correctOptionIndex",
      "correctOptionIndices",
      "answerText",
      "explanation",
      "subQuestions",
      "codeLang",
      "codeTemplate",
      "mediaUrl",
      "status",
      "examMarkers",
      "sourceHash"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "questionBankId": {
        "type": "string",
        "format": "uuid"
      },
      "contentNodeId": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "type": [
          "null",
          "string"
        ]
      },
      "typeLabel": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "content": {
        "type": [
          "null",
          "string"
        ]
      },
      "options": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "correctOptionIndex": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctOptionIndices": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "answerText": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": [
          "null",
          "string"
        ]
      },
      "subQuestions": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "codeLang": {
        "type": [
          "null",
          "string"
        ]
      },
      "codeTemplate": {
        "type": [
          "null",
          "string"
        ]
      },
      "mediaUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": [
          "null",
          "string"
        ]
      },
      "examMarkers": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      }
    }
  },
  "UpsertPlatformSmsChannelDto": {
    "required": [
      "tenantId",
      "provider",
      "name",
      "signature",
      "scene"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "provider": {
        "maxLength": 80,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "signature": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "短信签名。"
      },
      "scene": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "使用场景。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "优先级。",
        "format": "int32"
      },
      "monthlyQuota": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "月度配额。",
        "format": "int32"
      },
      "configPublic": {
        "description": "公开配置内容。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户短信渠道请求。"
  },
  "UpsertPlatformSmsTemplateDto": {
    "required": [
      "tenantId",
      "channelId",
      "code",
      "name",
      "content"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "channelId": {
        "type": "string",
        "description": "短信渠道 ID。",
        "format": "uuid"
      },
      "code": {
        "maxLength": 120,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "type": {
        "description": "类型。",
        "$ref": "#/components/schemas/SmsTemplateType"
      },
      "auditStatus": {
        "description": "审核状态。",
        "$ref": "#/components/schemas/SmsTemplateAuditStatus"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/SmsTemplateStatus"
      },
      "providerTemplateCode": {
        "maxLength": 120,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "渠道模板编码。"
      },
      "content": {
        "maxLength": 1000,
        "minLength": 0,
        "type": "string",
        "description": "模板内容。"
      },
      "remark": {
        "maxLength": 500,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "Remark。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户短信模板请求。"
  },
  "UpsertPlatformStaffDto": {
    "type": "object",
    "properties": {
      "userId": {
        "type": [
          "null",
          "string"
        ],
        "description": "用户 ID。",
        "format": "uuid"
      },
      "email": {
        "maxLength": 320,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "邮箱。"
      },
      "phone": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "手机号。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "名称。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/UserStatus"
      },
      "roleIds": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "角色 ID 列表。"
      }
    },
    "description": "新增或更新平台Staff请求 DTO。"
  },
  "UpsertPlatformTenantBillingProfileDto": {
    "required": [
      "tenantId"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "billingName": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "账务名称。"
      },
      "taxId": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "税号。"
      },
      "contactName": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "联系人姓名。"
      },
      "contactPhone": {
        "maxLength": 32,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "联系人手机号。"
      },
      "contactEmail": {
        "maxLength": 320,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "联系人邮箱。"
      },
      "billingAddress": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "账务地址。"
      },
      "invoiceTitle": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "发票抬头。"
      },
      "invoiceType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "发票类型。",
            "$ref": "#/components/schemas/TenantBillingInvoiceTitleType"
          }
        ]
      },
      "bankName": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "开户银行。"
      },
      "bankAccountMasked": {
        "maxLength": 100,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "脱敏银行账号。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新平台租户账务资料请求 DTO。"
  },
  "UpsertPlatformTenantPaymentAppDto": {
    "required": [
      "tenantId",
      "provider"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "description": "租户 ID。",
        "format": "uuid"
      },
      "provider": {
        "maxLength": 80,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantExternalProviderStatus"
      },
      "displayName": {
        "maxLength": 200,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "显示名称。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "优先级。",
        "format": "int32"
      },
      "configPublic": {
        "description": "公开配置内容。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户支付应用请求。"
  },
  "UpsertPointExchangeItemDto": {
    "required": [
      "itemKey",
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "itemKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "兑换项键。"
      },
      "name": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "itemType": {
        "description": "兑换项类型。",
        "$ref": "#/components/schemas/PointExchangeItemType"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PointExchangeItemStatus"
      },
      "pointsCost": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "所需积分。",
        "format": "int32"
      },
      "stock": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "库存数量。",
        "format": "int32"
      },
      "days": {
        "maximum": 3650,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "天数。",
        "format": "int32"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "排序值。",
        "format": "int32"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "开始时间。",
        "format": "date-time"
      },
      "endsAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "结束时间。",
        "format": "date-time"
      },
      "fulfillmentPayload": {
        "description": "履约载荷。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新积分兑换Item请求 DTO。"
  },
  "UpsertPointTaskDto": {
    "required": [
      "taskKey",
      "title"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "taskKey": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "任务键。"
      },
      "title": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "标题。"
      },
      "description": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "taskType": {
        "description": "任务类型。",
        "$ref": "#/components/schemas/PointActivityTaskType"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/PointActivityTaskStatus"
      },
      "points": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "积分数量。",
        "format": "int32"
      },
      "maxClaimsPerUser": {
        "maximum": 1000,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "每用户最多领取次数。",
        "format": "int32"
      },
      "startsAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "开始时间。",
        "format": "date-time"
      },
      "endsAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "结束时间。",
        "format": "date-time"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "排序值。",
        "format": "int32"
      },
      "rules": {
        "description": "规则配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新积分任务请求 DTO。"
  },
  "UpsertPracticeBlueprintDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "节点 ID。",
        "format": "uuid"
      },
      "collectionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题集 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "maxLength": 64,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "mode": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "模式。"
      },
      "assemblyType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "组卷方式。"
      },
      "questionLimit": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "题目数量上限。",
        "format": "int32"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "时长，单位为分钟。",
        "format": "int32"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "总分。",
        "format": "double"
      },
      "passScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "及格分。",
        "format": "double"
      },
      "sections": {
        "description": "分段配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "rules": {
        "description": "规则配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "accessRules": {
        "description": "访问规则。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      }
    },
    "description": "新增或更新练习Blueprint请求 DTO。"
  },
  "UpsertQuestionCollectionDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "内容入口 ID。",
        "format": "uuid"
      },
      "nodeId": {
        "type": [
          "null",
          "string"
        ],
        "description": "节点 ID。",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "description": "科目 ID。",
        "format": "uuid"
      },
      "categoryId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类 ID。",
        "format": "uuid"
      },
      "questionBankId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题库 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "maxLength": 64,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "名称。"
      },
      "collectionType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "题集类型。"
      },
      "sourceType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源类型。"
      },
      "filters": {
        "description": "筛选条件。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "totalScore": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "总分。",
        "format": "double"
      },
      "durationMinutes": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "时长，单位为分钟。",
        "format": "int32"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "accessRules": {
        "description": "访问规则。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新题目题集请求 DTO。"
  },
  "UpsertReferralTeamDto": {
    "required": [
      "memberUserId"
    ],
    "type": "object",
    "properties": {
      "memberUserId": {
        "type": "string",
        "description": "成员用户 ID。",
        "format": "uuid"
      },
      "leaderUserId": {
        "type": [
          "null",
          "string"
        ],
        "description": "上级成员用户 ID。",
        "format": "uuid"
      },
      "relationType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "关系类型。"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "metadata": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "description": "扩展元数据。",
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      }
    },
    "description": "新增或更新推荐团队请求 DTO。"
  },
  "UpsertSaasFeatureDto": {
    "required": [
      "id",
      "code",
      "name",
      "category",
      "description",
      "referencePriceCents",
      "currency",
      "status",
      "sortOrder"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "category": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "referencePriceCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/SaasFeatureStatus"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    },
    "description": "新增或更新SaaS功能请求 DTO。"
  },
  "UpsertSaasFeatureLimitDto": {
    "required": [
      "id",
      "metricCode",
      "featureCode",
      "name",
      "unit",
      "kind",
      "warningPercent",
      "isHardLimit"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "metricCode": {
        "type": "string"
      },
      "featureCode": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "unit": {
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/SaasFeatureLimitKind"
      },
      "warningPercent": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isHardLimit": {
        "type": "boolean"
      }
    },
    "description": "新增或更新 SaaS 功能额度定义。"
  },
  "UpsertSaasOfferingDto": {
    "required": [
      "id",
      "code",
      "name",
      "type",
      "status",
      "description",
      "sortOrder"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "code": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "type": {
        "$ref": "#/components/schemas/SaasOfferingType"
      },
      "status": {
        "$ref": "#/components/schemas/SaasOfferingStatus"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    },
    "description": "新增或更新SaaS套餐请求 DTO。"
  },
  "UpsertSaasOfferingVersionDto": {
    "required": [
      "id",
      "offeringId",
      "billingCycle",
      "originalAmountCents",
      "amountCents",
      "currency",
      "effectiveAt",
      "featureCodes",
      "limits",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "offeringId": {
        "type": "string",
        "format": "uuid"
      },
      "billingCycle": {
        "$ref": "#/components/schemas/PlatformBillingCycle"
      },
      "originalAmountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "amountCents": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "currency": {
        "type": "string"
      },
      "effectiveAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "featureCodes": {
        "type": [
          "null",
          "array"
        ],
        "items": {
          "type": "string"
        }
      },
      "limits": {
        "type": [
          "null",
          "object"
        ],
        "additionalProperties": {
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ],
          "format": "int64"
        }
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新SaaS套餐版本请求 DTO。"
  },
  "UpsertTenantAdminBadgeDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "category": {
        "type": [
          "null",
          "string"
        ],
        "description": "分类。"
      },
      "iconUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "图标地址。"
      },
      "level": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "级别。",
        "format": "int32"
      },
      "unlockType": {
        "type": [
          "null",
          "string"
        ],
        "description": "解锁类型。"
      },
      "conditionField": {
        "type": [
          "null",
          "string"
        ],
        "description": "条件字段。"
      },
      "conditionOperator": {
        "type": [
          "null",
          "string"
        ],
        "description": "条件运算符。"
      },
      "conditionValue": {
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ],
        "description": "条件值。",
        "format": "double"
      },
      "conditionExtra": {
        "description": "条件扩展配置。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "isActive": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否启用。"
      }
    },
    "description": "新增或更新租户管理端徽章请求 DTO。"
  },
  "UpsertTenantAdminClassDto": {
    "required": [
      "name"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ],
        "description": "历史系统 ID。"
      },
      "code": {
        "type": [
          "null",
          "string"
        ],
        "description": "编码。"
      },
      "name": {
        "type": "string",
        "description": "名称。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "显示顺序。",
        "format": "int32"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端班级请求 DTO。"
  },
  "UpsertTenantAdminClassMemberDto": {
    "required": [
      "classId"
    ],
    "type": "object",
    "properties": {
      "classId": {
        "type": "string",
        "description": "班级 ID。",
        "format": "uuid"
      },
      "user": {
        "description": "用户信息。",
        "$ref": "#/components/schemas/TenantAdminUserLookupDto"
      },
      "memberType": {
        "type": [
          "null",
          "string"
        ],
        "description": "成员类型。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端班级成员请求 DTO。"
  },
  "UpsertTenantAdminMemberDto": {
    "type": "object",
    "properties": {
      "membershipId": {
        "type": [
          "null",
          "string"
        ],
        "description": "成员关系 ID。",
        "format": "uuid"
      },
      "user": {
        "description": "用户信息。",
        "$ref": "#/components/schemas/TenantAdminUserLookupDto"
      },
      "role": {
        "type": [
          "null",
          "string"
        ],
        "description": "角色。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "primaryRole": {
        "type": [
          "null",
          "string"
        ],
        "description": "主要角色。"
      }
    },
    "description": "新增或更新租户管理端成员请求 DTO。"
  },
  "UpsertTenantAdminNotificationDto": {
    "required": [
      "userId",
      "notificationType",
      "title",
      "message"
    ],
    "type": "object",
    "properties": {
      "userId": {
        "type": "string",
        "description": "用户 ID。",
        "format": "uuid"
      },
      "notificationType": {
        "type": "string",
        "description": "通知类型。"
      },
      "severity": {
        "type": [
          "null",
          "string"
        ],
        "description": "严重级别。"
      },
      "title": {
        "type": "string",
        "description": "标题。"
      },
      "message": {
        "type": "string",
        "description": "消息内容。"
      },
      "actionLabel": {
        "type": [
          "null",
          "string"
        ],
        "description": "操作按钮文案。"
      },
      "actionPath": {
        "type": [
          "null",
          "string"
        ],
        "description": "操作路径。"
      },
      "sourceType": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源类型。"
      },
      "sourceId": {
        "type": [
          "null",
          "string"
        ],
        "description": "来源 ID。",
        "format": "uuid"
      },
      "dedupeKey": {
        "type": [
          "null",
          "string"
        ],
        "description": "去重键。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端通知请求 DTO。"
  },
  "UpsertTenantAdminStudentDto": {
    "type": "object",
    "properties": {
      "user": {
        "description": "用户信息。",
        "$ref": "#/components/schemas/TenantAdminUserLookupDto"
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "地区 ID。",
        "format": "uuid"
      },
      "selectedSchoolId": {
        "type": [
          "null",
          "string"
        ],
        "description": "已选择院校 ID。",
        "format": "uuid"
      },
      "selectedMajorId": {
        "type": [
          "null",
          "string"
        ],
        "description": "已选择专业 ID。",
        "format": "uuid"
      },
      "avatarPreset": {
        "type": [
          "null",
          "string"
        ],
        "description": "头像预设。"
      },
      "stats": {
        "description": "统计数据。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "progress": {
        "description": "进度数据。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "moduleSelections": {
        "description": "模块选择数据。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "rawProfile": {
        "description": "原始用户资料。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端学生请求 DTO。"
  },
  "UpsertTenantAdminStudentFollowupDto": {
    "required": [
      "studentUserId",
      "title"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "studentUserId": {
        "type": "string",
        "description": "学生用户 ID。",
        "format": "uuid"
      },
      "assignedToUserId": {
        "type": [
          "null",
          "string"
        ],
        "description": "分配处理人用户 ID。",
        "format": "uuid"
      },
      "classId": {
        "type": [
          "null",
          "string"
        ],
        "description": "班级 ID。",
        "format": "uuid"
      },
      "title": {
        "type": "string",
        "description": "标题。"
      },
      "description": {
        "type": [
          "null",
          "string"
        ],
        "description": "说明。"
      },
      "followupType": {
        "type": [
          "null",
          "string"
        ],
        "description": "跟进类型。"
      },
      "priority": {
        "type": [
          "null",
          "string"
        ],
        "description": "优先级。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "dueAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "到期时间。",
        "format": "date-time"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端学生跟进请求 DTO。"
  },
  "UpsertTenantAdminStudentNoteDto": {
    "required": [
      "studentUserId",
      "content"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "studentUserId": {
        "type": "string",
        "description": "学生用户 ID。",
        "format": "uuid"
      },
      "noteType": {
        "type": [
          "null",
          "string"
        ],
        "description": "备注类型。"
      },
      "content": {
        "type": "string",
        "description": "内容。"
      },
      "visibility": {
        "type": [
          "null",
          "string"
        ],
        "description": "可见性。"
      },
      "isPinned": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否置顶。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户管理端学生Note请求 DTO。"
  },
  "UpsertTenantBrandingDto": {
    "required": [
      "brandName"
    ],
    "type": "object",
    "properties": {
      "brandName": {
        "type": "string",
        "description": "品牌名称。"
      },
      "shortName": {
        "type": [
          "null",
          "string"
        ],
        "description": "品牌简称。"
      },
      "slogan": {
        "type": [
          "null",
          "string"
        ],
        "description": "品牌标语。"
      },
      "organizationName": {
        "type": [
          "null",
          "string"
        ],
        "description": "机构名称。"
      },
      "logoUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "Logo 地址。"
      },
      "faviconUrl": {
        "type": [
          "null",
          "string"
        ],
        "description": "站点图标地址。"
      },
      "serviceWechat": {
        "type": [
          "null",
          "string"
        ],
        "description": "客服微信。"
      },
      "serviceAccountName": {
        "type": [
          "null",
          "string"
        ],
        "description": "客服账号名称。"
      }
    },
    "description": "新增或更新租户品牌请求 DTO。"
  },
  "UpsertTenantCouponDto": {
    "required": [
      "code"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": [
          "null",
          "string"
        ],
        "description": "ID。",
        "format": "uuid"
      },
      "code": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "planId": {
        "type": [
          "null",
          "string"
        ],
        "description": "套餐 ID。",
        "format": "uuid"
      },
      "discountType": {
        "description": "优惠类型。",
        "$ref": "#/components/schemas/DiscountType"
      },
      "discountValue": {
        "maximum": 999999,
        "minimum": 0.01,
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ],
        "description": "优惠值。",
        "format": "double"
      },
      "validFrom": {
        "type": [
          "null",
          "string"
        ],
        "description": "有效期开始时间。",
        "format": "date-time"
      },
      "validTo": {
        "type": [
          "null",
          "string"
        ],
        "description": "有效期结束时间。",
        "format": "date-time"
      },
      "maxUses": {
        "maximum": 2147483647,
        "minimum": 1,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "最大使用次数。",
        "format": "int32"
      },
      "source": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "来源。"
      },
      "remark": {
        "maxLength": 1000,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "备注。"
      }
    },
    "description": "新增或更新租户优惠券请求 DTO。"
  },
  "UpsertTenantFeatureOverrideDto": {
    "required": [
      "tenantId",
      "featureCode",
      "mode",
      "expiresAt",
      "reason"
    ],
    "type": "object",
    "properties": {
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "featureCode": {
        "type": "string"
      },
      "mode": {
        "$ref": "#/components/schemas/TenantFeatureOverrideMode"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "reason": {
        "type": "string"
      }
    },
    "description": "新增或更新租户功能覆盖规则请求 DTO。"
  },
  "UpsertTenantIdentityProviderDto": {
    "required": [
      "provider"
    ],
    "type": "object",
    "properties": {
      "provider": {
        "type": "string",
        "description": "服务提供方。"
      },
      "status": {
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "displayName": {
        "type": [
          "null",
          "string"
        ],
        "description": "显示名称。"
      },
      "secretRef": {
        "type": [
          "null",
          "string"
        ],
        "description": "密钥引用。"
      },
      "priority": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "优先级。",
        "format": "int32"
      },
      "configPublic": {
        "description": "公开配置内容。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户身份源Provider请求 DTO。"
  },
  "UpsertTenantSecretDto": {
    "required": [
      "purpose",
      "provider",
      "secretKey"
    ],
    "type": "object",
    "properties": {
      "purpose": {
        "maxLength": 80,
        "minLength": 0,
        "type": "string",
        "description": "用途。"
      },
      "provider": {
        "maxLength": 50,
        "minLength": 0,
        "type": "string",
        "description": "服务提供方。"
      },
      "secretKey": {
        "maxLength": 120,
        "minLength": 0,
        "type": "string",
        "description": "密钥键。"
      },
      "secretRef": {
        "maxLength": 300,
        "minLength": 0,
        "type": "string",
        "description": "密钥引用。"
      },
      "status": {
        "description": "状态。",
        "$ref": "#/components/schemas/TenantSecretStatus"
      },
      "secretPayload": {
        "description": "密钥载荷。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "expiresAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "过期时间。",
        "format": "date-time"
      }
    },
    "description": "新增或更新租户Secret请求 DTO。"
  },
  "UpsertTenantSettingsDto": {
    "type": "object",
    "properties": {
      "featureFlags": {
        "description": "前端功能开关。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "adminFeatureFlags": {
        "description": "管理端功能开关。",
        "$ref": "#/components/schemas/JsonElement"
      },
      "publicConfig": {
        "description": "公开配置。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户设置请求 DTO。"
  },
  "UpsertTenantSupervisionRuleDto": {
    "required": [
      "code",
      "title"
    ],
    "type": "object",
    "properties": {
      "code": {
        "maxLength": 100,
        "minLength": 0,
        "type": "string",
        "description": "编码。"
      },
      "title": {
        "maxLength": 200,
        "minLength": 0,
        "type": "string",
        "description": "标题。"
      },
      "enabled": {
        "type": "boolean",
        "description": "是否启用。"
      },
      "daysWithoutCheckIn": {
        "maximum": 3650,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "未签到天数。",
        "format": "int32"
      },
      "maxQuestionsAnsweredToday": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "当天最大答题数。",
        "format": "int32"
      },
      "followupType": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "跟进类型。"
      },
      "priority": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "优先级。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "新增或更新租户督导规则请求 DTO。"
  },
  "UserStatus": {
    "type": "integer"
  },
  "VideoExplanationCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "subjectId",
      "title",
      "description",
      "videoUrl",
      "thumbnailUrl",
      "durationSeconds",
      "knowledgeTags",
      "isGeneral",
      "difficulty",
      "order",
      "isActive",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "videoUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "thumbnailUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "knowledgeTags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "isGeneral": {
        "type": "boolean"
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "VideoManagementItem": {
    "required": [
      "id",
      "subjectId",
      "legacyId",
      "title",
      "description",
      "videoUrl",
      "thumbnailUrl",
      "durationSeconds",
      "knowledgeTags",
      "isGeneral",
      "difficulty",
      "order",
      "isActive",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "subjectId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "videoUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "thumbnailUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "knowledgeTags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "isGeneral": {
        "type": "boolean"
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "VideoPlaybackItem": {
    "required": [
      "videoId",
      "questionId",
      "title",
      "description",
      "playUrl",
      "thumbnailUrl",
      "durationSeconds",
      "progress",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "videoId": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "playUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "thumbnailUrl": {
        "type": [
          "null",
          "string"
        ]
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "progress": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/VideoProgressItem"
          }
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "VideoPlayDto": {
    "required": [
      "videoId"
    ],
    "type": "object",
    "properties": {
      "videoId": {
        "type": "string",
        "description": "视频 ID。",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题目 ID。",
        "format": "uuid"
      }
    },
    "description": "视频Play请求 DTO。"
  },
  "VideoProgressDto": {
    "required": [
      "videoId"
    ],
    "type": "object",
    "properties": {
      "videoId": {
        "type": "string",
        "description": "视频 ID。",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "description": "题目 ID。",
        "format": "uuid"
      },
      "positionSeconds": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "description": "播放位置，单位为秒。",
        "format": "int32"
      },
      "durationSeconds": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "时长，单位为秒。",
        "format": "int32"
      },
      "watchedSeconds": {
        "maximum": 2147483647,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "已观看时长，单位为秒。",
        "format": "int32"
      },
      "isCompleted": {
        "type": [
          "null",
          "boolean"
        ],
        "description": "是否已完成。"
      },
      "metadata": {
        "description": "扩展元数据。",
        "$ref": "#/components/schemas/JsonElement"
      }
    },
    "description": "视频Progress请求 DTO。"
  },
  "VideoProgressItem": {
    "required": [
      "id",
      "videoId",
      "questionId",
      "positionSeconds",
      "durationSeconds",
      "watchedSeconds",
      "isCompleted",
      "completedAt",
      "lastPlayedAt",
      "playCount",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "videoId": {
        "type": "string",
        "format": "uuid"
      },
      "questionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "positionSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "durationSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "watchedSeconds": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isCompleted": {
        "type": "boolean"
      },
      "completedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "lastPlayedAt": {
        "type": "string",
        "format": "date-time"
      },
      "playCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "VocabularyUnit": {
    "type": "object",
    "properties": {
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "wordCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "VocabularyUnitCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "regionId",
      "entryId",
      "contentNodeId",
      "name",
      "description",
      "wordCount",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "regionId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "name": {
        "type": "string"
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "wordCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "VocabularyWord": {
    "type": "object",
    "properties": {
      "unitId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "word": {
        "type": "string"
      },
      "phonetic": {
        "type": [
          "null",
          "string"
        ]
      },
      "meaning": {
        "type": [
          "null",
          "string"
        ]
      },
      "example": {
        "type": [
          "null",
          "string"
        ]
      },
      "exampleTranslation": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "sortOrder": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "isActive": {
        "type": "boolean"
      },
      "sourceHash": {
        "type": [
          "null",
          "string"
        ]
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      },
      "tenantId": {
        "type": "string",
        "format": "uuid"
      },
      "id": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "VocabularyWordCatalogItem": {
    "required": [
      "id",
      "legacyId",
      "unitId",
      "entryId",
      "contentNodeId",
      "word",
      "phonetic",
      "meaning",
      "example",
      "exampleTranslation",
      "difficulty",
      "tags",
      "order",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "format": "uuid"
      },
      "legacyId": {
        "type": [
          "null",
          "string"
        ]
      },
      "unitId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "entryId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "contentNodeId": {
        "type": [
          "null",
          "string"
        ],
        "format": "uuid"
      },
      "word": {
        "type": "string"
      },
      "phonetic": {
        "type": [
          "null",
          "string"
        ]
      },
      "meaning": {
        "type": [
          "null",
          "string"
        ]
      },
      "example": {
        "type": [
          "null",
          "string"
        ]
      },
      "exampleTranslation": {
        "type": [
          "null",
          "string"
        ]
      },
      "difficulty": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "tags": {
        "$ref": "#/components/schemas/JsonElement"
      },
      "order": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "WordDueLevel": {
    "type": "integer"
  },
  "WordProgressDto": {
    "required": [
      "wordId"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "description": "单词 ID。",
        "format": "uuid"
      },
      "status": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "状态。"
      },
      "correctDelta": {
        "maximum": 100,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "答对数量变化。",
        "format": "int32"
      },
      "wrongDelta": {
        "maximum": 100,
        "minimum": 0,
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ],
        "description": "答错数量变化。",
        "format": "int32"
      },
      "nextReviewAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "下次复习时间。",
        "format": "date-time"
      }
    },
    "description": "单词Progress请求 DTO。"
  },
  "WordProgressItem": {
    "required": [
      "wordId",
      "status",
      "correctCount",
      "wrongCount",
      "lastReviewAt",
      "nextReviewAt",
      "reviewCount",
      "correctStreak",
      "lastResult",
      "dueLevel",
      "metadata"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/WordProgressStatus"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastReviewAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "nextReviewAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "reviewCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "correctStreak": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastResult": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/WordReviewResult"
          }
        ]
      },
      "dueLevel": {
        "$ref": "#/components/schemas/WordDueLevel"
      },
      "metadata": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "WordProgressStatus": {
    "type": "integer"
  },
  "WordReviewDto": {
    "required": [
      "wordId"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "description": "单词 ID。",
        "format": "uuid"
      },
      "result": {
        "maxLength": 50,
        "minLength": 0,
        "type": [
          "null",
          "string"
        ],
        "description": "结果。"
      },
      "nextReviewAt": {
        "type": [
          "null",
          "string"
        ],
        "description": "下次复习时间。",
        "format": "date-time"
      }
    },
    "description": "单词Review请求 DTO。"
  },
  "WordReviewPlan": {
    "required": [
      "items",
      "nextAction"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WordReviewPlanItem"
        }
      },
      "nextAction": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "WordReviewPlanItem": {
    "required": [
      "wordId",
      "status",
      "nextReviewAt",
      "correctCount",
      "wrongCount",
      "dueLevel"
    ],
    "type": "object",
    "properties": {
      "wordId": {
        "type": "string",
        "format": "uuid"
      },
      "status": {
        "$ref": "#/components/schemas/WordProgressStatus"
      },
      "nextReviewAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      },
      "correctCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "dueLevel": {
        "$ref": "#/components/schemas/WordDueLevel"
      }
    }
  },
  "WordReviewResult": {
    "type": "integer"
  },
  "WordStatsItem": {
    "required": [
      "total",
      "newCount",
      "learningCount",
      "reviewingCount",
      "masteredCount",
      "dueCount",
      "favoriteCount"
    ],
    "type": "object",
    "properties": {
      "total": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "newCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "learningCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "reviewingCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "masteredCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "dueCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "favoriteCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      }
    }
  },
  "WrongQuestionItem": {
    "required": [
      "questionReferenceId",
      "locator",
      "wrongCount",
      "lastWrongAt",
      "resolvedAt"
    ],
    "type": "object",
    "properties": {
      "questionReferenceId": {
        "type": "string",
        "format": "uuid"
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastWrongAt": {
        "type": "string",
        "format": "date-time"
      },
      "resolvedAt": {
        "type": [
          "null",
          "string"
        ],
        "format": "date-time"
      }
    }
  },
  "WrongQuestionReviewPlan": {
    "required": [
      "items",
      "nextAction"
    ],
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WrongQuestionReviewPlanItem"
        }
      },
      "nextAction": {
        "$ref": "#/components/schemas/JsonElement"
      }
    }
  },
  "WrongQuestionReviewPlanItem": {
    "required": [
      "questionReferenceId",
      "locator",
      "wrongCount",
      "lastWrongAt"
    ],
    "type": "object",
    "properties": {
      "questionReferenceId": {
        "type": "string",
        "format": "uuid"
      },
      "locator": {
        "$ref": "#/components/schemas/QuestionLocator"
      },
      "wrongCount": {
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ],
        "format": "int32"
      },
      "lastWrongAt": {
        "type": "string",
        "format": "date-time"
      }
    }
  }
} as const;
