{
  "openapi": "3.0.1",
  "info": {
    "title": "订单结算支付宝撤销增量",
    "version": "1.0.0"
  },
  "servers": [],
  "paths": {
    "/api/consume/orderPay": {
      "post": {
        "summary": "订单结算",
        "deprecated": false,
        "description": "# 消费机订单结算接口\n\n## 1. 接口概述\n\n消费机通过本接口提交消费订单。接口统一支持人脸、个人支付二维码、IC 卡和支付宝付款码结算，并使用 `msgid` 进行入口防重。\n\n支付宝付款码分流条件：`order_type=1`、`card_id` 为空、`paycode` 为支付宝付款码。系统先创建待支付消费订单，再调用独立支付宝支付模块；支付成功后更新消费订单为已支付，支付处理中时返回可查询、不可重复扫码的业务结果。\n\n> `action`、`publish_topic`、`subscribe_topic` 是 MQTT 消息上下文字段，当前 HTTP 接口不读取，不属于本接口有效入参。\n\n## 2. 接口信息\n\n| 项目 | 说明 |\n| --- | --- |\n| 接口地址 | `/api/consume/orderPay` |\n| 请求方式 | `POST` |\n| Content-Type | `application/json` 或 `application/x-www-form-urlencoded` |\n| 认证方式 | Header：`account`、`pwd`、`key` |\n| 接口调用方 | 消费机 |\n\n## 3. 请求头（Header）\n\n| 参数名 | 类型 | 是否必填 | 描述 | 示例值 |\n| --- | --- | --- | --- | --- |\n| `account` | String | 是 | 消费机接口授权账号 | `{{consumeApiAccount}}` |\n| `pwd` | String | 是 | 消费机接口授权密码 | `{{consumeApiPassword}}` |\n| `key` | String | 是 | 消费机接口授权密钥 | `{{consumeApiKey}}` |\n| `Content-Type` | String | 是 | 请求数据格式 | `application/json` |\n\n## 4. 请求参数（Body）\n\n| 参数名 | 类型 | 是否必填 | 描述 | 示例值 |\n| --- | --- | --- | --- | --- |\n| `dishes` | Array(Object) | 否 | 菜品信息集合；无菜品明细时可传空数组 | 见请求示例 |\n| `dishes[].uuid` | String | 条件必填 | 传菜品明细时必填，菜品 UUID | `7E5D022D-358F-B57F-7006-AB1D5B6E84EF` |\n| `dishes[].number` | Number | 否 | 菜品数量，默认按 `1` 处理 | `1` |\n| `dishes[].money` | String | 条件必填 | 传菜品明细时必填，菜品金额，单位元 | `20.00` |\n| `staff_uuid` | String | 条件必填 | 人脸识别结算人员 UUID | `BB0CC0DF-2341-3879-D8DC-E1D7DD7E513E` |\n| `paycode` | String | 条件必填 | 个人支付二维码或支付宝动态付款码 | `{{paymentCode}}` |\n| `card_id` | String | 条件必填 | IC 卡号 | `10001` |\n| `money` | String | 是 | 订单金额，单位元；最多保留两位小数 | `12.80` |\n| `equipment_code` | String | 是 | 消费机编号，用于确定餐厅及记录设备来源 | `00001` |\n| `order_type` | Integer | 否 | 消费机收款方式：`1` 在线，`2` 离线；默认 `1`。支付宝付款码只支持 `1` | `1` |\n| `create_time` | String | 否 | 消费时间，格式 `YYYY-MM-DD HH:mm:ss`；不传时取服务器当前时间 | `2025-11-11 18:00:00` |\n| `msgid` | String | 是 | 消费请求唯一标识，建议使用“设备编号+毫秒时间戳”；也是防重复支付键 | `00011762854488259` |\n\n身份参数规则：`staff_uuid`、`paycode`、`card_id` 至少传一个。支付宝付款时只传 `paycode`，并保证 `card_id` 为空、`order_type=1`。支付宝付款码是一次性动态码，不应保存成 Apifox 固定环境变量或重复用于下一笔交易。\n\n请求示例：\n\n```json\n{\n  \"dishes\": [\n    {\n      \"uuid\": \"7E5D022D-358F-B57F-7006-AB1D5B6E84EF\",\n      \"number\": 1,\n      \"money\": \"20.00\"\n    }\n  ],\n  \"staff_uuid\": \"\",\n  \"paycode\": \"{{paymentCode}}\",\n  \"card_id\": \"\",\n  \"money\": \"12.80\",\n  \"equipment_code\": \"00001\",\n  \"order_type\": 1,\n  \"create_time\": \"2025-11-11 18:00:00\",\n  \"msgid\": \"00011762854488259\"\n}\n```\n\n## 5. 响应格式\n\n### 5.1 支付成功\n\n余额、IC 卡或内部付款码成功时，`data` 可包含人员、余额及营销信息：\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"支付成功\",\n  \"data\": {\n    \"order_no\": \"251216168174448\",\n    \"staff_uuid\": \"0CE81F87-78D4-11D4-CA96-5F5CB9A9A3F3\",\n    \"staff_name\": \"王麻子\",\n    \"remain_balance\": \"60.93\",\n    \"pay_time\": \"2025-12-16 16:57:41\",\n    \"card_id\": \"10000009\",\n    \"total_price\": \"1.00\",\n    \"pay_price\": \"1.00\",\n    \"management_fee\": \"0.00\",\n    \"discount_amount\": \"0.00\",\n    \"marketing_strategy_id\": 0\n  },\n  \"trace_id\": \"69411f03e2b06\"\n}\n```\n\n支付宝付款成功时，`data` 主要返回消费订单和第三方交易信息：\n\n```json\n{\n  \"code\": 0,\n  \"message\": \"支付成功\",\n  \"data\": {\n    \"order_no\": \"251216168174448\",\n    \"trade_id\": 10086,\n    \"total_price\": \"12.80\",\n    \"pay_price\": \"12.80\",\n    \"pay_time\": \"2025-12-16 16:57:41\",\n    \"pay_type\": 60,\n    \"order_type\": 1,\n    \"pickup_no\": \"A001\"\n  },\n  \"trace_id\": \"69411f03e2b06\"\n}\n```\n\n### 5.2 支付处理中\n\n```json\n{\n  \"code\": 2,\n  \"message\": \"支付处理中，请勿重复扫码\",\n  \"data\": {\n    \"order_no\": \"251216168174448\",\n    \"trade_id\": 10086,\n    \"payment_status\": \"PAYING\"\n  },\n  \"trace_id\": \"69411f03e2b06\"\n}\n```\n\n### 5.3 支付未完成且原交易已关闭\n\nai_api 完成服务端查单后确认交易未支付，并成功调用支付宝撤销时，store 会取消原待支付消费订单并返回消费机专用业务码 `8002`：\n\n```json\n{\n  \"code\": 8002,\n  \"message\": \"付款未完成，请重新出示付款码\",\n  \"data\": {\n    \"order_no\": \"251216168174448\",\n    \"trade_id\": 10086,\n    \"payment_status\": \"CLOSED\"\n  },\n  \"trace_id\": \"69411f03e2b06\"\n}\n```\n\n消费机收到 `8002` 后必须结束旧订单的支付交互、清除旧付款码并恢复扫码入口。用户重新扫码时应生成新的 `msgid`，由服务端创建新消费订单；不得继续提交旧订单或旧付款码。\n\n### 5.4 重复提交\n\n```json\n{\n  \"code\": 1,\n  \"message\": \"支付中，请勿重复支付\",\n  \"data\": [],\n  \"trace_id\": \"677270cf2f94a\"\n}\n```\n\n### 5.5 余额不足\n\n```json\n{\n  \"code\": 8001,\n  \"message\": \"余额不足，请充值后再尝试！\",\n  \"data\": [],\n  \"trace_id\": \"690ebe193df10\"\n}\n```\n\n### 5.6 接口认证失败\n\n```json\n{\n  \"code\": 1,\n  \"message\": \"接口认证失败\",\n  \"time\": \"1764834872\",\n  \"data\": [],\n  \"trace_id\": \"69313e38d7713\"\n}\n```\n\n### 5.7 其他支付失败\n\n```json\n{\n  \"code\": 1,\n  \"message\": \"支付失败\",\n  \"data\": [],\n  \"trace_id\": \"67727094b23af\"\n}\n```\n\n## 6. 状态码说明\n\n本接口通常返回 HTTP 200，调用方必须继续判断响应体中的业务 `code`。\n\n| code | 含义 | 消费机处理方式 |\n| --- | --- | --- |\n| `0` | 支付成功 | 展示成功结果，禁止再次提交同一 `msgid` |\n| `1` | 明确失败、参数错误、认证失败或重复处理中 | 展示 `message`；同一笔请求不要盲目更换 `msgid` 重付 |\n| `2` | 处理中或可重试状态 | 保留原 `msgid`，禁止重新扫码；按既定查单/补偿流程确认最终状态 |\n| `8001` | 余额不足 | 提示充值或更换支付方式 |\n| `8002` | 支付未完成，支付宝原交易已关闭 | 结束旧订单支付交互，清除旧付款码，提示用户重新出示付款码；新请求使用新 `msgid` |\n\n支付宝响应中的 `data.payment_status` 可能为 `PAYING`、`UNKNOWN` 或 `CLOSED`。它是第三方支付状态，不等同于顶层业务 `code`。消费机应以业务 `code=8002` 驱动重新扫码交互，不应通过匹配 `message` 文案判断。\n\n## 7. 响应字段说明\n\n| 字段名 | 类型 | 描述 |\n| --- | --- | --- |\n| `code` | Integer | 业务处理结果 |\n| `message` | String | 业务结果或失败原因 |\n| `data` | Object / Array | 成功或处理中时的业务数据；部分失败响应为空数组 |\n| `data.order_no` | String | 智慧餐厅消费订单号 |\n| `data.trade_id` | Integer | 支付宝第三方交易记录 ID，仅支付宝流程返回 |\n| `data.payment_status` | String | 支付宝状态，如 `PAYING`、`UNKNOWN`、`CLOSED` |\n| `data.staff_uuid` | String | 人员 UUID，余额、卡或内部付款码流程可能返回 |\n| `data.staff_name` | String | 人员姓名 |\n| `data.remain_balance` | String | 支付后剩余可用余额 |\n| `data.card_id` | String | IC 卡号 |\n| `data.total_price` | String | 订单原始金额，单位元 |\n| `data.pay_price` | String | 实际支付金额，单位元 |\n| `data.management_fee` | String | 管理费 |\n| `data.discount_amount` | String | 优惠金额 |\n| `data.marketing_strategy_id` | Integer | 命中的营销策略 ID，未命中为 `0` |\n| `data.pay_time` | String | 支付成功时间 |\n| `data.pay_type` | Integer | 支付方式；支付宝为 `60` |\n| `data.order_type` | Integer | 消费机收款方式：`1` 在线、`2` 离线 |\n| `data.pickup_no` | String | 取餐号，未生成时为空字符串 |\n| `time` | String | 系统统一失败响应可能携带的服务器时间戳 |\n| `trace_id` | String | 本次请求链路标识 |\n\n不同支付方式返回的 `data` 字段存在差异，调用方应按字段是否存在兼容解析，不应假设所有成功响应字段完全相同。\n\n## 8. trace_id 说明\n\n问题排查时请优先提供响应顶层 `trace_id`，并同时提供：调用时间、`equipment_code`、`msgid`、`order_type`、支付方式、响应 `code` 和 `message`。\n\n不要在工单、群聊或普通日志中粘贴完整动态 `paycode`、接口密码或接口密钥。支付宝付款码只用于当次支付请求；重复扫码、超时或状态不确定时，应使用原消费订单号和交易记录继续查单，不能直接生成新的消费订单重复扣款。\n",
        "tags": [
          "智能硬件/自研硬件/消费机"
        ],
        "parameters": [
          {
            "name": "account",
            "in": "header",
            "description": "api授权账号",
            "required": true,
            "example": "admin",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pwd",
            "in": "header",
            "description": "api授权密码",
            "required": true,
            "example": "Admin@2025#User&88",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "header",
            "description": "api授权密钥",
            "required": true,
            "example": "K8P3Z2X7Q9W1E4R6T5Y3U8D2F1G7H9",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "x-apifox-orders": [],
                "x-apifox-ignore-properties": []
              },
              "example": {
                "dishes": [
                  {
                    "uuid": "E309D831-10C5-4704-F67C-87A59CC3C0B2",
                    "number": "1",
                    "money": "0.01"
                  }
                ],
                "staff_uuid": "",
                "paycode": "284866130022577504",
                "card_id": "",
                "money": "0.01",
                "equipment_code": "0157",
                "order_type": "1",
                "action": "consume",
                "create_time": "2026-09-03 09:35:04",
                "msgid": "015717702776843271001",
                "publish_topic": "zhct/zhct/p2p/GID_zhct@@@consume_work_0",
                "subscribe_topic": "zhct/zhct/p2p/GID_zhct@@@wb-xfj1",
                "fauthAccount": "admin",
                "fauthKey": "b5z3w7x9t1s4p6m8n2h0d7f3j1k9q5v2r8",
                "authPwd": "Nutr@Syst2026#Mng&82"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": [],
                  "x-apifox-ignore-properties": []
                },
                "examples": {
                  "alipayClosedRescan": {
                    "summary": "支付宝原交易已关闭，消费机重新扫码",
                    "value": {
                      "code": 8002,
                      "message": "付款未完成，请重新出示付款码",
                      "data": {
                        "order_no": "251216168174448",
                        "trade_id": 10086,
                        "payment_status": "CLOSED"
                      },
                      "trace_id": "69411f03e2b06"
                    }
                  }
                }
              }
            },
            "headers": {},
            "x-apifox-name": "成功",
            "x-apifox-ordering": 0
          }
        },
        "security": [],
        "x-apifox-folder": "智能硬件/自研硬件/消费机",
        "x-apifox-status": "developing",
        "x-run-in-apifox": "https://app.apifox.com/web/project/5737553/apis/api-252596584-run"
      }
    }
  },
  "components": {
    "schemas": {
      "Pet": {
        "required": [
          "name",
          "photoUrls",
          "id",
          "category",
          "tags",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "maximum": 5000,
            "description": "宠物ID编号"
          },
          "category": {
            "$ref": "#/components/schemas/Category",
            "description": "分组"
          },
          "name": {
            "type": "string",
            "description": "名称",
            "example": "doggie"
          },
          "photoUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "照片URL"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "description": "标签"
          },
          "status": {
            "type": "string",
            "description": "宠物销售状态",
            "enum": [
              "available",
              "pending",
              "sold"
            ]
          }
        },
        "x-apifox-orders": [
          "id",
          "category",
          "name",
          "photoUrls",
          "tags",
          "status"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ApiResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "操作成功"
          },
          "data": {
            "description": "业务数据，失败时通常为空数组",
            "type": "null"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CommonResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "返回码，0表示成功"
          },
          "msg": {
            "type": "string",
            "description": "返回消息"
          },
          "data": {
            "type": "object",
            "description": "业务数据，具体字段参考原接口文档",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "code",
          "msg",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "User": {
        "type": "string",
        "description": "芯烨云平台注册用户名（开发者 ID，user）",
        "x-apifox-folder": ""
      },
      "SopDhPayRequest": {
        "type": "object",
        "properties": {
          "app_id": {
            "type": "string",
            "maxLength": 32,
            "description": "平台分配给开发者的应用ID",
            "example": "2014072300007140"
          },
          "method": {
            "type": "string",
            "maxLength": 128,
            "description": "接口名称",
            "example": "alipay.trade.close"
          },
          "format": {
            "type": "string",
            "maxLength": 40,
            "description": "仅支持JSON",
            "example": "json"
          },
          "charset": {
            "type": "string",
            "maxLength": 10,
            "description": "请求使用的编码格式，如utf-8,gbk,gb2312等",
            "example": "utf-8"
          },
          "sign_type": {
            "type": "string",
            "maxLength": 10,
            "description": "签名算法类型，目前支持RSA2和RSA，推荐使用RSA2",
            "example": "RSA2"
          },
          "sign": {
            "type": "string",
            "maxLength": 344,
            "description": "商户请求参数的签名串",
            "example": "详见示例"
          },
          "timestamp": {
            "type": "string",
            "maxLength": 19,
            "description": "发送请求的时间，格式\"yyyy-MM-dd HH:mm:ss\"（Excel 示例为数值型日期）",
            "example": "41844.13043981481"
          },
          "version": {
            "type": "string",
            "maxLength": 3,
            "description": "调用的接口版本，1.0",
            "example": "1"
          },
          "notify_url": {
            "type": "string",
            "maxLength": 256,
            "description": "平台服务器主动通知商户服务器里指定的页面http/https路径。",
            "example": "http://open.xxx.com/atinterface/receive_notify.htm"
          },
          "app_auth_token": {
            "type": "string",
            "maxLength": 40,
            "description": "应用授权令牌（非必要参数）",
            "example": ""
          },
          "biz_content": {
            "description": "请求参数集合：除公共参数外所有业务请求参数都放在这个参数中。支持 JSON 字符串或对象。",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/SopDhPayBizContent"
              }
            ]
          }
        },
        "required": [
          "app_id",
          "method",
          "charset",
          "sign_type",
          "sign",
          "timestamp",
          "version",
          "biz_content"
        ],
        "x-apifox-orders": [
          "app_id",
          "method",
          "format",
          "charset",
          "sign_type",
          "sign",
          "timestamp",
          "version",
          "notify_url",
          "app_auth_token",
          "biz_content"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BaseResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "0 表示成功",
            "example": 0
          },
          "message": {
            "type": "string",
            "description": "响应消息",
            "example": "查询成功"
          },
          "data": {
            "description": "响应数据"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ApiResponseBase": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "description": "业务状态码，200 表示成功",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "ok"
          }
        },
        "required": [
          "status",
          "message"
        ],
        "x-apifox-orders": [
          "status",
          "message"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AiApiResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "success"
          },
          "data": {
            "type": "object",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "status",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountListRequest": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "页码"
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 10,
            "description": "每页数量"
          },
          "name": {
            "type": "string",
            "description": "账户名称模糊查询",
            "example": "荣海小学"
          },
          "status": {
            "type": "integer",
            "enum": [
              3,
              4
            ],
            "description": "账户状态：3可用，4停用"
          },
          "school_uuid": {
            "type": "string",
            "description": "顶级学校 UUID；学校候选项来自 POST /p/staff/tree 的 data.department",
            "example": "school-a-uuid"
          }
        },
        "x-apifox-orders": [
          "page",
          "page_size",
          "name",
          "status",
          "school_uuid"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFinanceSuccessResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "enum": [
              0
            ],
            "description": "成功固定为 0。"
          },
          "message": {
            "type": "string",
            "enum": [
              "查询成功"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/VisitorFlowPage"
          },
          "trace_id": {
            "type": "string",
            "description": "请求追踪标识，排查问题时提供给服务方。"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFinanceSuccessResponseV2": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "enum": [
              0
            ]
          },
          "message": {
            "type": "string",
            "enum": [
              "查询成功"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/VisitorFlowPageV2"
          },
          "trace_id": {
            "type": "string",
            "description": "请求追踪标识。"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrepayCodeRequest": {
        "type": "object",
        "required": [
          "orderid",
          "machid",
          "timestamp",
          "randstr",
          "sign"
        ],
        "properties": {
          "orderid": {
            "type": "string",
            "description": "设备上传订单号。业务上用于幂等判断。",
            "maxLength": 64
          },
          "machid": {
            "type": "string",
            "description": "设备 machid，对应 ydy_equipment.sn。",
            "maxLength": 32
          },
          "trackno": {
            "type": "string",
            "description": "设备货道、轨道或商品编号。",
            "maxLength": 32
          },
          "name": {
            "type": "string",
            "description": "商品名称。",
            "maxLength": 128
          },
          "price": {
            "type": "integer",
            "description": "金额，单位分。",
            "minimum": 0,
            "example": 1200
          },
          "channelid": {
            "type": "string",
            "description": "设备或第三方支付渠道标识。",
            "maxLength": 16
          },
          "timestamp": {
            "type": "string",
            "description": "时间戳，参与签名。"
          },
          "randstr": {
            "type": "string",
            "description": "随机字符串，参与签名。"
          },
          "sign": {
            "type": "string",
            "description": "sha1(sort(appkey,timestamp,randstr) 后拼接)。"
          }
        },
        "x-apifox-orders": [
          "orderid",
          "machid",
          "trackno",
          "name",
          "price",
          "channelid",
          "timestamp",
          "randstr",
          "sign"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PersonSyncItem": {
        "type": "object",
        "required": [
          "bm",
          "xh",
          "name",
          "sex",
          "customerid",
          "cardno",
          "status",
          "cardsn"
        ],
        "properties": {
          "bm": {
            "type": "string",
            "maxLength": 200,
            "description": "部门名称或部门标识原值，对应DOWNINFO.bm",
            "example": "020101900000"
          },
          "xh": {
            "type": "string",
            "maxLength": 60,
            "description": "学号或人员编号，对应DOWNINFO.xh",
            "example": "1skx273"
          },
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "人员姓名，对应DOWNINFO.name",
            "example": "解航"
          },
          "sex": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "description": "性别，对应DOWNINFO.sex：1男、0女",
            "example": 1
          },
          "customerid": {
            "type": "integer",
            "format": "int32",
            "description": "一卡通账号，对应DOWNINFO.customerid",
            "example": 29373
          },
          "cardno": {
            "type": "integer",
            "format": "int32",
            "description": "一卡通卡号，对应DOWNINFO.cardno",
            "example": 1705827
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "客户状态，对应DOWNINFO.status；具体状态含义由新开普确认",
            "example": 1
          },
          "cardsn": {
            "type": "integer",
            "format": "int32",
            "description": "个人持卡序号，对应DOWNINFO.cardsn",
            "example": 2
          }
        },
        "x-apifox-orders": [
          "bm",
          "xh",
          "name",
          "sex",
          "customerid",
          "cardno",
          "status",
          "cardsn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AcquireRequest": {
        "type": "object",
        "required": [
          "uid",
          "cardClass",
          "customerID",
          "cardNO",
          "cardSN",
          "status",
          "subType",
          "ze",
          "ye",
          "opCount",
          "subYe",
          "subCount",
          "cardASN"
        ],
        "properties": {
          "uid": {
            "type": "integer",
            "format": "int32",
            "description": "寻卡接口返回的原始uid，为有符号32位整数；-1845026871按无符号32位解释后对应十六进制UID 92071FC9",
            "example": -1845026871
          },
          "cardClass": {
            "type": "integer",
            "description": "卡类别，厂商原始字段",
            "example": 8
          },
          "customerID": {
            "type": "integer",
            "description": "一卡通人员账号",
            "example": 29373
          },
          "cardNO": {
            "type": "integer",
            "description": "一卡通业务卡号",
            "example": 1705827
          },
          "cardSN": {
            "type": "integer",
            "description": "持卡序号",
            "example": 2
          },
          "status": {
            "type": "integer",
            "description": "卡状态原始值",
            "example": 241
          },
          "subType": {
            "type": "integer",
            "description": "补助钱包类型原始值",
            "example": 0
          },
          "ze": {
            "type": "integer",
            "description": "新开普读卡结果中的ze原始值",
            "example": 66464
          },
          "ye": {
            "type": "integer",
            "description": "主钱包余额原始值",
            "example": 211
          },
          "opCount": {
            "type": "integer",
            "description": "主钱包消费计数",
            "example": 38
          },
          "subYe": {
            "type": "integer",
            "description": "补助钱包余额原始值",
            "example": 0
          },
          "subCount": {
            "type": "integer",
            "description": "补助钱包消费计数",
            "example": 0
          },
          "cardASN": {
            "type": "string",
            "description": "卡应用序列号",
            "example": "AA030000026D60992AB9"
          }
        },
        "additionalProperties": false,
        "x-apifox-orders": [
          "uid",
          "cardClass",
          "customerID",
          "cardNO",
          "cardSN",
          "status",
          "subType",
          "ze",
          "ye",
          "opCount",
          "subYe",
          "subCount",
          "cardASN"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ReportRequest": {
        "type": "object",
        "required": [
          "order_no",
          "code",
          "message",
          "psamID",
          "psamJyNo",
          "tac"
        ],
        "additionalProperties": false,
        "properties": {
          "order_no": {
            "type": "string",
            "description": "来源：获取待结算订单接口成功响应data.order_no",
            "example": "260815120000001"
          },
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "来源：一卡通写卡接口响应data.code；0成功，非0失败，必须原样传入",
            "example": 0
          },
          "message": {
            "type": "string",
            "description": "来源：一卡通写卡接口响应外层message；记录写卡结果或具体失败原因，必须原样传入",
            "example": "写卡成功"
          },
          "psamID": {
            "type": "integer",
            "format": "int64",
            "description": "来源：一卡通写卡接口响应data.psamID；失败时未生成则传0",
            "example": 166715196755
          },
          "psamJyNo": {
            "type": "integer",
            "format": "int32",
            "description": "来源：一卡通写卡接口响应data.psamJyNo；失败时未生成则传0",
            "example": 6
          },
          "tac": {
            "type": "integer",
            "format": "int32",
            "description": "来源：一卡通写卡接口响应data.tac；保持原始值，可能为负数，失败时未生成则传0",
            "example": -2015100023
          }
        },
        "x-apifox-orders": [
          "order_no",
          "code",
          "message",
          "psamID",
          "psamJyNo",
          "tac"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SyncPerson": {
        "type": "object",
        "required": [
          "bm",
          "xh",
          "name",
          "sex",
          "customerid",
          "cardno",
          "status",
          "cardsn"
        ],
        "properties": {
          "bm": {
            "type": "string",
            "example": "020101900000"
          },
          "xh": {
            "type": "string",
            "example": "20260001"
          },
          "name": {
            "type": "string",
            "example": "测试学生"
          },
          "sex": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "customerid": {
            "type": "integer",
            "example": 29373
          },
          "cardno": {
            "type": "integer",
            "example": 1705827
          },
          "status": {
            "type": "integer",
            "example": 1
          },
          "cardsn": {
            "type": "integer",
            "example": 2
          }
        },
        "x-apifox-orders": [
          "bm",
          "xh",
          "name",
          "sex",
          "customerid",
          "cardno",
          "status",
          "cardsn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AcquireByPlateResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "success"
          },
          "data": {
            "type": "object",
            "required": [
              "order_no",
              "amount"
            ],
            "properties": {
              "order_no": {
                "type": "string",
                "description": "一卡通结算单号",
                "example": "CAFA20260824113000A1B2C3"
              },
              "amount": {
                "type": "integer",
                "description": "应扣金额，单位分",
                "example": 1234
              }
            },
            "x-apifox-orders": [
              "order_no",
              "amount"
            ],
            "x-apifox-ignore-properties": []
          },
          "trace_id": {
            "type": "string",
            "description": "请求链路标识",
            "example": "7f21d8"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "分组ID编号"
          },
          "name": {
            "type": "string",
            "description": "分组名称"
          }
        },
        "xml": {
          "name": "Category"
        },
        "x-apifox-orders": [
          "id",
          "name"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PaginationMeta": {
        "type": "object",
        "properties": {
          "current_page": {
            "type": "integer",
            "example": 1
          },
          "per_page": {
            "type": "integer",
            "example": 15
          },
          "total": {
            "type": "integer",
            "example": 42
          }
        },
        "x-apifox-orders": [
          "current_page",
          "per_page",
          "total"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CommonMessageResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": true,
                "x-apifox-orders": [],
                "properties": {},
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "UnixTimestampSeconds": {
        "type": "string",
        "pattern": "^\\d{10}$",
        "description": "当前 UNIX 时间戳（10 位，精确到秒）",
        "x-apifox-folder": ""
      },
      "SopDhPayBizContent": {
        "type": "object",
        "properties": {
          "accountCardNum": {
            "type": "string",
            "description": "用户实体卡卡号（与 authCode/userAccount 3选1）",
            "example": "1234567890"
          },
          "authCode": {
            "type": "string",
            "description": "用户账户支付二维码（与 accountCardNum/userAccount 3选1）",
            "example": "HHT1101162303435837000001263281"
          },
          "userAccount": {
            "type": "string",
            "description": "用户账户（大华闸机人脸识别后传入的员工编号；与 accountCardNum/authCode 3选1）",
            "example": "1234567890"
          },
          "userAccountType": {
            "type": "string",
            "description": "用户账户类型（0-id,1-用户编号，2-手机号，3-邮箱，4-证件号，5-实体卡）；传 userAccount 必须传此值（大华默认传1）",
            "example": "1"
          },
          "cardnum": {
            "type": "string",
            "description": "部门卡账户",
            "example": ""
          },
          "discountMoney": {
            "type": "number",
            "description": "优惠金额",
            "example": 11.01
          },
          "orderDishList": {
            "type": "array",
            "description": "菜品列表",
            "items": {
              "$ref": "#/components/schemas/SopDhPayDishItem"
            }
          },
          "orderMoney": {
            "type": "number",
            "description": "订单金额（来源于设备映射的自助餐档口金额）",
            "example": 11.01
          },
          "orderNo": {
            "type": "string",
            "description": "第三方订单编号",
            "example": "DD3213213123132"
          },
          "payMoney": {
            "type": "number",
            "description": "支付金额",
            "example": 11.01
          },
          "payTime": {
            "type": "string",
            "description": "支付时间（Excel 示例为数值型日期）",
            "example": "44286.49363425926"
          },
          "snCode": {
            "type": "string",
            "description": "设备号",
            "example": "603413413413143"
          }
        },
        "required": [
          "orderNo",
          "payTime",
          "snCode"
        ],
        "anyOf": [
          {
            "required": [
              "accountCardNum"
            ]
          },
          {
            "required": [
              "authCode"
            ]
          },
          {
            "required": [
              "userAccount",
              "userAccountType"
            ]
          }
        ],
        "x-apifox-orders": [
          "accountCardNum",
          "authCode",
          "userAccount",
          "userAccountType",
          "cardnum",
          "discountMoney",
          "orderDishList",
          "orderMoney",
          "orderNo",
          "payMoney",
          "payTime",
          "snCode"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillListRequest": {
        "type": "object",
        "properties": {
          "month": {
            "type": "string",
            "description": "账单月份，格式 YYYY-MM",
            "example": "2026-05"
          },
          "bill_month": {
            "type": "string",
            "description": "账单月份别名，格式 YYYY-MM",
            "example": "2026-05"
          },
          "department_uuids": {
            "type": "string",
            "description": "部门/班级 UUID，多个用英文逗号分隔；后端会按数据权限展开",
            "example": "dept-uuid-1,dept-uuid-2"
          },
          "department": {
            "type": "string",
            "description": "部门/班级名称模糊查询兜底字段",
            "example": "一年级1班"
          },
          "keyword": {
            "type": "string",
            "description": "学生姓名、学生编号或账单编号关键词",
            "example": "test12"
          },
          "status": {
            "type": "string",
            "description": "缴费状态：draft=待核对，waiting=待缴费，paid=已缴费，expired=超时未缴费",
            "enum": [
              "draft",
              "waiting",
              "paid",
              "expired"
            ],
            "example": "waiting"
          },
          "page": {
            "type": "integer",
            "description": "页码",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "description": "每页条数，最大 100",
            "example": 15
          }
        },
        "x-apifox-orders": [
          "month",
          "bill_month",
          "department_uuids",
          "department",
          "keyword",
          "status",
          "page",
          "page_size"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12
          },
          "record_id": {
            "type": "integer",
            "example": 12
          },
          "bill_id": {
            "type": "string",
            "description": "账单编号，移动端详情和支付时传该值",
            "example": "BILL260500012"
          },
          "bill_no": {
            "type": "string",
            "example": "BILL260500012"
          },
          "student_name": {
            "type": "string",
            "example": "test12"
          },
          "student_no": {
            "type": "string",
            "example": "RH20260112"
          },
          "dept_name": {
            "type": "string",
            "example": "一年级1班"
          },
          "bill_month": {
            "type": "string",
            "description": "账单月份，格式 YYYY-MM",
            "example": "2026-05"
          },
          "payable_amount": {
            "type": "number",
            "format": "float",
            "example": 186.5
          },
          "status": {
            "type": "string",
            "enum": [
              "待缴费",
              "已缴费",
              "超时未缴费"
            ],
            "example": "待缴费"
          },
          "expire_time": {
            "type": "string",
            "example": "2026-06-10 23:59:59"
          },
          "paid_time": {
            "type": "string",
            "example": ""
          },
          "detail_count": {
            "type": "integer",
            "example": 24
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillMealDetail"
            }
          }
        },
        "x-apifox-orders": [
          "id",
          "record_id",
          "bill_id",
          "bill_no",
          "student_name",
          "student_no",
          "dept_name",
          "bill_month",
          "payable_amount",
          "status",
          "expire_time",
          "paid_time",
          "detail_count",
          "details"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "StoreApiResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "查询成功"
          },
          "data": {
            "type": "object",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DatasetListRequest": {
        "type": "object",
        "properties": {
          "space_id": {
            "type": "string",
            "description": "空间 ID。当前后端会使用配置中的默认空间 ID。",
            "example": "7366210605697007616"
          },
          "name": {
            "type": "string",
            "description": "知识库名称，支持模糊搜索",
            "example": "测试"
          },
          "format_type": {
            "type": "integer",
            "description": "知识库类型：0 文本，1 表格，2 图片",
            "enum": [
              0,
              1,
              2
            ],
            "example": 0
          },
          "page_num": {
            "type": "integer",
            "example": 1
          },
          "page_size": {
            "type": "integer",
            "example": 10
          }
        },
        "x-apifox-orders": [
          "space_id",
          "name",
          "format_type",
          "page_num",
          "page_size"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountDetailRequest": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "oneOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "string",
                "enum": [
                  "legacy_psbc_config"
                ]
              }
            ],
            "description": "配置主键；legacy_psbc_config 仅用于配置表未初始化时的历史只读记录",
            "example": 1
          }
        },
        "x-apifox-orders": [
          "id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFinanceErrorResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "enum": [
              1
            ],
            "description": "失败固定为 1。"
          },
          "message": {
            "type": "string",
            "description": "明确的认证、参数、游标、配置或查询错误信息。"
          },
          "data": {
            "description": "控制器错误返回 null；认证前置校验沿用现有接口外壳时可能返回空数组。",
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": true,
                "x-apifox-orders": []
              },
              {
                "type": "array",
                "items": {}
              }
            ],
            "type": "null"
          },
          "time": {
            "type": "string",
            "description": "仅框架前置认证失败时可能返回的请求时间戳，不作为财务分页或对账字段。",
            "nullable": true
          },
          "trace_id": {
            "type": "string",
            "description": "请求追踪标识，排查问题时提供给服务方。"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "time",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFinanceErrorResponseV2": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "enum": [
              1
            ]
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": true,
                "x-apifox-orders": []
              },
              {
                "type": "array",
                "items": {}
              }
            ],
            "type": "null"
          },
          "time": {
            "type": "string",
            "nullable": true
          },
          "trace_id": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "time",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrepayQueryRequest": {
        "type": "object",
        "required": [
          "orderid",
          "machid",
          "timestamp",
          "randstr",
          "sign"
        ],
        "properties": {
          "orderid": {
            "type": "string",
            "description": "设备上传订单号。"
          },
          "machid": {
            "type": "string",
            "description": "设备 machid。"
          },
          "torderid": {
            "type": "string",
            "description": "预扣款订单 ID。建议传入；传入时仍会校验 orderid 与 machid 是否匹配。"
          },
          "timestamp": {
            "type": "string",
            "description": "时间戳，参与签名。"
          },
          "randstr": {
            "type": "string",
            "description": "随机字符串，参与签名。"
          },
          "sign": {
            "type": "string",
            "description": "sha1(sort(appkey,timestamp,randstr) 后拼接)。"
          }
        },
        "x-apifox-orders": [
          "orderid",
          "machid",
          "torderid",
          "timestamp",
          "randstr",
          "sign"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SyncPersonsResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              },
              "created": {
                "type": "integer"
              },
              "updated": {
                "type": "integer"
              },
              "failed": {
                "type": "integer",
                "description": "本批同步失败的人员数量"
              }
            },
            "x-apifox-orders": [
              "total",
              "created",
              "updated",
              "failed"
            ],
            "x-apifox-ignore-properties": []
          },
          "trace_id": {
            "type": "string",
            "description": "请求链路标识，由系统通用返回方法生成",
            "example": "6a671d7d5539d"
          }
        },
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AcquireResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功、1失败",
            "example": 0
          },
          "message": {
            "type": "string",
            "description": "处理消息",
            "example": "success"
          },
          "data": {
            "type": "object",
            "required": [
              "order_no",
              "amount"
            ],
            "properties": {
              "order_no": {
                "type": "string",
                "description": "智慧餐厅待结算订单号",
                "example": "260815120000001"
              },
              "amount": {
                "type": "string",
                "description": "待结算订单金额，单位元",
                "example": "12.34"
              }
            },
            "x-apifox-orders": [
              "order_no",
              "amount"
            ],
            "x-apifox-ignore-properties": []
          },
          "trace_id": {
            "type": "string",
            "description": "请求链路标识，由系统通用返回方法生成",
            "example": "6a671d7d5539d"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SettlementResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "通用响应处理结果：0成功、1失败",
            "example": 0
          },
          "message": {
            "type": "string",
            "description": "接口处理消息",
            "example": "success"
          },
          "data": {
            "type": "array",
            "description": "无特殊业务返回参数，返回空数组",
            "items": {}
          },
          "trace_id": {
            "type": "string",
            "description": "请求链路标识，由系统通用返回方法生成",
            "example": "6a671d7d5539d"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SettlementResult": {
        "type": "object",
        "required": [
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，非0失败",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "扣款成功"
          },
          "amount": {
            "type": "integer",
            "description": "一卡通反馈的实际扣款金额，单位分，仅记录不参与订单金额校验",
            "example": 1234
          },
          "psamID": {
            "type": "integer",
            "example": 166715196755
          },
          "psamJyNo": {
            "type": "integer",
            "example": 6
          },
          "tac": {
            "type": "integer",
            "example": -2015100023
          }
        },
        "additionalProperties": true,
        "x-apifox-orders": [
          "code",
          "message",
          "amount",
          "psamID",
          "psamJyNo",
          "tac"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "Tag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1,
            "description": "标签ID编号"
          },
          "name": {
            "type": "string",
            "description": "标签名称"
          }
        },
        "xml": {
          "name": "Tag"
        },
        "x-apifox-orders": [
          "id",
          "name"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategySummary": {
        "type": "object",
        "description": "列表返回的策略信息",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12
          },
          "strategy_name": {
            "type": "string",
            "description": "策略名称",
            "example": "教练组早餐折扣"
          },
          "priority": {
            "type": "integer",
            "minimum": 1,
            "description": "越小优先级越高",
            "example": 10
          },
          "strategy_type": {
            "type": "integer",
            "enum": [
              1,
              2,
              3
            ],
            "description": "1=折扣（按百分比）; 2=立减固定金额; 3=账户增加固定金额",
            "example": 1
          },
          "strategy_value": {
            "type": "number",
            "format": "float",
            "description": "策略值，最多两位小数",
            "example": 9.5
          },
          "strategy_desc": {
            "type": "string",
            "description": "服务端计算好的策略描述，便于展示",
            "example": "折扣 9.50%"
          },
          "effective_type": {
            "type": "integer",
            "enum": [
              1,
              2
            ],
            "description": "1=永久有效; 2=指定日期区间",
            "example": 2
          },
          "effective_start": {
            "type": "string",
            "format": "date",
            "example": "2024-05-01"
          },
          "effective_end": {
            "type": "string",
            "format": "date",
            "example": "2024-05-31"
          },
          "effective_desc": {
            "type": "string",
            "description": "服务端拼接的有效期说明",
            "example": "2024-05-01 ~ 2024-05-31"
          },
          "department_names": {
            "type": "string",
            "description": "已应用的部门名称，多个名称以逗号拼接（\"-\" 表示未限制）",
            "example": "一队,体能组"
          },
          "identity_names": {
            "type": "string",
            "description": "已应用的身份类别，多个名称以逗号拼接",
            "example": "教练,运动员"
          },
          "restaurant_names": {
            "type": "string",
            "description": "已应用的餐厅名称，多个名称以逗号拼接",
            "example": "一号餐厅"
          },
          "status": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "description": "1=启用，0=禁用",
            "example": 1
          },
          "remark": {
            "type": "string",
            "description": "备注",
            "example": "队伍新周期优惠"
          },
          "create_by": {
            "type": "string",
            "example": "管理员"
          },
          "create_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-20 10:30:00"
          },
          "update_by": {
            "type": "string",
            "example": "管理员"
          },
          "update_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-21 09:00:00"
          }
        },
        "x-apifox-orders": [
          "id",
          "strategy_name",
          "priority",
          "strategy_type",
          "strategy_value",
          "strategy_desc",
          "effective_type",
          "effective_start",
          "effective_end",
          "effective_desc",
          "department_names",
          "identity_names",
          "restaurant_names",
          "status",
          "remark",
          "create_by",
          "create_time",
          "update_by",
          "update_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AreaItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "admin_name": {
            "type": "string"
          },
          "admin_mobile": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "status_label": {
            "type": "string"
          },
          "restaurant_count": {
            "type": "integer"
          },
          "create_time": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-apifox-orders": [
          "id",
          "name",
          "admin_name",
          "admin_mobile",
          "intro",
          "status",
          "status_label",
          "restaurant_count",
          "create_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "Sha1LowerHex40": {
        "type": "string",
        "pattern": "^[a-f0-9]{40}$",
        "description": "SHA1 签名（40 位小写十六进制字符串），sign = SHA1(user + UserKEY + timestamp)",
        "x-apifox-folder": ""
      },
      "SopDhPayDishItem": {
        "type": "object",
        "properties": {
          "dishId": {
            "type": "integer",
            "description": "基础菜品id",
            "example": 0
          },
          "num": {
            "type": "integer",
            "description": "数量",
            "example": 0
          },
          "price": {
            "type": "number",
            "description": "价格",
            "example": 0
          }
        },
        "required": [
          "dishId",
          "num",
          "price"
        ],
        "x-apifox-orders": [
          "dishId",
          "num",
          "price"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillPage": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "总条数"
          },
          "per_page": {
            "type": "integer",
            "description": "每页条数"
          },
          "current_page": {
            "type": "integer",
            "description": "当前页"
          },
          "last_page": {
            "type": "integer",
            "description": "最后一页"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillRow"
            }
          }
        },
        "x-apifox-orders": [
          "total",
          "per_page",
          "current_page",
          "last_page",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillMealDetail": {
        "type": "object",
        "properties": {
          "meal_type": {
            "type": "integer",
            "description": "餐次：1 早餐，2 午餐，3 晚餐",
            "example": 1
          },
          "fee_type": {
            "type": "string",
            "example": "早餐"
          },
          "adjusted_count": {
            "type": "integer",
            "description": "调整后明细数",
            "example": 8
          },
          "subtotal": {
            "type": "string",
            "description": "调整后小计金额",
            "example": "48.80"
          }
        },
        "x-apifox-orders": [
          "meal_type",
          "fee_type",
          "adjusted_count",
          "subtotal"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BookingConfigResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AiApiResponse"
          }
        ],
        "x-apifox-folder": ""
      },
      "DatasetListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "total_count": {
                        "type": "integer"
                      },
                      "dataset_list": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/Dataset"
                        }
                      }
                    },
                    "x-apifox-orders": [
                      "total_count",
                      "dataset_list"
                    ],
                    "x-apifox-ignore-properties": []
                  }
                },
                "x-apifox-orders": [
                  "data"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PsbcAccountSaveRequest": {
        "type": "object",
        "required": [
          "name",
          "status",
          "merchant_no",
          "payment_id"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "编辑时传配置主键；新增时不传"
          },
          "name": {
            "type": "string",
            "maxLength": 100,
            "description": "账户名称，同一商城内不能重复",
            "example": "荣海小学餐费账户"
          },
          "status": {
            "type": "integer",
            "enum": [
              3,
              4
            ],
            "default": 3,
            "description": "账户状态：3可用，4停用"
          },
          "settlement_desc": {
            "type": "string",
            "maxLength": 500,
            "description": "结算说明"
          },
          "school_uuid": {
            "type": "string",
            "description": "顶级学校 UUID。状态为3时必填，状态为4时必须为空",
            "example": "school-a-uuid"
          },
          "merchant_no": {
            "type": "string",
            "maxLength": 128,
            "description": "B2C 商户号",
            "example": "100610100002386"
          },
          "payment_id": {
            "type": "string",
            "maxLength": 128,
            "description": "统一收单门店号或支付标识",
            "example": "shop-payment-001"
          },
          "merchant_public_key": {
            "type": "string",
            "writeOnly": true,
            "description": "商户 SM2 公钥。新增必填；编辑时不传或传空表示保持原值"
          },
          "merchant_private_key": {
            "type": "string",
            "writeOnly": true,
            "format": "password",
            "description": "商户 SM2 私钥。新增必填；编辑时不传或传空表示保持原值"
          },
          "psbc_public_key": {
            "type": "string",
            "writeOnly": true,
            "description": "邮储支付 SM2 公钥。新增必填；编辑时不传或传空表示保持原值"
          },
          "remark": {
            "type": "string",
            "maxLength": 500,
            "description": "备注"
          },
          "confirm_replace_binding": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "default": 0,
            "description": "学校已有账户时，二次确认传1；保存成功后旧账户会被停用并解除学校绑定"
          }
        },
        "x-apifox-orders": [
          "id",
          "name",
          "status",
          "settlement_desc",
          "school_uuid",
          "merchant_no",
          "payment_id",
          "merchant_public_key",
          "merchant_private_key",
          "psbc_public_key",
          "remark",
          "confirm_replace_binding"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountMaskedDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PsbcAccountListItem"
          },
          {
            "type": "object",
            "properties": {
              "merchant_no": {
                "type": "string",
                "description": "完整 B2C 商户号"
              },
              "payment_id": {
                "type": "string",
                "description": "统一收单门店号或支付标识"
              },
              "merchant_public_key": {
                "type": "string",
                "readOnly": true,
                "description": "商户 SM2 公钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位"
              },
              "merchant_private_key": {
                "type": "string",
                "format": "password",
                "readOnly": true,
                "description": "商户 SM2 私钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位"
              },
              "psbc_public_key": {
                "type": "string",
                "readOnly": true,
                "description": "邮储支付 SM2 公钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位"
              },
              "merchant_public_key_configured": {
                "type": "boolean"
              },
              "merchant_private_key_configured": {
                "type": "boolean"
              },
              "psbc_public_key_configured": {
                "type": "boolean"
              },
              "config_complete": {
                "type": "boolean",
                "description": "支付参数是否完整"
              }
            },
            "x-apifox-orders": [
              "merchant_no",
              "payment_id",
              "merchant_public_key",
              "merchant_private_key",
              "psbc_public_key",
              "merchant_public_key_configured",
              "merchant_private_key_configured",
              "psbc_public_key_configured",
              "config_complete"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PsbcAccountMaskedAwareSaveRequest": {
        "type": "object",
        "required": [
          "name",
          "status",
          "merchant_no",
          "payment_id"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "编辑时传配置主键；新增时不传"
          },
          "name": {
            "type": "string",
            "maxLength": 100,
            "description": "账户名称，同一商城内不能重复",
            "example": "荣海小学餐费账户"
          },
          "status": {
            "type": "integer",
            "enum": [
              3,
              4
            ],
            "default": 3,
            "description": "账户状态：3可用，4停用"
          },
          "settlement_desc": {
            "type": "string",
            "maxLength": 500,
            "description": "结算说明"
          },
          "school_uuid": {
            "type": "string",
            "description": "顶级学校 UUID。状态为3时必填，状态为4时必须为空",
            "example": "school-a-uuid"
          },
          "merchant_no": {
            "type": "string",
            "maxLength": 128,
            "description": "B2C 商户号",
            "example": "100610100002386"
          },
          "payment_id": {
            "type": "string",
            "maxLength": 128,
            "description": "统一收单门店号或支付标识",
            "example": "shop-payment-001"
          },
          "merchant_public_key": {
            "type": "string",
            "writeOnly": true,
            "description": "商户 SM2 公钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值"
          },
          "merchant_private_key": {
            "type": "string",
            "writeOnly": true,
            "format": "password",
            "description": "商户 SM2 私钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值"
          },
          "psbc_public_key": {
            "type": "string",
            "writeOnly": true,
            "description": "邮储支付 SM2 公钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值"
          },
          "remark": {
            "type": "string",
            "maxLength": 500,
            "description": "备注"
          },
          "confirm_replace_binding": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "default": 0,
            "description": "学校已有账户时，二次确认传1；保存成功后旧账户会被停用并解除学校绑定"
          }
        },
        "x-apifox-orders": [
          "id",
          "name",
          "status",
          "settlement_desc",
          "school_uuid",
          "merchant_no",
          "payment_id",
          "merchant_public_key",
          "merchant_private_key",
          "psbc_public_key",
          "remark",
          "confirm_replace_binding"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFlowPage": {
        "type": "object",
        "required": [
          "snapshot_id",
          "page_size",
          "returned_count",
          "snapshot_total",
          "has_more",
          "next_cursor",
          "list"
        ],
        "properties": {
          "snapshot_id": {
            "type": "string",
            "pattern": "^\\d{14}[A-F0-9]{16}$",
            "description": "首屏生成的快照标识，整个翻页过程保持不变。"
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "description": "本次请求采用的 page_size，不做业务上限截断。"
          },
          "returned_count": {
            "type": "integer",
            "minimum": 0,
            "description": "当前 list 实际返回条数。"
          },
          "snapshot_total": {
            "type": "integer",
            "minimum": 0,
            "description": "首屏高水位快照内符合条件的原始资金流水总条数，不是订单数或人员数。"
          },
          "has_more": {
            "type": "boolean",
            "description": "快照内是否还有下一页。"
          },
          "next_cursor": {
            "type": "string",
            "pattern": "^[a-f0-9]{48}$",
            "description": "下一页不透明游标；末页固定为 null。",
            "nullable": true
          },
          "list": {
            "type": "array",
            "description": "原始金额流水列表。现金和补贴流水分别占一条。",
            "items": {
              "$ref": "#/components/schemas/VisitorFlowItem"
            }
          }
        },
        "x-apifox-orders": [
          "snapshot_id",
          "page_size",
          "returned_count",
          "snapshot_total",
          "has_more",
          "next_cursor",
          "list"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFlowPageV2": {
        "type": "object",
        "required": [
          "total",
          "has_more",
          "next_cursor",
          "list"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "首屏高水位快照内符合条件的原始账户流水总条数，不是订单数、人员数或汇总数。"
          },
          "has_more": {
            "type": "boolean",
            "description": "当前快照是否还有下一页。"
          },
          "next_cursor": {
            "type": "string",
            "pattern": "^[a-f0-9]{48}$",
            "description": "下一页不透明游标；末页为 null。",
            "nullable": true
          },
          "list": {
            "type": "array",
            "description": "逐笔成功账户流水。现金和补贴分别占一条，不做汇总。",
            "items": {
              "$ref": "#/components/schemas/VisitorFlowItemV2"
            }
          }
        },
        "x-apifox-orders": [
          "total",
          "has_more",
          "next_cursor",
          "list"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrepayFulfillRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PrepayQueryRequest"
          },
          {
            "type": "object",
            "required": [
              "status"
            ],
            "properties": {
              "status": {
                "type": "integer",
                "description": "出货状态：1=成功，0=失败。",
                "enum": [
                  0,
                  1
                ]
              },
              "errinfo": {
                "type": "string",
                "description": "出货失败原因。",
                "maxLength": 500
              }
            },
            "x-apifox-orders": [
              "status",
              "errinfo"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "CardInfo": {
        "type": "object",
        "required": [
          "uid",
          "cardClass",
          "customerID",
          "cardNO",
          "cardSN",
          "status",
          "subType",
          "ze",
          "ye",
          "opCount",
          "subYe",
          "subCount",
          "cardASN"
        ],
        "properties": {
          "uid": {
            "type": "integer",
            "example": -1845026871
          },
          "cardClass": {
            "type": "integer",
            "example": 8
          },
          "customerID": {
            "type": "integer",
            "example": 29373
          },
          "cardNO": {
            "type": "integer",
            "example": 1705827
          },
          "cardSN": {
            "type": "integer",
            "example": 2
          },
          "status": {
            "type": "integer",
            "example": 241
          },
          "subType": {
            "type": "integer",
            "example": 0
          },
          "ze": {
            "type": "integer",
            "example": 66464
          },
          "ye": {
            "type": "integer",
            "description": "卡余额，单位分",
            "example": 766
          },
          "opCount": {
            "type": "integer",
            "example": 38
          },
          "subYe": {
            "type": "integer",
            "example": 0
          },
          "subCount": {
            "type": "integer",
            "example": 0
          },
          "cardASN": {
            "type": "string",
            "example": "AA030000026D60992AB9"
          }
        },
        "x-apifox-orders": [
          "uid",
          "cardClass",
          "customerID",
          "cardNO",
          "cardSN",
          "status",
          "subType",
          "ze",
          "ye",
          "opCount",
          "subYe",
          "subCount",
          "cardASN"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategyDetail": {
        "type": "object",
        "description": "单条策略详情",
        "properties": {
          "id": {
            "type": "integer",
            "example": 12
          },
          "strategy_name": {
            "type": "string",
            "example": "教练组早餐折扣"
          },
          "priority": {
            "type": "integer",
            "example": 10
          },
          "strategy_type": {
            "type": "integer",
            "enum": [
              1,
              2,
              3
            ],
            "example": 1
          },
          "strategy_value": {
            "type": "number",
            "format": "float",
            "example": 9.5
          },
          "status": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "remark": {
            "type": "string",
            "example": "队伍新周期优惠"
          },
          "effective_type": {
            "type": "integer",
            "enum": [
              1,
              2
            ],
            "example": 2
          },
          "effective_start": {
            "type": "string",
            "format": "date",
            "example": "2024-05-01"
          },
          "effective_end": {
            "type": "string",
            "format": "date",
            "example": "2024-05-31"
          },
          "effective_range": {
            "type": "array",
            "description": "当 effective_type=2 时返回 [开始日期, 结束日期]，否则为空数组",
            "items": {
              "type": "string",
              "format": "date"
            },
            "example": [
              "2024-05-01",
              "2024-05-31"
            ]
          },
          "department_uuids": {
            "type": "array",
            "description": "关联部门 uuid",
            "items": {
              "type": "string"
            },
            "example": [
              "dept-001",
              "dept-002"
            ]
          },
          "department_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "一队",
              "体能组"
            ]
          },
          "identity_ids": {
            "type": "array",
            "description": "关联身份 ID",
            "items": {
              "type": "integer"
            },
            "example": [
              1,
              3
            ]
          },
          "identity_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "教练",
              "营养师"
            ]
          },
          "restaurant_ids": {
            "type": "array",
            "description": "关联餐厅 ID",
            "items": {
              "type": "integer"
            },
            "example": [
              10,
              11
            ]
          },
          "restaurant_names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "一号餐厅",
              "二号餐厅"
            ]
          },
          "strategy_desc": {
            "type": "string",
            "example": "折扣 9.50%"
          },
          "create_by": {
            "type": "string",
            "example": "管理员"
          },
          "create_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-20 10:30:00"
          },
          "update_by": {
            "type": "string",
            "example": "管理员"
          },
          "update_time": {
            "type": "string",
            "format": "date-time",
            "example": "2024-05-21 09:00:00"
          }
        },
        "x-apifox-orders": [
          "id",
          "strategy_name",
          "priority",
          "strategy_type",
          "strategy_value",
          "status",
          "remark",
          "effective_type",
          "effective_start",
          "effective_end",
          "effective_range",
          "department_uuids",
          "department_names",
          "identity_ids",
          "identity_names",
          "restaurant_ids",
          "restaurant_names",
          "strategy_desc",
          "create_by",
          "create_time",
          "update_by",
          "update_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AreaListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "integer"
                  },
                  "rows": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AreaItem"
                    }
                  }
                },
                "x-apifox-orders": [
                  "total",
                  "rows"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DebugFlag": {
        "type": "string",
        "description": "debug=1 时返回非 JSON 格式的数据，仅测试使用",
        "enum": [
          "0",
          "1"
        ],
        "x-apifox-folder": ""
      },
      "SopDhPayResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "网关返回码（Excel: 公共响应参数）",
            "example": "40004"
          },
          "msg": {
            "type": "string",
            "description": "网关返回码描述（Excel: 公共响应参数）",
            "example": "Business Failed"
          },
          "sub_code": {
            "type": "string",
            "description": "业务返回码（Excel: 公共响应参数）",
            "example": "ACQ.TRADE_HAS_SUCCESS"
          },
          "sub_msg": {
            "type": "string",
            "description": "业务返回码描述（Excel: 公共响应参数）",
            "example": "交易已被支付"
          },
          "data": {
            "type": "object",
            "description": "业务响应数据（Excel: 业务响应参数）",
            "properties": {
              "code": {
                "type": "integer",
                "description": "返回标记：成功标记=0，失败标记=1",
                "example": 0
              },
              "currentAmount": {
                "type": "string",
                "description": "个人账户余额",
                "example": "111.11"
              },
              "mealBalance": {
                "type": "string",
                "description": "餐补余额",
                "example": "111.11"
              },
              "orderNo": {
                "type": "string",
                "description": "订单编号",
                "example": "DD3213213123132"
              },
              "payMoney": {
                "type": "number",
                "description": "实付金额",
                "example": 11.01
              },
              "payNo": {
                "type": "string",
                "description": "支付订单编号",
                "example": "HHTPAY3213213123132"
              },
              "msg": {
                "type": "string",
                "description": "返回信息",
                "example": ""
              }
            },
            "x-apifox-orders": [
              "code",
              "currentAmount",
              "mealBalance",
              "orderNo",
              "payMoney",
              "payNo",
              "msg"
            ],
            "x-apifox-ignore-properties": []
          },
          "debug_request": {
            "type": "object",
            "description": "联调用：回显收到的请求参数（非 Excel 字段）",
            "x-apifox-orders": [],
            "properties": {},
            "x-apifox-ignore-properties": []
          },
          "debug_case": {
            "type": "string",
            "description": "联调用：当前模拟场景（非 Excel 字段）",
            "example": "SUCCESS"
          }
        },
        "required": [
          "code",
          "msg"
        ],
        "x-apifox-orders": [
          "code",
          "msg",
          "sub_code",
          "sub_msg",
          "data",
          "debug_request",
          "debug_case"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillRow": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "账单 ID"
          },
          "bill_id": {
            "type": "integer",
            "description": "账单 ID 别名"
          },
          "bill_no": {
            "type": "string",
            "description": "账单编号"
          },
          "billNo": {
            "type": "string",
            "description": "账单编号前端别名"
          },
          "bill_month": {
            "type": "string",
            "description": "账单月份"
          },
          "month": {
            "type": "string",
            "description": "账单月份前端别名"
          },
          "student_name": {
            "type": "string",
            "description": "学生姓名"
          },
          "studentName": {
            "type": "string",
            "description": "学生姓名前端别名"
          },
          "student_no": {
            "type": "string",
            "description": "学生编号"
          },
          "studentNo": {
            "type": "string",
            "description": "学生编号前端别名"
          },
          "department_uuid": {
            "type": "string",
            "description": "部门/班级 UUID"
          },
          "department_name": {
            "type": "string",
            "description": "部门/班级名称"
          },
          "department": {
            "type": "string",
            "description": "部门/班级名称前端别名"
          },
          "parent_mobile": {
            "type": "string",
            "description": "家长手机号"
          },
          "parentPhone": {
            "type": "string",
            "description": "脱敏家长手机号"
          },
          "amount": {
            "type": "number",
            "description": "就餐费用"
          },
          "original_amount": {
            "type": "string",
            "description": "原就餐费用"
          },
          "status": {
            "type": "string",
            "description": "前端状态值"
          },
          "status_value": {
            "type": "integer",
            "description": "后端状态值：10/20/30/40"
          },
          "status_label": {
            "type": "string",
            "description": "状态名称"
          },
          "issue_time": {
            "type": "string",
            "description": "发起时间"
          },
          "expire_time": {
            "type": "string",
            "description": "有效期至"
          },
          "pay_time": {
            "type": "string",
            "description": "缴费时间"
          },
          "pay_method": {
            "type": "string",
            "description": "支付方式"
          },
          "trade_id": {
            "type": "integer",
            "description": "交易 ID"
          }
        },
        "x-apifox-orders": [
          "id",
          "bill_id",
          "bill_no",
          "billNo",
          "bill_month",
          "month",
          "student_name",
          "studentName",
          "student_no",
          "studentNo",
          "department_uuid",
          "department_name",
          "department",
          "parent_mobile",
          "parentPhone",
          "amount",
          "original_amount",
          "status",
          "status_value",
          "status_label",
          "issue_time",
          "expire_time",
          "pay_time",
          "pay_method",
          "trade_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/BillRecord"
                    }
                  }
                },
                "x-apifox-orders": [
                  "list"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BookingSubmitRequest": {
        "type": "object",
        "required": [
          "booking_type",
          "dates",
          "meal_times"
        ],
        "properties": {
          "restaurant_id": {
            "type": "integer",
            "description": "档口ID",
            "example": 12
          },
          "booking_type": {
            "type": "string",
            "description": "self=本人订餐，family=亲友餐，official=招待餐",
            "enum": [
              "self",
              "family",
              "official"
            ],
            "example": "self"
          },
          "dates": {
            "type": "array",
            "description": "订餐日期，按档口 book_rules 可订日期校验",
            "items": {
              "type": "string",
              "format": "date"
            },
            "example": [
              "2026-06-13"
            ]
          },
          "meal_times": {
            "type": "array",
            "description": "餐次：1=早餐，2=午餐，3=晚餐，4=夜宵",
            "items": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4
              ]
            },
            "example": [
              2
            ]
          },
          "participant": {
            "type": "object",
            "description": "亲友餐/招待餐扩展信息",
            "properties": {
              "name": {
                "type": "string",
                "description": "亲友姓名或接待对象"
              },
              "phone": {
                "type": "string",
                "description": "联系电话"
              },
              "relation": {
                "type": "string",
                "description": "亲友关系"
              },
              "peopleCount": {
                "type": "integer",
                "description": "人数；本人订餐固定 1，亲友餐按人数生成多条订单，招待餐一条订单记录总人数",
                "example": 1
              },
              "remark": {
                "type": "string",
                "description": "备注"
              }
            },
            "x-apifox-orders": [
              "name",
              "phone",
              "relation",
              "peopleCount",
              "remark"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "restaurant_id",
          "booking_type",
          "dates",
          "meal_times",
          "participant"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "Dataset": {
        "type": "object",
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7659346836330758207"
          },
          "space_id": {
            "type": "string",
            "example": "7366210605697007616"
          },
          "name": {
            "type": "string",
            "example": "PC端新建（图片）知识库"
          },
          "format_type": {
            "type": "integer",
            "description": "0 文本，1 表格，2 图片",
            "example": 2
          },
          "file_list": {
            "type": "array",
            "items": {
              "type": "object",
              "x-apifox-orders": [],
              "properties": {},
              "x-apifox-ignore-properties": []
            }
          },
          "status": {
            "type": "integer",
            "example": 1
          },
          "description": {
            "type": "string"
          },
          "update_time": {
            "type": "integer",
            "example": 1783345320
          }
        },
        "x-apifox-orders": [
          "dataset_id",
          "space_id",
          "name",
          "format_type",
          "file_list",
          "status",
          "description",
          "update_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountListItem": {
        "type": "object",
        "properties": {
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ],
            "description": "配置主键；历史只读兼容记录为 legacy_psbc_config"
          },
          "uuid": {
            "type": "string",
            "description": "配置 UUID"
          },
          "name": {
            "type": "string",
            "description": "账户名称"
          },
          "status": {
            "type": "integer",
            "enum": [
              3,
              4
            ],
            "description": "账户状态：3可用，4停用"
          },
          "status_label": {
            "type": "string",
            "enum": [
              "可用",
              "停用"
            ]
          },
          "settlement_desc": {
            "type": "string"
          },
          "school_uuid": {
            "type": "string",
            "description": "绑定学校 UUID；未绑定时为空字符串"
          },
          "school_name": {
            "type": "string",
            "description": "绑定学校名称"
          },
          "school_uuids": {
            "type": "array",
            "deprecated": true,
            "description": "旧前端兼容字段，当前最多一个学校",
            "items": {
              "type": "string"
            }
          },
          "school_names": {
            "type": "array",
            "deprecated": true,
            "description": "旧前端兼容字段，当前最多一个学校",
            "items": {
              "type": "string"
            }
          },
          "merchant_no_masked": {
            "type": "string",
            "description": "脱敏商户号，仅显示最后4位",
            "example": "********2386"
          },
          "version_no": {
            "type": "integer",
            "description": "支付参数版本号"
          },
          "remark": {
            "type": "string"
          },
          "is_legacy": {
            "type": "boolean",
            "description": "是否为缺表场景下的历史只读兼容记录"
          },
          "editable": {
            "type": "boolean",
            "description": "当前记录是否允许编辑"
          },
          "create_time": {
            "type": "string",
            "description": "创建时间"
          },
          "update_time": {
            "type": "string",
            "description": "最近更新时间"
          }
        },
        "x-apifox-orders": [
          "id",
          "uuid",
          "name",
          "status",
          "status_label",
          "settlement_desc",
          "school_uuid",
          "school_name",
          "school_uuids",
          "school_names",
          "merchant_no_masked",
          "version_no",
          "remark",
          "is_legacy",
          "editable",
          "create_time",
          "update_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountMaskedDetailResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PsbcAccountMaskedDetail"
              },
              {
                "type": "array",
                "maxItems": 0,
                "description": "失败时返回空数组",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountMaskedAwareSaveResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PsbcAccountMaskedDetail"
              },
              {
                "type": "array",
                "maxItems": 0,
                "description": "失败时返回空数组",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFlowItem": {
        "type": "object",
        "description": "固定返回 38 个字段。业务不适用或无法关联的可选字段返回 JSON null，不能删除字段或改为空字符串。",
        "required": [
          "flow_no",
          "flow_type",
          "flow_type_name",
          "fund_type",
          "direction",
          "change_amount",
          "cash_amount",
          "subsidy_amount",
          "currency",
          "order_no",
          "related_order_no",
          "trade_no",
          "original_trade_no",
          "status",
          "status_name",
          "person_name",
          "mobile",
          "person_code",
          "department_name",
          "pay_method",
          "pay_method_name",
          "consume_channel",
          "consume_channel_name",
          "platform",
          "paid_amount",
          "credited_amount",
          "gift_amount",
          "restaurant_id",
          "restaurant_name",
          "stall_id",
          "stall_name",
          "meal_date",
          "meal_times",
          "equipment_code",
          "occur_time",
          "business_time",
          "describe",
          "remark"
        ],
        "properties": {
          "flow_no": {
            "type": "string",
            "pattern": "^VF[A-F0-9]{30}$",
            "description": "每条原始金额流水的稳定外部流水号，不暴露内部表名和主键。"
          },
          "flow_type": {
            "type": "string",
            "enum": [
              "recharge",
              "consume",
              "refund",
              "cashout"
            ],
            "description": "充值、消费、退款或提现。"
          },
          "flow_type_name": {
            "type": "string",
            "enum": [
              "充值",
              "消费",
              "退款",
              "提现"
            ]
          },
          "fund_type": {
            "type": "string",
            "enum": [
              "cash",
              "subsidy"
            ],
            "description": "现金余额流水或补贴余额流水。"
          },
          "direction": {
            "type": "string",
            "enum": [
              "income",
              "outcome"
            ],
            "description": "收入或支出方向。"
          },
          "change_amount": {
            "$ref": "#/components/schemas/MoneyString"
          },
          "cash_amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoneyString"
              }
            ],
            "description": "当前为现金流水时等于 change_amount，否则为 0.00。"
          },
          "subsidy_amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoneyString"
              }
            ],
            "description": "当前为补贴流水时等于 change_amount，否则为 0.00。"
          },
          "currency": {
            "type": "string",
            "enum": [
              "CNY"
            ]
          },
          "order_no": {
            "$ref": "#/components/schemas/NullableString"
          },
          "related_order_no": {
            "$ref": "#/components/schemas/NullableString"
          },
          "trade_no": {
            "$ref": "#/components/schemas/NullableString"
          },
          "original_trade_no": {
            "$ref": "#/components/schemas/NullableString"
          },
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "status_name": {
            "type": "string",
            "enum": [
              "成功"
            ]
          },
          "person_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "mobile": {
            "$ref": "#/components/schemas/NullableString"
          },
          "person_code": {
            "$ref": "#/components/schemas/NullableString"
          },
          "department_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "pay_method": {
            "$ref": "#/components/schemas/NullableString"
          },
          "pay_method_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "consume_channel": {
            "$ref": "#/components/schemas/NullableString"
          },
          "consume_channel_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "platform": {
            "$ref": "#/components/schemas/NullableString"
          },
          "paid_amount": {
            "$ref": "#/components/schemas/NullableMoneyString"
          },
          "credited_amount": {
            "$ref": "#/components/schemas/NullableMoneyString"
          },
          "gift_amount": {
            "$ref": "#/components/schemas/NullableMoneyString"
          },
          "restaurant_id": {
            "type": "integer",
            "format": "int64",
            "description": "消费或退款对应的食堂 ID。",
            "nullable": true
          },
          "restaurant_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "stall_id": {
            "type": "integer",
            "format": "int64",
            "description": "消费或退款对应的档口 ID。",
            "nullable": true
          },
          "stall_name": {
            "$ref": "#/components/schemas/NullableString"
          },
          "meal_date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "nullable": true
          },
          "meal_times": {
            "type": "integer",
            "enum": [
              1,
              2,
              3
            ],
            "description": "1 早餐，2 午餐，3 晚餐；非餐饮业务为 null。",
            "nullable": true
          },
          "equipment_code": {
            "$ref": "#/components/schemas/NullableString"
          },
          "occur_time": {
            "$ref": "#/components/schemas/DateTimeString"
          },
          "business_time": {
            "$ref": "#/components/schemas/NullableDateTimeString"
          },
          "describe": {
            "$ref": "#/components/schemas/NullableString"
          },
          "remark": {
            "$ref": "#/components/schemas/NullableString"
          }
        },
        "x-apifox-orders": [
          "flow_no",
          "flow_type",
          "flow_type_name",
          "fund_type",
          "direction",
          "change_amount",
          "cash_amount",
          "subsidy_amount",
          "currency",
          "order_no",
          "related_order_no",
          "trade_no",
          "original_trade_no",
          "status",
          "status_name",
          "person_name",
          "mobile",
          "person_code",
          "department_name",
          "pay_method",
          "pay_method_name",
          "consume_channel",
          "consume_channel_name",
          "platform",
          "paid_amount",
          "credited_amount",
          "gift_amount",
          "restaurant_id",
          "restaurant_name",
          "stall_id",
          "stall_name",
          "meal_date",
          "meal_times",
          "equipment_code",
          "occur_time",
          "business_time",
          "describe",
          "remark"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "VisitorFlowItemV2": {
        "type": "object",
        "description": "固定返回 11 个字段。不适用或没有业务单号的字段返回 JSON null。",
        "required": [
          "flow_no",
          "flow_type",
          "fund_type",
          "person_name",
          "mobile",
          "amount",
          "occur_time",
          "order_no",
          "recharge_method",
          "restaurant_name",
          "stall_name"
        ],
        "properties": {
          "flow_no": {
            "type": "string",
            "pattern": "^VF[A-F0-9]{30}$",
            "description": "单笔账户流水稳定唯一编号，第三方用于幂等去重。"
          },
          "flow_type": {
            "type": "string",
            "enum": [
              "recharge",
              "consume",
              "refund",
              "cashout"
            ],
            "description": "充值、消费、退款或提现。"
          },
          "fund_type": {
            "type": "string",
            "enum": [
              "cash",
              "subsidy"
            ],
            "description": "现金余额或补贴余额。"
          },
          "person_name": {
            "$ref": "#/components/schemas/NullableStringV2"
          },
          "mobile": {
            "$ref": "#/components/schemas/NullableStringV2"
          },
          "amount": {
            "$ref": "#/components/schemas/MoneyStringV2"
          },
          "occur_time": {
            "$ref": "#/components/schemas/DateTimeStringV2"
          },
          "order_no": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NullableStringV2"
              }
            ],
            "description": "当前资金变动对应的充值单、餐单、退款单或提现主单号；业务没有原始单号或无法关联时为 null。"
          },
          "recharge_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NullableStringV2"
              }
            ],
            "description": "仅现金充值返回充值方式，其他业务为 null。"
          },
          "restaurant_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NullableStringV2"
              }
            ],
            "description": "消费对应食堂；餐饮退款可按原餐单回填，其他业务为 null。"
          },
          "stall_name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NullableStringV2"
              }
            ],
            "description": "消费对应档口；餐饮退款可按原餐单回填，其他业务为 null。"
          }
        },
        "x-apifox-orders": [
          "flow_no",
          "flow_type",
          "fund_type",
          "person_name",
          "mobile",
          "amount",
          "occur_time",
          "order_no",
          "recharge_method",
          "restaurant_name",
          "stall_name"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrepayCodeResponse": {
        "type": "object",
        "properties": {
          "orderid": {
            "type": "string",
            "description": "设备上传订单号。"
          },
          "torderid": {
            "type": "string",
            "description": "智慧餐厅预扣款订单 ID。"
          },
          "twocode": {
            "type": "string",
            "description": "返回给设备展示的二维码内容。"
          },
          "code": {
            "type": "string",
            "description": "1=成功，0=失败。"
          },
          "msg": {
            "type": "string",
            "description": "提示信息。"
          }
        },
        "x-apifox-orders": [
          "orderid",
          "torderid",
          "twocode",
          "code",
          "msg"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SettlementData": {
        "type": "object",
        "properties": {
          "settlement_no": {
            "type": "string",
            "description": "智慧餐厅结算单号"
          },
          "order_no": {
            "type": "string",
            "description": "智慧餐厅就餐订单号"
          },
          "amount": {
            "type": "string",
            "description": "应扣金额，单位元"
          },
          "status": {
            "type": "string",
            "enum": [
              "locked",
              "card_success",
              "success",
              "failed",
              "unknown",
              "manual"
            ],
            "description": "结算状态"
          },
          "acc_num": {
            "type": "string",
            "description": "一卡通人员账户号"
          },
          "card_acc_num": {
            "type": "string",
            "description": "一卡通卡账户号/cardNO"
          },
          "system_card_id": {
            "type": "string",
            "description": "智慧餐厅十进制卡号"
          },
          "vendor_reader_card_no": {
            "type": "string",
            "description": "厂商读卡器原始UID"
          },
          "lock_expire_time": {
            "type": "string",
            "description": "未扣卡前锁到期时间"
          },
          "lock_token": {
            "type": "string",
            "description": "仅acquire响应返回，report必须原样携带"
          }
        },
        "x-apifox-orders": [
          "settlement_no",
          "order_no",
          "amount",
          "status",
          "acc_num",
          "card_acc_num",
          "system_card_id",
          "vendor_reader_card_no",
          "lock_expire_time",
          "lock_token"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "CommonEmptyResponse": {
        "type": "object",
        "required": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "success"
          },
          "data": {
            "type": "array",
            "maxItems": 0,
            "items": {
              "type": "string"
            },
            "example": []
          },
          "trace_id": {
            "type": "string",
            "description": "请求链路标识",
            "example": "7f21d8"
          }
        },
        "x-apifox-orders": [
          "code",
          "message",
          "data",
          "trace_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategyList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketingStrategySummary"
            }
          },
          "total": {
            "type": "integer",
            "example": 120
          },
          "per_page": {
            "type": "integer",
            "example": 15
          },
          "current_page": {
            "type": "integer",
            "example": 1
          }
        },
        "x-apifox-orders": [
          "data",
          "total",
          "per_page",
          "current_page"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AreaDetailResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/AreaItem"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PublicRequest": {
        "type": "object",
        "description": "所有请求都必须携带的公共参数",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign"
        ],
        "additionalProperties": true,
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BillRow"
          },
          {
            "type": "object",
            "properties": {
              "meals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MealDetail"
                }
              }
            },
            "x-apifox-orders": [
              "meals"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BillDetailResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/BillRecord"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BookingRecord": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "example": 10001
          },
          "orderNo": {
            "type": "string",
            "example": "202606130001"
          },
          "type": {
            "type": "string",
            "example": "本人订餐"
          },
          "status": {
            "type": "string",
            "example": "待核销"
          },
          "date": {
            "type": "string",
            "example": "2026-06-13"
          },
          "meal": {
            "type": "string",
            "example": "午餐"
          },
          "canteen": {
            "type": "string",
            "example": "一层档口"
          },
          "amount": {
            "type": "string",
            "example": "15.00"
          },
          "verificationCode": {
            "type": "string",
            "description": "亲友餐/招待餐二维码 token；本人订餐为空",
            "example": "cb4f6a6c0b8a4e1b8d9a2c5f1a0b2c3d"
          },
          "canCancel": {
            "type": "boolean",
            "example": true
          },
          "cancelDeadline": {
            "type": "string",
            "example": "2026-06-13 10:30:00"
          }
        },
        "x-apifox-orders": [
          "id",
          "orderNo",
          "type",
          "status",
          "date",
          "meal",
          "canteen",
          "amount",
          "verificationCode",
          "canCancel",
          "cancelDeadline"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DatasetCreateRequest": {
        "type": "object",
        "required": [
          "name",
          "space_id",
          "format_type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "营养问答资料库"
          },
          "space_id": {
            "type": "string",
            "example": "7366210605697007616"
          },
          "format_type": {
            "type": "integer",
            "description": "0 文本，1 表格，2 图片",
            "enum": [
              0,
              1,
              2
            ],
            "example": 0
          },
          "description": {
            "type": "string",
            "example": "用于营养问答资料检索"
          },
          "file_id": {
            "type": "string",
            "description": "知识库图标文件 ID，可选"
          }
        },
        "x-apifox-orders": [
          "name",
          "space_id",
          "format_type",
          "description",
          "file_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PsbcAccountListItem"
          },
          {
            "type": "object",
            "properties": {
              "merchant_no": {
                "type": "string",
                "description": "完整 B2C 商户号"
              },
              "payment_id": {
                "type": "string",
                "description": "统一收单门店号或支付标识"
              },
              "merchant_public_key": {
                "type": "string",
                "readOnly": true,
                "description": "商户 SM2 公钥明文，仅平台管理员详情返回"
              },
              "merchant_private_key": {
                "type": "string",
                "format": "password",
                "readOnly": true,
                "description": "商户 SM2 私钥明文，仅平台管理员详情返回"
              },
              "psbc_public_key": {
                "type": "string",
                "readOnly": true,
                "description": "邮储支付 SM2 公钥明文，仅平台管理员详情返回"
              },
              "merchant_public_key_configured": {
                "type": "boolean"
              },
              "merchant_private_key_configured": {
                "type": "boolean"
              },
              "psbc_public_key_configured": {
                "type": "boolean"
              },
              "config_complete": {
                "type": "boolean",
                "description": "支付参数是否完整"
              }
            },
            "x-apifox-orders": [
              "merchant_no",
              "payment_id",
              "merchant_public_key",
              "merchant_private_key",
              "psbc_public_key",
              "merchant_public_key_configured",
              "merchant_private_key_configured",
              "psbc_public_key_configured",
              "config_complete"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "MoneyString": {
        "type": "string",
        "pattern": "^-?(0|[1-9]\\d*)\\.\\d{2}$",
        "description": "有符号的两位小数字符串，禁止使用浮点数传递金额。",
        "example": "-8.00",
        "x-apifox-folder": ""
      },
      "MoneyStringV2": {
        "type": "string",
        "pattern": "^-?(0|[1-9]\\d*)\\.\\d{2}$",
        "description": "账户实际变动金额。充值、退款为正，消费、提现为负；使用两位小数字符串避免浮点误差。",
        "example": "-8.00",
        "x-apifox-folder": ""
      },
      "PrepayStatusResponse": {
        "type": "object",
        "properties": {
          "orderid": {
            "type": "string"
          },
          "torderid": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "description": "0=失败，1=消费者付款成功，2=正在等待消费者付款，3=此次交易已过期，4=此次交易已关闭，5=此次交易已完成。",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5"
            ]
          },
          "msg": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "orderid",
          "torderid",
          "code",
          "msg"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategyListFilters": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "页码"
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 15,
            "description": "每页条数"
          },
          "strategyName": {
            "type": "string",
            "maxLength": 100,
            "description": "策略名称（模糊匹配）"
          },
          "departmentUuid": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string"
              }
            ],
            "description": "部门 uuid 筛选，可以传 uuid 数组或逗号分隔字符串"
          },
          "identityIds": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              {
                "type": "string"
              }
            ],
            "description": "身份 ID 筛选，可以为数组或逗号分隔字符串"
          },
          "restaurantIds": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              {
                "type": "string"
              }
            ],
            "description": "餐厅 ID 筛选，可以为数组或逗号分隔字符串"
          },
          "strategyType": {
            "type": "integer",
            "enum": [
              1,
              2,
              3
            ],
            "description": "策略类型"
          },
          "status": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "description": "策略状态"
          }
        },
        "x-apifox-orders": [
          "page",
          "pageSize",
          "strategyName",
          "departmentUuid",
          "identityIds",
          "restaurantIds",
          "strategyType",
          "status"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "RestaurantItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "area_id": {
            "type": "integer"
          },
          "area_name": {
            "type": "string"
          },
          "admin_name": {
            "type": "string"
          },
          "admin_mobile": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "status_label": {
            "type": "string"
          },
          "stall_count": {
            "type": "integer"
          },
          "file_path": {
            "type": "string"
          },
          "file_url": {
            "type": "string"
          },
          "create_time": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-apifox-orders": [
          "id",
          "name",
          "area_id",
          "area_name",
          "admin_name",
          "admin_mobile",
          "location",
          "intro",
          "status",
          "status_label",
          "stall_count",
          "file_path",
          "file_url",
          "create_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ResponseEnvelope": {
        "type": "object",
        "description": "统一返回包裹结构（data 的具体类型由接口而定）",
        "properties": {
          "code": {
            "type": "integer",
            "description": "返回码：0 表示成功；非 0 表示失败（详见附录错误码）"
          },
          "msg": {
            "type": "string",
            "description": "结果提示信息：成功一般为 ok，失败为错误标识"
          },
          "data": {
            "description": "业务数据。成功/失败时的具体结构与类型以接口说明为准；失败时可能为 null/false/0 等。"
          },
          "serverExecutedTime": {
            "type": "integer",
            "description": "服务器程序执行时间（毫秒）"
          }
        },
        "required": [
          "code",
          "msg",
          "serverExecutedTime"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "code",
          "msg",
          "data",
          "serverExecutedTime"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MealDetail": {
        "type": "object",
        "properties": {
          "meal_type": {
            "type": "integer",
            "description": "餐次：1 早餐，2 午餐，3 晚餐"
          },
          "key": {
            "type": "string",
            "description": "餐次 key：breakfast/lunch/dinner"
          },
          "name": {
            "type": "string",
            "description": "餐次名称"
          },
          "original_count": {
            "type": "integer",
            "description": "原明细数"
          },
          "count": {
            "type": "integer",
            "description": "调整后明细数"
          },
          "original_amount": {
            "type": "string",
            "description": "原小计金额"
          },
          "amount": {
            "type": "string",
            "description": "调整后小计金额"
          }
        },
        "x-apifox-orders": [
          "meal_type",
          "key",
          "name",
          "original_count",
          "count",
          "original_amount",
          "amount"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillingPayRequest": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "邮储/认证返回的用户 ID",
            "example": "1779341267281"
          },
          "token": {
            "type": "string",
            "description": "登录 token",
            "example": "xxx-token"
          },
          "amount": {
            "type": "string",
            "description": "账单金额。后端会校验该金额必须与账单当前金额一致。",
            "example": "186.50"
          }
        },
        "required": [
          "userId",
          "token",
          "amount"
        ],
        "x-apifox-orders": [
          "userId",
          "token",
          "amount"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BookingSubmitResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AiApiResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "batch_no": {
                    "type": "string",
                    "example": "BK202606131200000001"
                  },
                  "records": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/BookingRecord"
                    }
                  }
                },
                "x-apifox-orders": [
                  "batch_no",
                  "records"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DatasetUpdateRequest": {
        "type": "object",
        "required": [
          "dataset_id"
        ],
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7659346836330758207"
          },
          "name": {
            "type": "string",
            "example": "营养问答资料库"
          },
          "description": {
            "type": "string"
          },
          "file_id": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "dataset_id",
          "name",
          "description",
          "file_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountListPage": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "per_page": {
            "type": "integer"
          },
          "current_page": {
            "type": "integer"
          },
          "last_page": {
            "type": "integer",
            "description": "无数据时为0"
          },
          "storage_ready": {
            "type": "boolean",
            "description": "支付配置表是否已初始化；false 时页面只读"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PsbcAccountListItem"
            }
          }
        },
        "required": [
          "total",
          "per_page",
          "current_page",
          "last_page",
          "storage_ready",
          "data"
        ],
        "x-apifox-orders": [
          "total",
          "per_page",
          "current_page",
          "last_page",
          "storage_ready",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "NullableMoneyString": {
        "type": "string",
        "pattern": "^-?(0|[1-9]\\d*)\\.\\d{2}$",
        "description": "两位小数字符串；业务不适用或无法关联时为 null。",
        "nullable": true,
        "x-apifox-folder": ""
      },
      "NullableStringV2": {
        "type": "string",
        "description": "业务不适用或无法关联时为 null，不使用空字符串。",
        "nullable": true,
        "x-apifox-folder": ""
      },
      "PrepayFulfillResponse": {
        "type": "object",
        "properties": {
          "orderid": {
            "type": "string"
          },
          "torderid": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "description": "1=接收成功，0=失败。"
          },
          "msg": {
            "type": "string"
          }
        },
        "x-apifox-orders": [
          "orderid",
          "torderid",
          "code",
          "msg"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategyCreate": {
        "type": "object",
        "required": [
          "strategyName",
          "priority",
          "strategyType",
          "strategyValue",
          "effectiveType"
        ],
        "properties": {
          "strategyName": {
            "type": "string",
            "maxLength": 100,
            "description": "策略名称",
            "example": "教练组早餐折扣"
          },
          "priority": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "越小优先级越高",
            "example": 10
          },
          "strategyType": {
            "type": "integer",
            "enum": [
              1,
              2,
              3
            ],
            "description": "1=折扣;2=立减金额;3=增加金额",
            "example": 1
          },
          "strategyValue": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "策略值；当策略类型为折扣时需大于0",
            "example": 9.5
          },
          "effectiveType": {
            "type": "integer",
            "enum": [
              1,
              2
            ],
            "description": "有效时长类型，2 时需提供日期范围",
            "example": 2
          },
          "effectiveRange": {
            "type": "array",
            "description": "当 effectiveType=2 时传 [开始日期, 结束日期]",
            "maxItems": 2,
            "items": {
              "type": "string",
              "format": "date"
            },
            "example": [
              "2024-05-01",
              "2024-05-31"
            ]
          },
          "departmentUuids": {
            "type": "array",
            "description": "允许空数组，表示全部部门可见",
            "items": {
              "type": "string"
            },
            "example": [
              "dept-001",
              "dept-002"
            ]
          },
          "identityIds": {
            "type": "array",
            "description": "关联身份 ID，空数组表示不限身份",
            "items": {
              "type": "integer",
              "minimum": 1
            },
            "example": [
              1,
              3
            ]
          },
          "restaurantIds": {
            "type": "array",
            "description": "关联餐厅 ID，空数组表示不限餐厅",
            "items": {
              "type": "integer",
              "minimum": 1
            },
            "example": [
              10,
              11
            ]
          },
          "status": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "default": 1,
            "description": "是否启用"
          },
          "remark": {
            "type": "string",
            "maxLength": 255,
            "description": "备注信息",
            "example": "队伍新周期优惠"
          }
        },
        "x-apifox-orders": [
          "strategyName",
          "priority",
          "strategyType",
          "strategyValue",
          "effectiveType",
          "effectiveRange",
          "departmentUuids",
          "identityIds",
          "restaurantIds",
          "status",
          "remark"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "RestaurantListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "total": {
                    "type": "integer"
                  },
                  "rows": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/RestaurantItem"
                    }
                  }
                },
                "x-apifox-orders": [
                  "total",
                  "rows"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "AddPrinterItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "打印机名称"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号（SN/PID，见机身底部/背部标签）"
          }
        },
        "required": [
          "name",
          "sn"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "name",
          "sn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillStatistics": {
        "type": "object",
        "properties": {
          "total_people": {
            "type": "integer",
            "description": "应缴人数"
          },
          "total_amount": {
            "type": "string",
            "description": "应缴金额"
          },
          "paid_people": {
            "type": "integer",
            "description": "已缴人数"
          },
          "paid_amount": {
            "type": "string",
            "description": "已缴金额"
          },
          "wait_people": {
            "type": "integer",
            "description": "待缴人数"
          },
          "wait_amount": {
            "type": "string",
            "description": "待缴金额"
          },
          "paid_rate": {
            "type": "number",
            "description": "已缴费金额比例"
          }
        },
        "x-apifox-orders": [
          "total_people",
          "total_amount",
          "paid_people",
          "paid_amount",
          "wait_people",
          "wait_amount",
          "paid_rate"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillingPayUrlResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "邮储支付跳转地址",
                    "example": "https://static.mobile-bank.psbc.com/static/back/jump.html?..."
                  },
                  "orderNo": {
                    "type": "string",
                    "example": "26060100018"
                  },
                  "out_trade_no": {
                    "type": "string",
                    "example": "26060100018"
                  },
                  "trade_id": {
                    "type": "integer",
                    "example": 1024
                  },
                  "recharge_order_id": {
                    "type": "integer",
                    "example": 987
                  },
                  "recharge_order_no": {
                    "type": "string",
                    "example": "RE26060100018"
                  },
                  "bill_id": {
                    "type": "integer",
                    "example": 12
                  },
                  "bill_no": {
                    "type": "string",
                    "example": "BILL260500012"
                  }
                },
                "x-apifox-orders": [
                  "url",
                  "orderNo",
                  "out_trade_no",
                  "trade_id",
                  "recharge_order_id",
                  "recharge_order_no",
                  "bill_id",
                  "bill_no"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BookingListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AiApiResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/BookingRecord"
                    }
                  }
                },
                "x-apifox-orders": [
                  "list"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DatasetIdRequest": {
        "type": "object",
        "required": [
          "dataset_id"
        ],
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7659346836330758207"
          }
        },
        "x-apifox-orders": [
          "dataset_id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountListResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "example": 0
          },
          "message": {
            "type": "string",
            "example": "查询成功"
          },
          "data": {
            "$ref": "#/components/schemas/PsbcAccountListPage"
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "NullableString": {
        "type": "string",
        "description": "业务不适用或无法关联时为 null，不使用空字符串。",
        "nullable": true,
        "x-apifox-folder": ""
      },
      "DateTimeStringV2": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
        "description": "账户流水实际写入时间。",
        "example": "2026-07-26 12:00:00",
        "x-apifox-folder": ""
      },
      "MiniAppResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "data": {
            "type": "object",
            "properties": {
              "orderId": {
                "type": "integer",
                "description": "生成或已绑定的 ydy_meal_order.id。"
              },
              "isPay": {
                "type": "integer",
                "description": "1=需要继续支付，0=无需支付或已支付。",
                "enum": [
                  0,
                  1
                ]
              }
            },
            "x-apifox-orders": [
              "orderId",
              "isPay"
            ],
            "x-apifox-ignore-properties": []
          }
        },
        "x-apifox-orders": [
          "message",
          "status",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "MarketingStrategyUpdate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MarketingStrategyCreate"
          },
          {
            "type": "object",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "minimum": 1,
                "description": "策略 ID",
                "example": 12
              }
            },
            "x-apifox-orders": [
              "id"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "RestaurantDetailResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/RestaurantItem"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "AddPrintersRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "items": {
            "type": "array",
            "description": "打印机数组，每次最多添加 50 台",
            "items": {
              "$ref": "#/components/schemas/AddPrinterItem"
            },
            "maxItems": 50
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "items"
        ],
        "additionalProperties": false,
        "description": "批量添加打印机请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "items"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "日志 ID"
          },
          "bill_id": {
            "type": "integer",
            "description": "账单 ID"
          },
          "action": {
            "type": "string",
            "description": "动作类型"
          },
          "status_before": {
            "type": "integer",
            "description": "变更前状态"
          },
          "status_after": {
            "type": "integer",
            "description": "变更后状态"
          },
          "content": {
            "type": "string",
            "description": "日志内容"
          },
          "operator": {
            "type": "string",
            "description": "操作人"
          },
          "store_id": {
            "type": "integer",
            "description": "门店 ID"
          },
          "create_time": {
            "type": "string",
            "description": "创建时间"
          }
        },
        "x-apifox-orders": [
          "id",
          "bill_id",
          "action",
          "status_before",
          "status_after",
          "content",
          "operator",
          "store_id",
          "create_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillingPayResultRequest": {
        "type": "object",
        "properties": {
          "out_trade_no": {
            "type": "string",
            "description": "支付回跳携带的商户订单号",
            "example": "26060100018"
          }
        },
        "required": [
          "out_trade_no"
        ],
        "x-apifox-orders": [
          "out_trade_no"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BookingDetailResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AiApiResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "detail": {
                    "$ref": "#/components/schemas/BookingRecord"
                  }
                },
                "x-apifox-orders": [
                  "detail"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DocumentListRequest": {
        "type": "object",
        "required": [
          "dataset_id"
        ],
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7659346836330758207"
          },
          "page": {
            "type": "integer",
            "example": 1
          },
          "size": {
            "type": "integer",
            "example": 10
          }
        },
        "x-apifox-orders": [
          "dataset_id",
          "page",
          "size"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PsbcAccountDetailResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PsbcAccountDetail"
              },
              {
                "type": "array",
                "maxItems": 0,
                "description": "失败时返回空数组",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DateTimeString": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
        "example": "2026-07-27 10:30:00",
        "x-apifox-folder": ""
      },
      "MarketingStrategyId": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "策略 ID",
            "example": 12
          }
        },
        "x-apifox-orders": [
          "id"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "OptionsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "x-apifox-orders": [],
                "properties": {},
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BatchOperationResult": {
        "type": "object",
        "description": "批量操作结果：成功列表、失败列表及失败原因",
        "properties": {
          "success": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "成功的打印机编号列表"
          },
          "fail": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "失败的打印机编号列表"
          },
          "failMsg": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "失败原因列表，格式如 \"SN:错误码\""
          }
        },
        "required": [
          "success",
          "fail",
          "failMsg"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "success",
          "fail",
          "failMsg"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "GenerateResult": {
        "type": "object",
        "properties": {
          "bill_month": {
            "type": "string",
            "description": "账单月份"
          },
          "created": {
            "type": "integer",
            "description": "本次创建数"
          },
          "skipped": {
            "type": "integer",
            "description": "已存在跳过数"
          },
          "message": {
            "type": "string",
            "description": "处理说明"
          }
        },
        "x-apifox-orders": [
          "bill_month",
          "created",
          "skipped",
          "message"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BillingPayResultResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "isPay": {
                    "type": "boolean",
                    "example": true
                  },
                  "bill_id": {
                    "type": "integer",
                    "example": 12
                  },
                  "bill_no": {
                    "type": "string",
                    "example": "BILL260500012"
                  },
                  "out_trade_no": {
                    "type": "string",
                    "example": "26060100018"
                  },
                  "recharge_order_id": {
                    "type": "integer",
                    "example": 987
                  },
                  "recharge_order_no": {
                    "type": "string",
                    "example": "RE26060100018"
                  },
                  "amount": {
                    "type": "string",
                    "example": "186.50"
                  },
                  "pay_time": {
                    "type": "string",
                    "example": "2026-06-01 10:22:00"
                  },
                  "bill": {
                    "$ref": "#/components/schemas/BillRecord"
                  }
                },
                "x-apifox-orders": [
                  "isPay",
                  "bill_id",
                  "bill_no",
                  "out_trade_no",
                  "recharge_order_id",
                  "recharge_order_no",
                  "amount",
                  "pay_time",
                  "bill"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "BookingCancelResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AiApiResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "type": "integer",
                    "example": 10001
                  },
                  "status": {
                    "type": "string",
                    "example": "已取消"
                  }
                },
                "x-apifox-orders": [
                  "order_id",
                  "status"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DocumentListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "document_infos": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Document"
                    }
                  },
                  "total": {
                    "type": "integer"
                  }
                },
                "x-apifox-orders": [
                  "document_infos",
                  "total"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PsbcAccountSaveResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "0成功，1失败"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PsbcAccountDetail"
              },
              {
                "type": "array",
                "maxItems": 0,
                "description": "失败时返回空数组",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-orders": [
          "code",
          "message",
          "data"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "NullableDateTimeString": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
        "nullable": true,
        "x-apifox-folder": ""
      },
      "MarketingStrategyStatus": {
        "type": "object",
        "required": [
          "id",
          "status"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "example": 12
          },
          "status": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "description": "1=启用，0=禁用",
            "example": 0
          }
        },
        "x-apifox-orders": [
          "id",
          "status"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "AddPrintersResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/BatchOperationResult",
                "nullable": true
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "IssuePaymentResult": {
        "type": "object",
        "properties": {
          "success": {
            "type": "integer",
            "description": "发起成功数"
          },
          "failed": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bill_id": {
                  "type": "integer",
                  "description": "账单 ID"
                },
                "reason": {
                  "type": "string",
                  "description": "失败原因"
                }
              },
              "x-apifox-orders": [
                "bill_id",
                "reason"
              ],
              "x-apifox-ignore-properties": []
            }
          }
        },
        "x-apifox-orders": [
          "success",
          "failed"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BookingVerifyRequest": {
        "type": "object",
        "required": [
          "equipment_code"
        ],
        "properties": {
          "staff_uuid": {
            "type": "string",
            "description": "本人订餐人脸核销用；与 qr_token/verification_code 二选一",
            "example": "staff-uuid"
          },
          "qr_token": {
            "type": "string",
            "description": "亲友餐/招待餐二维码 token；与 staff_uuid 二选一",
            "example": "cb4f6a6c0b8a4e1b8d9a2c5f1a0b2c3d"
          },
          "verification_code": {
            "type": "string",
            "description": "qr_token 别名，兼容 H5 展示字段",
            "example": "cb4f6a6c0b8a4e1b8d9a2c5f1a0b2c3d"
          },
          "equipment_code": {
            "type": "string",
            "description": "核销设备编号",
            "example": "EQ001"
          },
          "meal_date": {
            "type": "string",
            "format": "date",
            "description": "就餐日期；不传默认当天",
            "example": "2026-06-13"
          },
          "meal_times": {
            "type": "integer",
            "description": "餐次：1=早餐，2=午餐，3=晚餐，4=夜宵；不传则不按餐次过滤",
            "example": 2
          },
          "msgid": {
            "type": "string",
            "description": "设备请求流水号",
            "example": "EQ001-20260613120000001"
          }
        },
        "x-apifox-orders": [
          "staff_uuid",
          "qr_token",
          "verification_code",
          "equipment_code",
          "meal_date",
          "meal_times",
          "msgid"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "Document": {
        "type": "object",
        "properties": {
          "document_id": {
            "type": "string",
            "example": "7659346836331233343"
          },
          "name": {
            "type": "string",
            "example": "示例.pdf"
          },
          "type": {
            "type": "string",
            "example": "pdf"
          },
          "status": {
            "type": "integer",
            "description": "0 处理中，1 已完成，9 失败",
            "example": 1
          },
          "size": {
            "type": "integer",
            "example": 136987
          },
          "slice_count": {
            "type": "integer",
            "example": 5
          },
          "update_time": {
            "type": "integer",
            "example": 1783345320
          }
        },
        "x-apifox-orders": [
          "document_id",
          "name",
          "type",
          "status",
          "size",
          "slice_count",
          "update_time"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "SetVoiceTypeRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "voiceType": {
            "type": "integer",
            "description": "声音类型：\n固件版本 V10.xx：0 真人语音（大）1 真人语音（中）2 真人语音（小）3 嘀嘀声 4 静音；\n其它固件版本：0 真人语音 3 嘀嘀声 4 静音。"
          },
          "volumeLevel": {
            "type": "integer",
            "description": "声音大小：0 大 1 中 2 小 3 关闭；仅固件版本非 V10.xx 的机器支持"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "voiceType"
        ],
        "additionalProperties": false,
        "description": "设置打印机语音类型请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "voiceType",
          "volumeLevel"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ExportBillRow": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BillRow"
          },
          {
            "type": "object",
            "properties": {
              "breakfast_count": {
                "type": "integer",
                "description": "早餐明细数"
              },
              "breakfast_amount": {
                "type": "string",
                "description": "早餐小计金额"
              },
              "lunch_count": {
                "type": "integer",
                "description": "午餐明细数"
              },
              "lunch_amount": {
                "type": "string",
                "description": "午餐小计金额"
              },
              "dinner_count": {
                "type": "integer",
                "description": "晚餐明细数"
              },
              "dinner_amount": {
                "type": "string",
                "description": "晚餐小计金额"
              }
            },
            "x-apifox-orders": [
              "breakfast_count",
              "breakfast_amount",
              "lunch_count",
              "lunch_amount",
              "dinner_count",
              "dinner_amount"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PcMealOrderListRequest": {
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string",
            "format": "date",
            "example": "2026-06-01"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "example": "2026-06-30"
          },
          "source": {
            "type": "integer",
            "description": "订单类型：1=堂食，4=线上订餐/外卖，5=外部订餐，6=闸机，7=点餐机",
            "example": 4
          },
          "is_booking": {
            "type": "integer",
            "description": "是否订餐：0=非订餐，1=订餐；本次新增",
            "enum": [
              0,
              1
            ],
            "example": 1
          },
          "booking_type": {
            "type": "integer",
            "description": "订餐类型：1=本人订餐，2=亲友餐，3=招待餐；本次新增",
            "enum": [
              1,
              2,
              3
            ],
            "example": 1
          },
          "order_unified_status": {
            "type": "integer",
            "description": "订单统一状态：10=待付款，20=已取消，30=已付款，40=已退款，50=退款中，60=部分退款",
            "example": 30
          },
          "pay_type": {
            "type": "integer",
            "description": "支付方式：10=线上，20=刷卡，30=消费码，40=刷脸",
            "example": 10
          },
          "meal_times": {
            "type": "string",
            "description": "餐次，多个逗号分隔",
            "example": "2,3"
          },
          "department_uuids": {
            "type": "string",
            "description": "部门UUID，多个逗号分隔",
            "example": "dept-uuid"
          },
          "restaurantIds": {
            "type": "string",
            "description": "档口ID，多个逗号分隔",
            "example": "12,13"
          },
          "equipment_codes": {
            "type": "string",
            "description": "设备编号，多个逗号分隔",
            "example": "EQ001,EQ002"
          },
          "marketing_strategy_id": {
            "type": "integer",
            "description": "消费策略ID",
            "example": 100
          },
          "mobile": {
            "type": "string",
            "description": "手机号搜索",
            "example": "13800000000"
          },
          "nickname": {
            "type": "string",
            "description": "姓名搜索",
            "example": "张三"
          },
          "card_id": {
            "type": "string",
            "description": "卡号搜索"
          },
          "order_no": {
            "type": "string",
            "description": "订单号搜索"
          },
          "page": {
            "type": "integer",
            "example": 1
          }
        },
        "x-apifox-orders": [
          "start_date",
          "end_date",
          "source",
          "is_booking",
          "booking_type",
          "order_unified_status",
          "pay_type",
          "meal_times",
          "department_uuids",
          "restaurantIds",
          "equipment_codes",
          "marketing_strategy_id",
          "mobile",
          "nickname",
          "card_id",
          "order_no",
          "page"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "UploadRequest": {
        "type": "object",
        "required": [
          "dataset_id",
          "format_type",
          "files"
        ],
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7659346836330758207"
          },
          "format_type": {
            "type": "integer",
            "description": "0 文本，2 图片。1 表格知识库不支持 API 上传。",
            "enum": [
              0,
              2
            ],
            "example": 0
          },
          "chunk_strategy": {
            "type": "string",
            "description": "JSON 字符串，可不传；默认自动分段。",
            "example": "{\"chunk_type\":0}"
          },
          "files": {
            "type": "array",
            "description": "上传文件。文本支持 pdf、txt、doc、docx；图片支持 jpg、jpeg、png、gif、webp、bmp、heic、heif、tiff。",
            "items": {
              "type": "string",
              "format": "binary"
            }
          }
        },
        "x-apifox-orders": [
          "dataset_id",
          "format_type",
          "chunk_strategy",
          "files"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "BooleanResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PcMealOrderListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/StoreApiResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "example": 10001
                        },
                        "order_no": {
                          "type": "string",
                          "example": "202606130001"
                        },
                        "is_booking": {
                          "type": "integer",
                          "example": 1
                        },
                        "is_booking_text": {
                          "type": "string",
                          "example": "订餐"
                        },
                        "booking_type": {
                          "type": "integer",
                          "example": 1
                        },
                        "booking_type_text": {
                          "type": "string",
                          "example": "本人订餐"
                        },
                        "booking_verify_status": {
                          "type": "integer",
                          "example": 10
                        },
                        "booking_verify_status_text": {
                          "type": "string",
                          "example": "待核销"
                        },
                        "expense_owner_name": {
                          "type": "string",
                          "example": "测试部门账户"
                        }
                      },
                      "x-apifox-orders": [
                        "id",
                        "order_no",
                        "is_booking",
                        "is_booking_text",
                        "booking_type",
                        "booking_type_text",
                        "booking_verify_status",
                        "booking_verify_status_text",
                        "expense_owner_name"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  },
                  "total": {
                    "type": "integer",
                    "example": 1
                  },
                  "total_price": {
                    "type": "string",
                    "example": "15.00"
                  },
                  "pay_amount": {
                    "type": "string",
                    "example": "15.00"
                  }
                },
                "x-apifox-orders": [
                  "data",
                  "total",
                  "total_price",
                  "pay_amount"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DeleteDocumentRequest": {
        "type": "object",
        "required": [
          "document_ids"
        ],
        "properties": {
          "document_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "7659346836331233343"
            ]
          }
        },
        "x-apifox-orders": [
          "document_ids"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrintReceiptRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "打印内容（GBK 编码判断，不能超过 12K）。内容支持排版控制标签，例如：\n<BR> 换行；<L></L> 左对齐；<C></C> 居中；<R></R> 右对齐；\n<N></N> 正常；<HB></HB> 高一倍；<WB></WB> 宽一倍；<B></B> 放大一倍；<CB></CB> 放大一倍居中；\n<CUT> 自定义切刀；<HB2></HB2> 高二倍；<WB2></WB2> 宽二倍；<B2></B2> 放大二倍；<BOLD></BOLD> 加粗；\n<IMG></IMG> 打印已在平台上传的 LOGO（可通过 <IMG60> 自定义宽度，默认 40，范围 20-200，图片数据最大 30KB）；\n<CY ct=1></CY> 货币符号打印；\n<QRCODE s=6 e=L l=center>二维码内容</QRCODE>；\n<FONT w=\"0\" h=\"0\">...</FONT> 字体倍数放大（w/h 0-7）；\n<BARCODE t=CODE128 w=2 h=100 p=2>条码值</BARCODE>；\n<RH n=\"3\">...</RH> 行间距设置（n 0-5，需放在 <L>/<C>/<R> 之间，且内容≥2行才生效）；\n<P></P> 横向左右布局模式、<AREA></AREA> 区域打印（仅部分机型支持）。\n更多标签说明见文档。"
          },
          "copies": {
            "type": "integer",
            "description": "打印份数，默认 1，最大 5",
            "minimum": 1,
            "maximum": 5,
            "default": 1
          },
          "cutter": {
            "type": "integer",
            "description": "切刀控制开关：0 开启云端默认设置控制切刀；1 关闭云端切刀（可通过 <CUT> 标签自定义切刀位置）。仅支持切刀机型",
            "enum": [
              0,
              1
            ],
            "default": 0
          },
          "voice": {
            "type": "integer",
            "description": "声音播放模式：0 取消订单模式；1 静音模式；2 来单播放模式；3 有用户申请退单；默认 2",
            "enum": [
              0,
              1,
              2,
              3
            ],
            "default": 2
          },
          "mode": {
            "type": "integer",
            "description": "打印模式：0/未指定 检查在线（离线则不生成订单）；1 不检查在线直接生成订单（离线则缓存队列）",
            "enum": [
              0,
              1
            ],
            "default": 0
          },
          "expiresIn": {
            "type": "integer",
            "description": "订单有效期（秒）。超过该时间不自动打印；0 使用系统默认。使用该参数时需要 mode=1。取值范围：0 < expiresIn < 86400",
            "minimum": 0,
            "maximum": 86399
          },
          "payType": {
            "type": "integer",
            "description": "支付方式（41-55），仅支持金额播报的机型有效",
            "minimum": 41,
            "maximum": 55
          },
          "payMode": {
            "type": "integer",
            "description": "支付与否（59-61）：59 退款；60 到账；61 消费。仅支持金额播报的机型有效",
            "minimum": 59,
            "maximum": 61
          },
          "money": {
            "type": "number",
            "description": "支付金额（最多 2 位小数），仅支持金额播报的机型有效"
          },
          "attached": {
            "type": "string",
            "description": "推送接口附加值，由开发者平台产生，通过订单状态接口回调推送给开发者；云存储有效期 24 小时"
          },
          "backurlFlag": {
            "type": "integer",
            "description": "打印订单状态回调标识：[1-5]，对应开放平台后台“功能设置”里的打印接口回调标识",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "打印小票订单请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "copies",
          "cutter",
          "voice",
          "mode",
          "expiresIn",
          "payType",
          "payMode",
          "money",
          "attached",
          "backurlFlag"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "UpdateDocumentRequest": {
        "type": "object",
        "required": [
          "document_id"
        ],
        "properties": {
          "document_id": {
            "type": "string",
            "example": "7659346836331233343"
          },
          "document_name": {
            "type": "string",
            "example": "新版营养资料.pdf"
          },
          "update_rule": {
            "type": "string",
            "description": "Coze 文件更新策略，按 Coze 原始结构传 JSON 字符串"
          }
        },
        "x-apifox-orders": [
          "document_id",
          "document_name",
          "update_rule"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "OrderIdResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "订单编号（orderId）"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "ProgressRequest": {
        "type": "object",
        "required": [
          "dataset_id",
          "document_ids"
        ],
        "properties": {
          "dataset_id": {
            "type": "string",
            "example": "7656644527025766415"
          },
          "document_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "7656649709462274054",
              "7656649711444557867"
            ]
          }
        },
        "x-apifox-orders": [
          "dataset_id",
          "document_ids"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrintLabelRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "标签打印内容（GBK 编码判断，不能超过 12K）。注意：打印内容内（标签除外）尖括号需要转译：\"<\"→\"<\"，\">\"→\">\"。1mm=8dots。内容支持标签指令标签，例如：\n<PAGE n=\"2\"></PAGE> 分页/份数；\n<SIZE>width,height</SIZE> 设置标签纸宽高（单位 mm，需放在 PAGE 内生效）；\n<TEXT x=\"10\" y=\"100\" font=\"9\" w=\"1\" h=\"2\" r=\"0\">文本</TEXT>；\n<BC128 ...>CODE128</BC128>，<BC39 ...>CODE39</BC39>；\n<QRC x=\"20\" y=\"20\" s=\"2\" e=\"L\">二维码</QRC>；\n<IMG x=\"16\" y=\"32\" w=\"100\"> 打印平台已上传的 LOGO（空标签）；\n<SEQ ...> 方框；<L ...> 表格线。更多说明见文档。"
          },
          "copies": {
            "type": "integer",
            "description": "打印份数，默认 1，最大 5",
            "minimum": 1,
            "maximum": 5,
            "default": 1
          },
          "voice": {
            "type": "integer",
            "description": "声音播放模式：0 取消订单模式；1 静音模式；2 来单播放模式；3 有用户申请退单；默认 2",
            "enum": [
              0,
              1,
              2,
              3
            ],
            "default": 2
          },
          "mode": {
            "type": "integer",
            "description": "打印模式：0/未指定 检查在线（离线则不生成订单）；1 不检查在线直接生成订单（离线则缓存队列）",
            "enum": [
              0,
              1
            ],
            "default": 0
          },
          "expiresIn": {
            "type": "integer",
            "description": "订单有效期（秒）。超过该时间不自动打印；0 使用系统默认。使用该参数时需要 mode=1。取值范围：0 < expiresIn < 86400",
            "minimum": 0,
            "maximum": 86399
          },
          "payType": {
            "type": "integer",
            "description": "支付方式（41-55），仅支持金额播报的机型有效",
            "minimum": 41,
            "maximum": 55
          },
          "payMode": {
            "type": "integer",
            "description": "支付与否（59-61）：59 退款；60 到账；61 消费。仅支持金额播报的机型有效",
            "minimum": 59,
            "maximum": 61
          },
          "money": {
            "type": "number",
            "description": "支付金额（最多 2 位小数），仅支持金额播报的机型有效"
          },
          "attached": {
            "type": "string",
            "description": "推送接口附加值，由开发者平台产生，通过订单状态接口回调推送给开发者；云存储有效期 24 小时"
          },
          "backurlFlag": {
            "type": "integer",
            "description": "打印订单状态回调标识：[1-5]，对应开放平台后台“功能设置”里的打印接口回调标识",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "打印标签订单请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "copies",
          "voice",
          "mode",
          "expiresIn",
          "payType",
          "payMode",
          "money",
          "attached",
          "backurlFlag"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ProgressResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "document_id": {
                          "type": "string"
                        },
                        "document_name": {
                          "type": "string"
                        },
                        "status": {
                          "type": "integer",
                          "description": "0 处理中，1 已完成，9 失败"
                        },
                        "progress": {
                          "type": "number",
                          "example": 100
                        },
                        "status_descript": {
                          "type": "string"
                        }
                      },
                      "x-apifox-orders": [
                        "document_id",
                        "document_name",
                        "status",
                        "progress",
                        "status_descript"
                      ],
                      "x-apifox-ignore-properties": []
                    }
                  }
                },
                "x-apifox-orders": [
                  "data"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "SnList": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "打印机编号集合（字符串数组）",
        "x-apifox-folder": ""
      },
      "DiagnosticsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonResponse"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "base_url": {
                    "type": "string",
                    "example": "https://api.coze.cn"
                  },
                  "token_configured": {
                    "type": "boolean",
                    "example": true
                  },
                  "token_source": {
                    "type": "string",
                    "example": "system:coze_auth"
                  },
                  "token_mask": {
                    "type": "string",
                    "example": "pat_eS***G2xOUy"
                  }
                },
                "x-apifox-orders": [
                  "base_url",
                  "token_configured",
                  "token_source",
                  "token_mask"
                ],
                "x-apifox-ignore-properties": []
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "DelPrintersRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "snlist": {
            "$ref": "#/components/schemas/SnList"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "snlist"
        ],
        "additionalProperties": false,
        "description": "批量删除打印机请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "snlist"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DelPrintersResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/BatchOperationResult",
                "nullable": true
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "UpdPrinterRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "name": {
            "type": "string",
            "description": "打印机名称"
          },
          "cardno": {
            "type": "string",
            "description": "打印机流量卡号码"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "name"
        ],
        "additionalProperties": false,
        "description": "修改打印机信息请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "name",
          "cardno"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DelPrinterQueueRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "orderId": {
            "type": "string",
            "description": "订单编号。多个订单使用英文逗号\",\"分隔；每次最多支持清除 10 个订单"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "清空待打印队列请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "orderId"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "QueryOrderStateRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "orderId": {
            "type": "string",
            "description": "订单编号，由打印接口返回"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "orderId"
        ],
        "additionalProperties": false,
        "description": "查询订单是否打印成功请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "orderId"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "QueryOrderStatisRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "查询日期，格式 yyyy-MM-dd，如：2019-08-15"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "date"
        ],
        "additionalProperties": false,
        "description": "查询某天订单统计请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "date"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "OrderStatis": {
        "type": "object",
        "properties": {
          "printed": {
            "type": "integer",
            "description": "已打印订单数"
          },
          "waiting": {
            "type": "integer",
            "description": "等待打印订单数"
          }
        },
        "required": [
          "printed",
          "waiting"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "printed",
          "waiting"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "OrderStatisResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/OrderStatis",
                "nullable": true
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "QueryPrinterStatusRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "获取指定打印机状态请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterStatusValue": {
        "type": "integer",
        "enum": [
          0,
          1,
          2
        ],
        "description": "打印机状态值：0 离线；1 在线正常；2 在线异常（一般为缺纸）。离线判断：与服务器失联超过 30 秒",
        "x-apifox-folder": ""
      },
      "PrinterStatusResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/PrinterStatusValue",
                "nullable": true
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "QueryPrintersStatusRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "snlist": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "打印机编号数组（一次最多查询 20 台设备）",
            "maxItems": 20
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "snlist"
        ],
        "additionalProperties": false,
        "description": "批量获取打印机状态请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "snlist"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterStatusListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PrinterStatusValue"
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "批量返回打印机状态值，顺序与请求 snlist 一一对应"
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PlayVoiceRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "payType": {
            "type": "integer",
            "description": "支付方式（41-55），仅支持金额播报的机型有效",
            "minimum": 41,
            "maximum": 55
          },
          "payMode": {
            "type": "integer",
            "description": "支付与否（59-61）：59 退款；60 到账；61 消费。仅支持金额播报的机型有效",
            "minimum": 59,
            "maximum": 61
          },
          "money": {
            "type": "number",
            "description": "支付金额（最多 2 位小数），仅支持金额播报的机型有效"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "金额播报请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "payType",
          "payMode",
          "money"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ZeroStringResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "正确返回通常为字符串 \"0\""
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      },
      "PosPrintRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "打印内容：打印机可识别的经过 base64 加密后的 POS 指令数据（不能超过 12K）"
          },
          "copies": {
            "type": "integer",
            "description": "打印份数，默认 1，最大 5",
            "minimum": 1,
            "maximum": 5,
            "default": 1
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "POS 指令打印请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "copies"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "ControlBoxRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "钱箱控制请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PlayVoiceExtRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "语音播报内容（预定义语音序号组合），如 #62；具体序号需咨询技术支持"
          },
          "voiceTime": {
            "type": "integer",
            "description": "语音播报次数，默认 1",
            "minimum": 1,
            "default": 1
          },
          "voiceInterval": {
            "type": "integer",
            "description": "多次播报间隔（秒），仅 voiceTime>1 时有效",
            "minimum": 0
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "扩展语音播报请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "voiceTime",
          "voiceInterval"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PlayCustomVoiceRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "自定义语音播报内容（目前仅支持汉语）"
          },
          "voiceTime": {
            "type": "integer",
            "description": "语音播报次数，默认 1",
            "minimum": 1,
            "default": 1
          },
          "voiceInterval": {
            "type": "integer",
            "description": "多次播报间隔（秒），仅 voiceTime>1 时有效",
            "minimum": 0
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "自定义语音播报请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "voiceTime",
          "voiceInterval"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "UploadLogoRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          },
          "content": {
            "type": "string",
            "description": "店铺 LOGO 的 base64 内容（不包含 data:image/...;base64, 前缀）"
          },
          "labelMode": {
            "type": "integer",
            "description": "标签机（T271U、320B）有效且需要指定固定值 2"
          },
          "imageSize": {
            "type": "integer",
            "description": "LOGO 图片大小（标签机有效）：指定后，宽或高大于该值则等比缩放；未达到则保留原大小",
            "minimum": 1
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn",
          "content"
        ],
        "additionalProperties": false,
        "description": "店铺 LOGO 上传请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn",
          "content",
          "labelMode",
          "imageSize"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "DelUploadLogoRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "店铺 LOGO 删除请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterType": {
        "type": "string",
        "description": "打印机类型：00 58票据；01 58标签；02 80票据；03 80标签",
        "enum": [
          "00",
          "01",
          "02",
          "03"
        ],
        "x-apifox-folder": ""
      },
      "PrinterPaperSize": {
        "type": "object",
        "description": "纸张大小（单位 mm），针对标签机有效",
        "properties": {
          "gap": {
            "type": "integer",
            "description": "标签之间间隔"
          },
          "width": {
            "type": "integer",
            "description": "标签宽度"
          },
          "height": {
            "type": "integer",
            "description": "标签高度或长度"
          }
        },
        "required": [
          "gap",
          "width",
          "height"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "gap",
          "width",
          "height"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterInfo": {
        "type": "object",
        "description": "打印机基本信息（部分字段仅 4G 机型存在）",
        "properties": {
          "name": {
            "type": "string",
            "description": "打印机名称"
          },
          "sn": {
            "type": "string",
            "description": "设备编号"
          },
          "status": {
            "type": "string",
            "description": "打印机状态：Offline 离线、OnlinNormal 在线正常、OnlineMissingPaper 在线缺纸"
          },
          "type": {
            "$ref": "#/components/schemas/PrinterType"
          },
          "version": {
            "type": "string",
            "description": "打印机固件版本，如 V10.13"
          },
          "paperSize": {
            "$ref": "#/components/schemas/PrinterPaperSize"
          },
          "cutter": {
            "type": "boolean",
            "description": "是否带切刀：true 有切刀；false 无切刀"
          },
          "supportUyghur": {
            "type": "boolean",
            "description": "是否支持维语：true 支持；false 不支持"
          },
          "simValidity": {
            "type": "string",
            "description": "SIM 有效期（仅带 4G 接口机型）"
          },
          "expiryDays": {
            "type": "integer",
            "description": "剩余有效天数（仅带 4G 接口机型）"
          },
          "official": {
            "type": "boolean",
            "description": "是否官方卡：true 官方卡；false 非官方卡（仅带 4G 接口机型）"
          },
          "simStatus": {
            "type": "integer",
            "description": "卡状态码（仅带 4G 接口机型）：1 待激活；2 已激活；4 停机；6 可测试；7 库存；8 预销户；9 已销户；5 已过期"
          },
          "simStatusDesc": {
            "type": "string",
            "description": "卡状态描述（仅带 4G 接口机型）"
          }
        },
        "required": [
          "name",
          "sn",
          "status",
          "type",
          "version",
          "cutter",
          "supportUyghur"
        ],
        "additionalProperties": false,
        "x-apifox-orders": [
          "name",
          "sn",
          "status",
          "type",
          "version",
          "paperSize",
          "cutter",
          "supportUyghur",
          "simValidity",
          "expiryDays",
          "official",
          "simStatus",
          "simStatusDesc"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterInfoRequest": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "timestamp": {
            "$ref": "#/components/schemas/UnixTimestampSeconds"
          },
          "sign": {
            "$ref": "#/components/schemas/Sha1LowerHex40"
          },
          "debug": {
            "$ref": "#/components/schemas/DebugFlag"
          },
          "sn": {
            "type": "string",
            "description": "打印机编号"
          }
        },
        "required": [
          "user",
          "timestamp",
          "sign",
          "sn"
        ],
        "additionalProperties": false,
        "description": "获取打印机基本信息请求",
        "x-apifox-orders": [
          "user",
          "timestamp",
          "sign",
          "debug",
          "sn"
        ],
        "x-apifox-ignore-properties": [],
        "x-apifox-folder": ""
      },
      "PrinterInfoResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseEnvelope"
          },
          {
            "type": "object",
            "properties": {
              "data": {
                "$ref": "#/components/schemas/PrinterInfo",
                "nullable": true
              }
            },
            "x-apifox-orders": [
              "data"
            ],
            "x-apifox-ignore-properties": []
          }
        ],
        "x-apifox-folder": ""
      }
    },
    "responses": {
      "记录不存在": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "integer"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ],
              "x-apifox-orders": [
                "code",
                "message"
              ]
            }
          }
        }
      },
      "参数不正确": {
        "description": "",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "integer"
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "message"
              ],
              "x-apifox-orders": [
                "code",
                "message"
              ]
            }
          }
        }
      }
    },
    "securitySchemes": {
      "MiniAppToken": {
        "type": "apiKey",
        "in": "header",
        "name": "Access-Token",
        "description": "小程序登录 token。",
        "x-apifox-folder": "SecurityScheme"
      }
    }
  }
}
