{
  "openapi": "3.0.3",
  "info": {
    "title": "智谷天厨开放 SDK（全量接口）",
    "version": "2026-07-20",
    "description": "来源：https://doc.t-chef.cn/doc/5bmz5yw5o6l5yj55uu5b2v-C8B7VHVbOw\n浏览器导出时间：2026-07-20T11:55:48.321Z\n共 90 个接口契约，所有示例凭据均已脱敏。"
  },
  "servers": [
    {
      "url": "https://test.t-chef.cn",
      "description": "测试环境（本次唯一允许执行的远端环境）"
    },
    {
      "url": "https://openapi.t-chef.cn",
      "description": "正式环境（仅记录，禁止本次自动执行）"
    }
  ],
  "tags": [
    {
      "name": "公司管理/组织管理"
    },
    {
      "name": "文件上传"
    },
    {
      "name": "数据推送"
    },
    {
      "name": "菜谱管理/分类管理"
    },
    {
      "name": "公司管理/门店管理"
    },
    {
      "name": "公司管理/用户管理"
    },
    {
      "name": "公司管理/角色权限管理"
    },
    {
      "name": "设备&机型/设备管理"
    },
    {
      "name": "设备&机型/指令管理"
    },
    {
      "name": "设备&机型/机型管理"
    },
    {
      "name": "菜谱管理/分组管理"
    },
    {
      "name": "菜谱管理/菜谱"
    },
    {
      "name": "数据统计"
    },
    {
      "name": "食材调料/食材管理"
    },
    {
      "name": "食材调料/新版调料管理"
    }
  ],
  "paths": {
    "/openapi/v1/orgs": {
      "get": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "查询组织列表",
        "description": "# 接口说明\n\n系统会根据当前登录用户，自动获取用户所属组织及所有下级组织\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/orgs\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| orgFullName | String | N | 组织全称 |    |\n| orgCode | String | N | 组织编码 |    |\n| orgLevel | String | N | 组织层级 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| delFlag | Integer | Y | 删除标志 | 0-是，1-否 |\n| status | Integer | Y | 状态 | 0-正常，1-禁用 |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n\n示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"a04e74c3-930c-4516-a382-fc08c2cecf4f\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"coId\": \"example-id\",\n            \"parentId\": \"example-id\",\n            \"orgName\": \"乡村基品牌\",\n            \"orgFullName\": \"乡村基（重庆）投资有限公司-乡村基品牌\",\n            \"orgCode\": \"2\",\n            \"orgLevel\": \"/1/2/\",\n            \"contactor\": \"Zhen Weng\",\n            \"phone\": \"13800000000\",\n            \"email\": null,\n            \"regionType\": 1,\n            \"regionName\": \"北京市-北京市-东城区\",\n            \"address\": \"福建省莆田市\",\n            \"delFlag\": 0,\n            \"status\": 0,\n            \"syncDishFlag\": 1,\n            \"sortOrder\": 0,\n            \"remark\": \"\"\n        },\n        ...\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki57ue57uh5yix6kgo-MFgf89uHvl\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_orgs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "parentId": {
                            "type": "string",
                            "description": "上级组织ID；第一级组织的parentId为0"
                          },
                          "orgName": {
                            "type": "string",
                            "description": "组织名称"
                          },
                          "orgFullName": {
                            "type": "string",
                            "description": "组织全称"
                          },
                          "orgCode": {
                            "type": "string",
                            "description": "组织编码"
                          },
                          "orgLevel": {
                            "type": "string",
                            "description": "组织层级"
                          },
                          "contactor": {
                            "type": "string",
                            "description": "联系人"
                          },
                          "phone": {
                            "type": "string",
                            "description": "联系电话"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "邮箱"
                          },
                          "regionType": {
                            "type": "integer",
                            "description": "地区类型；1-中国，2-海外"
                          },
                          "regionName": {
                            "type": "string",
                            "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                          },
                          "address": {
                            "type": "string",
                            "description": "详细地址"
                          },
                          "delFlag": {
                            "type": "integer",
                            "description": "删除标志；0-是，1-否"
                          },
                          "status": {
                            "type": "integer",
                            "description": "状态；0-正常，1-禁用"
                          },
                          "syncDishFlag": {
                            "type": "integer",
                            "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序"
                          },
                          "remark": {
                            "type": "string",
                            "description": "备注"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "parentId",
                          "orgName",
                          "orgFullName",
                          "orgCode",
                          "orgLevel",
                          "contactor",
                          "phone",
                          "email",
                          "regionType",
                          "regionName",
                          "address",
                          "delFlag",
                          "status",
                          "syncDishFlag",
                          "sortOrder",
                          "remark"
                        ]
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": "example-id",
                      "coId": "example-id",
                      "parentId": "example-id",
                      "orgName": "乡村基品牌",
                      "orgFullName": "乡村基（重庆）投资有限公司-乡村基品牌",
                      "orgCode": "2",
                      "orgLevel": "/1/2/",
                      "contactor": "Zhen Weng",
                      "phone": "13800000000",
                      "email": null,
                      "regionType": 1,
                      "regionName": "北京市-北京市-东城区",
                      "address": "福建省莆田市",
                      "delFlag": 0,
                      "status": 0,
                      "syncDishFlag": 1,
                      "sortOrder": 0,
                      "remark": ""
                    }
                  ]
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki57ue57uh5yix6kgo-MFgf89uHvl",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "新建组织",
        "description": "# 接口说明\n\n新建组织机构\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/orgs\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| status | Integer | N | 状态 | 0-正常，1-禁用，默认0 |\n| syncDishFlag | Integer | N | 自动同步菜谱标志 | 0-不同步，1-启用同步，默认0 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n\n请求示例：\n\n```json\n{\n    \"parentId\": \"example-id\",\n    \"orgName\": \"华中分公司\",\n    \"contactor\": \"张三\",\n    \"phone\": \"13800000000\",\n    \"email\": \"\",\n    \"regionType\": 1,\n    \"regionName\": \"北京市-北京市-东城区\",\n    \"address\": \"西丽阳光工业区新丰大厦\",\n    \"syncDishFlag\": 1,\n    \"status\": 0,\n    \"sortOrder\": 0,\n    \"remark\": \"remark_1826d195567d\"\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 | 新建的组织ID |\n| coId | String | Y | 公司ID |    |\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| orgCode | String | N | 组织编码 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| delFlag | Integer | Y | 删除标志 | 0-是，1-否 |\n| status | Integer | Y | 状态 | 0-正常，1-禁用 |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"bf16c665-bc35-4b26-accc-e3b7e5b6a8f3\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"coId\": \"example-id\",\n        \"parentId\": \"example-id\",\n        \"orgName\": \"华中分公司\",\n        \"orgCode\": \"23\",\n        \"contactor\": \"contactor_29c285ba821c\",\n        \"phone\": \"13800000000\",\n        \"email\": \"\",\n        \"regionType\": 1,\n        \"regionName\": \"北京市-北京市-东城区\",\n        \"address\": \"address_39a82ad2b86d\",\n        \"syncDishFlag\": 1,\n        \"delFlag\": 0,\n        \"status\": 0,\n        \"sortOrder\": 0,\n        \"remark\": \"remark_1826d195567d\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu657ue57uh-Vwm0xqCsKL\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_orgs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parentId": {
                    "type": "string",
                    "description": "上级组织ID；第一级组织的parentId为0"
                  },
                  "orgName": {
                    "type": "string",
                    "description": "组织名称"
                  },
                  "contactor": {
                    "type": "string",
                    "description": "联系人"
                  },
                  "phone": {
                    "type": "string",
                    "description": "联系电话"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "regionType": {
                    "type": "integer",
                    "description": "地区类型；1-中国，2-海外"
                  },
                  "regionName": {
                    "type": "string",
                    "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                  },
                  "address": {
                    "type": "string",
                    "description": "详细地址"
                  },
                  "syncDishFlag": {
                    "type": "integer",
                    "description": "自动同步菜谱标志；0-不同步，1-启用同步，默认0"
                  },
                  "status": {
                    "type": "integer",
                    "description": "状态；0-正常，1-禁用，默认0"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "remark": {
                    "type": "string",
                    "description": "备注"
                  }
                },
                "required": [
                  "parentId",
                  "orgName",
                  "contactor",
                  "phone",
                  "email",
                  "regionType",
                  "regionName",
                  "address",
                  "syncDishFlag",
                  "status",
                  "sortOrder",
                  "remark"
                ]
              },
              "example": {
                "parentId": "example-id",
                "orgName": "华中分公司",
                "contactor": "张三",
                "phone": "13800000000",
                "email": "",
                "regionType": 1,
                "regionName": "北京市-北京市-东城区",
                "address": "西丽阳光工业区新丰大厦",
                "syncDishFlag": 1,
                "status": 0,
                "sortOrder": 0,
                "remark": "remark_1826d195567d"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键；新建的组织ID"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "parentId": {
                          "type": "string",
                          "description": "上级组织ID；第一级组织的parentId为0"
                        },
                        "orgName": {
                          "type": "string",
                          "description": "组织名称"
                        },
                        "orgCode": {
                          "type": "string",
                          "description": "组织编码"
                        },
                        "contactor": {
                          "type": "string",
                          "description": "联系人"
                        },
                        "phone": {
                          "type": "string",
                          "description": "联系电话"
                        },
                        "email": {
                          "type": "string",
                          "description": "邮箱"
                        },
                        "regionType": {
                          "type": "integer",
                          "description": "地区类型；1-中国，2-海外"
                        },
                        "regionName": {
                          "type": "string",
                          "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                        },
                        "address": {
                          "type": "string",
                          "description": "详细地址"
                        },
                        "syncDishFlag": {
                          "type": "integer",
                          "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                        },
                        "delFlag": {
                          "type": "integer",
                          "description": "删除标志；0-是，1-否"
                        },
                        "status": {
                          "type": "integer",
                          "description": "状态；0-正常，1-禁用"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "remark": {
                          "type": "string",
                          "description": "备注"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "parentId",
                        "orgName",
                        "orgCode",
                        "contactor",
                        "phone",
                        "email",
                        "regionType",
                        "regionName",
                        "address",
                        "syncDishFlag",
                        "delFlag",
                        "status",
                        "sortOrder",
                        "remark"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "coId": "example-id",
                    "parentId": "example-id",
                    "orgName": "华中分公司",
                    "orgCode": "23",
                    "contactor": "contactor_29c285ba821c",
                    "phone": "15312345678256",
                    "email": "",
                    "regionType": 1,
                    "regionName": "北京市-北京市-东城区",
                    "address": "address_39a82ad2b86d",
                    "syncDishFlag": 1,
                    "delFlag": 0,
                    "status": 0,
                    "sortOrder": 0,
                    "remark": "remark_1826d195567d"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu657ue57uh-Vwm0xqCsKL",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "更新组织",
        "description": "# 接口说明\n\n更新组织信息\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/orgs\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 组织ID |    |\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| status | Integer | N | 状态 | 0-正常，1-禁用，默认0 |\n| syncDishFlag | Integer | N | 自动同步菜谱标志 | 0-不同步，1-启用同步，默认0 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": \"example-id\",\n    \"parentId\": \"example-id\",\n    \"orgName\": \"华中分公司\",\n    \"contactor\": \"contactor_29c285ba821c\",\n    \"phone\": \"13800000000\",\n    \"email\": \"\",\n    \"regionType\": 1,\n    \"regionName\": \"北京市-北京市-东城区\",\n    \"address\": \"address_39a82ad2b86d\",\n    \"syncDishFlag\": 1,\n    \"status\": 0,\n    \"sortOrder\": 0,\n    \"remark\": \"remark_1826d195567d\"\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"更新成功\",\n    \"requestId\": \"2ce935c7-3ecc-4864-ad5d-96857bfd3e30\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pu05paw57ue57uh-On4aiytXm2\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_orgs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "parentId": {
                    "type": "string",
                    "description": "上级组织ID；第一级组织的parentId为0"
                  },
                  "orgName": {
                    "type": "string",
                    "description": "组织名称"
                  },
                  "contactor": {
                    "type": "string",
                    "description": "联系人"
                  },
                  "phone": {
                    "type": "string",
                    "description": "联系电话"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "regionType": {
                    "type": "integer",
                    "description": "地区类型；1-中国，2-海外"
                  },
                  "regionName": {
                    "type": "string",
                    "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                  },
                  "address": {
                    "type": "string",
                    "description": "详细地址"
                  },
                  "syncDishFlag": {
                    "type": "integer",
                    "description": "自动同步菜谱标志；0-不同步，1-启用同步，默认0"
                  },
                  "status": {
                    "type": "integer",
                    "description": "状态；0-正常，1-禁用，默认0"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "remark": {
                    "type": "string",
                    "description": "备注"
                  }
                },
                "required": [
                  "id",
                  "parentId",
                  "orgName",
                  "contactor",
                  "phone",
                  "email",
                  "regionType",
                  "regionName",
                  "address",
                  "syncDishFlag",
                  "status",
                  "sortOrder",
                  "remark"
                ]
              },
              "example": {
                "id": "example-id",
                "parentId": "example-id",
                "orgName": "华中分公司",
                "contactor": "contactor_29c285ba821c",
                "phone": "15312345678256",
                "email": "",
                "regionType": 1,
                "regionName": "北京市-北京市-东城区",
                "address": "address_39a82ad2b86d",
                "syncDishFlag": 1,
                "status": 0,
                "sortOrder": 0,
                "remark": "remark_1826d195567d"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "更新成功",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pu05paw57ue57uh-On4aiytXm2",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/orgs/tree": {
      "get": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "查询组织树形列表",
        "description": "# 接口说明\n\n\n:::tip\n与 [查询组织列表](/doc/5pl6ki57ue57uh5yix6kgo-0N9FOD58zV) 接口一样，只是返回的是树形的列表\n\n:::\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/orgs/tree\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| orgFullName | String | N | 组织全称 |    |\n| orgCode | String | N | 组织编码 |    |\n| orgLevel | String | N | 组织层级 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| delFlag | Integer | Y | 删除标志 | 0-是，1-否 |\n| status | Integer | Y | 状态 | 0-正常，1-禁用 |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n| children | List<Object> | N | 下级组织列表 | 里面Object和当前表的属性一致 |\n\n示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"50c07dc0-17e6-4eb0-a58b-8af6ab028427\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"coId\": \"example-id\",\n            \"parentId\": \"0\",\n            \"orgName\": \"乡村基投资有限公司\",\n            \"orgFullName\": \"乡村基投资有限公司\",\n            \"description\": null,\n            \"orgCode\": \"1\",\n            \"orgLevel\": \"/1/\",\n            \"contactor\": \"测试用户\",\n            \"phone\": \"13800000000\",\n            \"email\": null,\n            \"regionType\": 1,\n            \"regionName\": \"北京市-北京市-东城区\",\n            \"address\": \"正阳工业园区园区路白家河标准化厂房A栋5楼\",\n            \"syncDishFlag\": 1,\n            \"delFlag\": 0,\n            \"status\": 0,\n            \"sortOrder\": 0,\n            \"spread\": true,\n            \"createTime\": \"2024-01-31 10:25:52\",\n            \"createUser\": \"1\",\n            \"updateTime\": \"2024-03-20 10:27:58\",\n            \"updateUser\": \"121\",\n            \"children\": [\n                {\n                    \"id\": \"example-id\",\n                    \"coId\": \"example-id\",\n                    \"parentId\": \"example-id\",\n                    \"orgName\": \"乡村基品牌\",\n                    \"description\": null,\n                    \"orgCode\": \"2\",\n                    \"orgLevel\": \"/1/2/\",\n                    \"contactor\": \"Zhen Weng\",\n                    \"phone\": \"13800000000\",\n                    \"email\": null,\n                     \"regionType\": 1,\n                     \"regionName\": \"北京市-北京市-东城区\",\n                    \"address\": \"福建省莆田市\",\n                    \"syncDishFlag\": 1,\n                    \"delFlag\": 0,\n                    \"status\": 0,\n                    \"sortOrder\": 0,\n                    \"spread\": true,\n                    \"createTime\": \"2024-02-19 16:01:46\",\n                    \"createUser\": \"121\",\n                    \"updateTime\": \"2024-03-20 10:28:09\",\n                    \"updateUser\": \"121\"\n                },\n                ...\n            ]\n        }\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki57ue57uh5qcr5b2i5yix6kgo-JH9MUbbvJm\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_orgs_tree",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "parentId": {
                            "type": "string",
                            "description": "上级组织ID；第一级组织的parentId为0"
                          },
                          "orgName": {
                            "type": "string",
                            "description": "组织名称"
                          },
                          "orgFullName": {
                            "type": "string",
                            "description": "组织全称"
                          },
                          "description": {
                            "nullable": true
                          },
                          "orgCode": {
                            "type": "string",
                            "description": "组织编码"
                          },
                          "orgLevel": {
                            "type": "string",
                            "description": "组织层级"
                          },
                          "contactor": {
                            "type": "string",
                            "description": "联系人"
                          },
                          "phone": {
                            "type": "string",
                            "description": "联系电话"
                          },
                          "email": {
                            "type": "string",
                            "nullable": true,
                            "description": "邮箱"
                          },
                          "regionType": {
                            "type": "integer",
                            "description": "地区类型；1-中国，2-海外"
                          },
                          "regionName": {
                            "type": "string",
                            "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                          },
                          "address": {
                            "type": "string",
                            "description": "详细地址"
                          },
                          "syncDishFlag": {
                            "type": "integer",
                            "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                          },
                          "delFlag": {
                            "type": "integer",
                            "description": "删除标志；0-是，1-否"
                          },
                          "status": {
                            "type": "integer",
                            "description": "状态；0-正常，1-禁用"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序"
                          },
                          "spread": {
                            "type": "boolean"
                          },
                          "createTime": {
                            "type": "string"
                          },
                          "createUser": {
                            "type": "string"
                          },
                          "updateTime": {
                            "type": "string"
                          },
                          "updateUser": {
                            "type": "string"
                          },
                          "children": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "coId": {
                                  "type": "string"
                                },
                                "parentId": {
                                  "type": "string"
                                },
                                "orgName": {
                                  "type": "string"
                                },
                                "description": {
                                  "nullable": true
                                },
                                "orgCode": {
                                  "type": "string"
                                },
                                "orgLevel": {
                                  "type": "string"
                                },
                                "contactor": {
                                  "type": "string"
                                },
                                "phone": {
                                  "type": "string"
                                },
                                "email": {
                                  "nullable": true
                                },
                                "regionType": {
                                  "type": "integer"
                                },
                                "regionName": {
                                  "type": "string"
                                },
                                "address": {
                                  "type": "string"
                                },
                                "syncDishFlag": {
                                  "type": "integer"
                                },
                                "delFlag": {
                                  "type": "integer"
                                },
                                "status": {
                                  "type": "integer"
                                },
                                "sortOrder": {
                                  "type": "integer"
                                },
                                "spread": {
                                  "type": "boolean"
                                },
                                "createTime": {
                                  "type": "string"
                                },
                                "createUser": {
                                  "type": "string"
                                },
                                "updateTime": {
                                  "type": "string"
                                },
                                "updateUser": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "id",
                                "coId",
                                "parentId",
                                "orgName",
                                "description",
                                "orgCode",
                                "orgLevel",
                                "contactor",
                                "phone",
                                "email",
                                "regionType",
                                "regionName",
                                "address",
                                "syncDishFlag",
                                "delFlag",
                                "status",
                                "sortOrder",
                                "spread",
                                "createTime",
                                "createUser",
                                "updateTime",
                                "updateUser"
                              ]
                            },
                            "description": "下级组织列表；里面Object和当前表的属性一致"
                          },
                          "remark": {
                            "type": "string",
                            "description": "备注"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "parentId",
                          "orgName",
                          "orgFullName",
                          "description",
                          "orgCode",
                          "orgLevel",
                          "contactor",
                          "phone",
                          "email",
                          "regionType",
                          "regionName",
                          "address",
                          "syncDishFlag",
                          "delFlag",
                          "status",
                          "sortOrder",
                          "spread",
                          "createTime",
                          "createUser",
                          "updateTime",
                          "updateUser",
                          "children"
                        ]
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": "example-id",
                      "coId": "example-id",
                      "parentId": "0",
                      "orgName": "乡村基投资有限公司",
                      "orgFullName": "乡村基投资有限公司",
                      "description": null,
                      "orgCode": "1",
                      "orgLevel": "/1/",
                      "contactor": "测试用户",
                      "phone": "13800000000",
                      "email": null,
                      "regionType": 1,
                      "regionName": "北京市-北京市-东城区",
                      "address": "正阳工业园区园区路白家河标准化厂房A栋5楼",
                      "syncDishFlag": 1,
                      "delFlag": 0,
                      "status": 0,
                      "sortOrder": 0,
                      "spread": true,
                      "createTime": "2024-01-31 10:25:52",
                      "createUser": "1",
                      "updateTime": "2024-03-20 10:27:58",
                      "updateUser": "121",
                      "children": [
                        {
                          "id": "example-id",
                          "coId": "example-id",
                          "parentId": "example-id",
                          "orgName": "乡村基品牌",
                          "description": null,
                          "orgCode": "2",
                          "orgLevel": "/1/2/",
                          "contactor": "Zhen Weng",
                          "phone": "13800000000",
                          "email": null,
                          "regionType": 1,
                          "regionName": "北京市-北京市-东城区",
                          "address": "福建省莆田市",
                          "syncDishFlag": 1,
                          "delFlag": 0,
                          "status": 0,
                          "sortOrder": 0,
                          "spread": true,
                          "createTime": "2024-02-19 16:01:46",
                          "createUser": "121",
                          "updateTime": "2024-03-20 10:28:09",
                          "updateUser": "121"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki57ue57uh5qcr5b2i5yix6kgo-JH9MUbbvJm",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/orgs/{id}": {
      "get": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "查询组织详情",
        "description": "# 接口说明\n\n查询单个组织详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/orgs/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n//id对应位置如下所示：\n【GET】 http://[ip]:[port]/openapi/v1/orgs/example-id\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| parentId | String | Y | 上级组织ID | 第一级组织的parentId为0 |\n| orgName | String | Y | 组织名称 |    |\n| orgFullName | String | N | 组织全称 |    |\n| orgCode | String | N | 组织编码 |    |\n| orgLevel | String | N | 组织层级 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| delFlag | Integer | Y | 删除标志 | 0-是，1-否 |\n| status | Integer | Y | 状态 | 0-正常，1-禁用 |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| sortOrder | Integer | N | 排序 |    |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"b8ac2a67-9eee-4df9-8ec7-a1b8d6a65a4f\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"coId\": \"example-id\",\n        \"parentId\": \"example-id\",\n        \"orgName\": \"乡村基品牌\",\n        \"orgFullName\": null,\n        \"orgCode\": \"2\",\n        \"orgLevel\": null,\n        \"contactor\": \"Zhen Weng\",\n        \"phone\": \"13800000000\",\n        \"email\": null,\n        \"regionType\": 1,\n        \"regionName\": \"北京市-北京市-东城区\",\n        \"address\": \"福建省莆田市\",\n        \"delFlag\": 0,\n        \"status\": 0,\n        \"syncDishFlag\": 1,\n        \"sortOrder\": 0,\n        \"remark\": \"\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki57ue57uh6km5oof-xQMuDWLaAN\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_orgs_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "parentId": {
                          "type": "string",
                          "description": "上级组织ID；第一级组织的parentId为0"
                        },
                        "orgName": {
                          "type": "string",
                          "description": "组织名称"
                        },
                        "orgFullName": {
                          "type": "string",
                          "description": "组织全称"
                        },
                        "orgCode": {
                          "type": "string",
                          "description": "组织编码"
                        },
                        "orgLevel": {
                          "type": "string",
                          "description": "组织层级"
                        },
                        "contactor": {
                          "type": "string",
                          "description": "联系人"
                        },
                        "phone": {
                          "type": "string",
                          "description": "联系电话"
                        },
                        "email": {
                          "type": "string",
                          "description": "邮箱"
                        },
                        "regionType": {
                          "type": "integer",
                          "description": "地区类型；1-中国，2-海外"
                        },
                        "regionName": {
                          "type": "string",
                          "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                        },
                        "address": {
                          "type": "string",
                          "description": "详细地址"
                        },
                        "delFlag": {
                          "type": "integer",
                          "description": "删除标志；0-是，1-否"
                        },
                        "status": {
                          "type": "integer",
                          "description": "状态；0-正常，1-禁用"
                        },
                        "syncDishFlag": {
                          "type": "integer",
                          "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "remark": {
                          "type": "string",
                          "description": "备注"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "parentId",
                        "orgName",
                        "delFlag",
                        "status",
                        "syncDishFlag"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki57ue57uh6km5oof-xQMuDWLaAN",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      },
      "delete": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "删除组织",
        "description": "# 接口说明\n\n删除组织机构\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/orgs/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n//id对应位置如下所示：\n【DELETE】 http://[ip]:[port]/openapi/v1/orgs/example-id\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"删除成功\",\n    \"requestId\": \"17fbc9ee-510b-4515-ba82-70390601e90b\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk57ue57uh-k86d7wrAUc\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_orgs_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "删除成功",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk57ue57uh-k86d7wrAUc",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/regions": {
      "get": {
        "tags": [
          "公司管理/组织管理"
        ],
        "summary": "查询行政区域列表",
        "description": "# 接口说明\n\n查询行政区域列表\n\n\n:::info\n返回的是树形列表\n\n:::\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/regions\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| pid | Integer | N | 父级ID | 第一级是pid=0 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n// 请求参数对应位置如下所示：\n[GET] http://[ip]:[port]/openapi/v1/regions?pid=0\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| code | String | Y | 行政区划代码 |    |\n| name | String | Y | 名称 |    |\n| pid | Integer | Y | 上级ID | 第一级是pid=0 |\n| type | String | Y | 类型 | 0-国家，1-省、直辖市，2-市，3-区 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"dd40b0a4-69fb-4bcf-acc5-325909f393cf\",\n    \"data\": [\n        {\n            \"id\": 10000000,\n            \"code\": \"100000\",\n            \"name\": \"中国\",\n            \"pid\": 0,\n            \"type\": \"0\",\n            \"children\": [\n                {\"id\": 1000001, \"code\": \"100022\", \"name\": \"北京\", \"pid\": 10000000, \"type\": \"1\"},\n                ...\n            ]\n        }\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6kgm5ps5yy65zf5yix6kgo-Q9Q2Lpu1aj\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_regions",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "pid",
            "in": "query",
            "required": false,
            "description": "父级ID；第一级是pid=0",
            "schema": {
              "type": "integer"
            },
            "example": "0",
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "主键"
                          },
                          "code": {
                            "type": "string",
                            "description": "行政区划代码"
                          },
                          "name": {
                            "type": "string",
                            "description": "名称"
                          },
                          "pid": {
                            "type": "integer",
                            "description": "上级ID；第一级是pid=0"
                          },
                          "type": {
                            "type": "string",
                            "description": "类型；0-国家，1-省、直辖市，2-市，3-区"
                          },
                          "children": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "integer"
                                },
                                "code": {
                                  "type": "string"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "pid": {
                                  "type": "integer"
                                },
                                "type": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "id",
                                "code",
                                "name",
                                "pid",
                                "type"
                              ]
                            }
                          }
                        },
                        "required": [
                          "id",
                          "code",
                          "name",
                          "pid",
                          "type",
                          "children"
                        ]
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": 10000000,
                      "code": "100000",
                      "name": "中国",
                      "pid": 0,
                      "type": "0",
                      "children": [
                        {
                          "id": 1000001,
                          "code": "100022",
                          "name": "北京",
                          "pid": 10000000,
                          "type": "1"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6kgm5ps5yy65zf5yix6kgo-Q9Q2Lpu1aj",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/组织管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/upload/signed-url": {
      "get": {
        "tags": [
          "文件上传"
        ],
        "summary": "获取临时上传地址",
        "description": "# 接口说明\n\n调用方在上传文件时需要先调用这个接口，获取临时签名地址，通过这个地址直接将文件上传到文件服务器。\n\n\n:::info\n这是目前主流的做法，文件不需要经过后台，不占用后台服务器资源。\n\n:::\n\n\n:::warning\n这个接口必须登录才能调用，适合手机App等需要验证使用的调用方。\n\n:::\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/upload/signed-url\n\n是否登录：**==必须登录==**\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| fileType | String | Y | 文件类型 |    |\n| fileName | String | Y | 文件名称 | 必须带有扩展名后缀，不然上传的文件也没有扩展名，到时候无法展示 |\n\n==fileType取值：==\n\n| fileType | 描述 |\n|----|----|\n| ==dish_image== | ==菜谱相关图片== |\n| experiment_image | 实验记录图片 |\n| company_logo | 公司logo |\n| school_image | 智谷学堂图片 |\n| school_video | 智谷学堂视频 |\n| temp_image | 临时图片 |\n| temp_video | 临时视频 |\n| components | 部件库文件 |\n| device_configs | 设备配置文件 |\n| logs | 设备运行期间的日志，主要是临时排查问题用 |\n\n* **Body**\n\n无\n\n\n## 上传菜谱图片示例\n\n```json\n{{base-openapi-url}}/openapi/v1/upload/signed-url?fileType=dish_image&fileName=test.jpg\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| contentType | String | Y | 文件Content-Type | \n:::warning\n前端上传时必须使用此值作为请求头的Content-Type，否则OSS会返回403  \n\n::: |\n| signedUrl | String | Y | 临时签名地址 | 通过这个地址上传文件 |\n| fileUrl | String | Y | 文件最终访问地址 | 比如菜谱图片上传后，这个地址就是最终图片的访问地址，调用新建菜谱的时候需要回传给服务器 |\n\n\n1. **==临时签名地址==**有效期是30秒，如果30秒内没有触发上传动作这个地址将会失效\n2. **==通过这个地址上传文件：==[==上传文件==](/doc/5lik5lyg5pah5lu2-NhqnEX3xF5)**\n\n响应示例：\n\n```json\n{\r\n    \"code\": \"00000\",\r\n    \"message\": \"操作成功\",\r\n    \"requestId\": \"e0654690-47bf-41d7-b90a-0e9ba7f587dc\",\r\n    \"data\": {\r\n        \"signedUrl\": \"http://smart-tchef-dev.oss-cn-shenzhen.aliyuncs.com/device_configs/0046/1055/86000000000/20240801115310574822.json?Expires={{tchef_oss_expires}}&OSSAccessKeyId={{tchef_oss_access_key_id}}&Signature={{tchef_oss_signature}}\",\r\n        \"fileUrl\": \"https://smart-tchef-dev.oss-cn-shenzhen.aliyuncs.com/device_configs/0046/1055/86000000000/20240801115310574822.json\"        \r\n    }\r\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/6i635yw5li05pe25lik5lyg5zyw5z2a-WcYhmRVbre\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_upload_signed_url",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "fileType",
            "in": "query",
            "required": true,
            "description": "文件类型",
            "schema": {
              "type": "string"
            },
            "example": "dish_image",
            "x-source-order": 0
          },
          {
            "name": "fileName",
            "in": "query",
            "required": true,
            "description": "文件名称；必须带有扩展名后缀，不然上传的文件也没有扩展名，到时候无法展示",
            "schema": {
              "type": "string"
            },
            "example": "test.jpg",
            "x-source-order": 1
          },
          {
            "name": "fileType",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "example": "dish_image",
            "x-source-order": 2
          },
          {
            "name": "----",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "dish_image",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 4
          },
          {
            "name": "experiment_image",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 5
          },
          {
            "name": "company_logo",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 6
          },
          {
            "name": "school_image",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 7
          },
          {
            "name": "school_video",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 8
          },
          {
            "name": "temp_image",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 9
          },
          {
            "name": "temp_video",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 10
          },
          {
            "name": "components",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 11
          },
          {
            "name": "device_configs",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 12
          },
          {
            "name": "logs",
            "in": "query",
            "required": false,
            "description": "",
            "schema": {
              "type": "string"
            },
            "x-source-order": 13
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "signedUrl": {
                          "type": "string",
                          "description": "临时签名地址；通过这个地址上传文件"
                        },
                        "fileUrl": {
                          "type": "string",
                          "description": "文件最终访问地址；比如菜谱图片上传后，这个地址就是最终图片的访问地址，调用新建菜谱的时候需要回传给服务器"
                        },
                        "contentType": {
                          "type": "string",
                          "description": "文件Content-Type"
                        }
                      },
                      "required": [
                        "signedUrl",
                        "fileUrl",
                        "contentType"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": {
                    "signedUrl": "http://smart-tchef-dev.oss-cn-shenzhen.aliyuncs.com/device_configs/0046/1055/86004600012/20240801115310574822.json?Expires=1722484400&OSSAccessKeyId=LTAI4FniWBzaKaT4UDq835CA&Signature=QmLo882YmX5HJh8dc6pu5zfgX7I%3D",
                    "fileUrl": "https://smart-tchef-dev.oss-cn-shenzhen.aliyuncs.com/device_configs/0046/1055/86004600012/20240801115310574822.json"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/6i635yw5li05pe25lik5lyg5zyw5z2a-WcYhmRVbre",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "文件上传",
        "x-apifox-status": "released"
      }
    },
    "/__dynamic-upload-url__": {
      "put": {
        "tags": [
          "文件上传"
        ],
        "summary": "临时地址上传文件",
        "description": "**==参考文档：==**\n\n\\[1\\] [Java通过签名url上传文件](https://help.aliyun.com/zh/oss/developer-reference/upload-an-object-using-a-signed-url-generated-with-oss-sdk-for-java?spm=a2c4g.11186623.help-menu-31815.d_5_2_0_1_0_7.4bd31a5fTuwnow)\n\n\\[2\\] [Android通过签名url上传文件](https://help.aliyun.com/zh/oss/developer-reference/authorize-access?spm=a2c4g.11186623.0.0.462a5436t9I8AL#sectiondiv-vtn-5l7-s1k)\n\n\\[3\\] [阿里云OSS服务官方文档](https://help.aliyun.com/zh/oss/?spm=a2c4g.11186623.0.0.3f06de53F4KkV7)\n\n\n# 接口说明\n\n在调用这个接口前，必须先调用【[获取临时上传地址](/doc/6i635yw5li05pe25lik5lyg5zyw5z2a-WcYhmRVbre)】接口获取 `上传地址` 和 `contentType`，然后才能进行上传。\n\n# 接口地址\n\n请求地址：==【**PUT**】== 地址通过【[获取临时上传地址](/doc/6i635yw5li05pe25lik5lyg5zyw5z2a-WcYhmRVbre)】接口获取\n\n是否登录：**==不用登录==**\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 |\n|----|----|\n| `Content-Type` | 通过【[获取临时上传地址](/doc/6i635yw5li05pe25lik5lyg5zyw5z2a-WcYhmRVbre)】接口获取 |\n\n\n:::warning\n必须传递正确的 Content-Type，否则会上传失败。\n\n:::\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n将文件转换成byte\\[\\]字节流上传\n\n\n请求示例：\n\n无\n\n# 响应参数\n\n上传成功后不会返回任何参数，如果返回码是`200`，就表示上传成功，否则上传失败。\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5li05pe25zyw5z2a5lik5lyg5pah5lu2-yzzfddWwTE\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_dynamic_upload_url",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "按第三方文档约定的成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5li05pe25zyw5z2a5lik5lyg5pah5lu2-yzzfddWwTE",
        "x-tchef-test-mode": "contract-only",
        "x-tchef-contract-only": true,
        "x-apifox-folder": "文件上传",
        "x-apifox-status": "released"
      }
    },
    "/__callback/tchef/cooking-logs": {
      "post": {
        "tags": [
          "数据推送"
        ],
        "summary": "数据推送",
        "description": "# 接口说明\n\n平台在设备上传烹饪日志后，会通过 HTTP POST 将日志数据推送到用户方配置的接收地址。用户方需提供一个公网可访问的 HTTP(S) 接口，接收推送数据并返回 HTTP 200 状态码。\n\n# 对接准备\n\n**用户方提供：**\n\n| 信息 | 说明 |\n|:---|:---|\n| 接收地址（webhook URL） | 公网可访问的 HTTP(S) 接口地址 |\n\n\n**智谷方提供：**\n\n| 信息 | 说明 |\n|:---|:---|\n| 签名密钥（secret） | 32 位随机字符串，用于 HMAC-SHA256 验签，详见下方「签名验证」章节 |\n| 推送数据类型 | 确认需要接收哪些类型的数据（目前仅支持烹饪日志，其他日志后续有需要再提供） |\n\n\n**对接流程：**\n\n```mermaidjs\nsequenceDiagram\n    participant 贵方\n    participant 我方\n    贵方->>我方: 1. 提供接收地址\n    我方->>我方: 2. 配置推送参数，生成签名密钥\n    我方->>贵方: 3. 提供签名密钥\n    我方->>贵方: 4. 发送测试推送\n    贵方->>我方: 5. 确认接收正常\n    Note over 贵方,我方: 6. 正式上线\n```\n\n# 接入须知\n\n\n1. 接收接口需公网可访问，建议使用 HTTPS\n2. 接口处理时间建议控制在 10 秒内，超时会被视为推送失败\n3. 推送失败会自动重试，最多 5 次，间隔逐步递增（30秒 → 2分钟 → 10分钟 → 30分钟 → 2小时）\n4. 同一条数据可能因重试推送多次，请根据 `traceId` 去重\n5. 我们会提供签名密钥，请务必验签以确保请求来源可信\n6. 如需调整推送配置（地址变更、暂停推送等），请联系我方运维人员\n\n# 接口地址\n\n请求地址：==【**POST**】== 由贵方提供的接收地址\n\n请求方向：**平台 → 贵方服务器**\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|:---:|:---|:---|\n| `Content-Type` | application/json | 固定值 |\n| `X-Webhook-Signature` | HMAC-SHA256 签名值 | 用于验证请求来源 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---|\n| traceId | String | Y | 追踪ID | 唯一标识本次推送，用于去重和问题追踪 |\n| eventType | String | Y | 事件类型 | 当前固定为 `cook_log` |\n| timestamp | Long | Y | 推送时间戳 | 毫秒级 Unix 时间戳 |\n| data | List | Y | 烹饪日志列表 | 一次推送可能包含多条日志 |\n\n**data 中每条烹饪日志的字段：**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---|\n| id | Long | Y | 日志主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID | 未绑定门店则为 `0` |\n| shopName | String | N | 门店名称 |    |\n| devSn | String | N | 设备序列号 |    |\n| deviceName | String | N | 设备名称 |    |\n| cookingTime | String | N | 烹饪开始时间 | 格式：`yyyy-MM-dd HH:mm:ss` |\n| cookingDuration | Integer | N | 烹饪时长 | 单位：秒 |\n| dishId | String | N | 菜谱ID |    |\n| dishName | String | N | 菜谱名称 |    |\n| dishCode | String | N | 菜谱编码 |    |\n| dishSource | String | N | 菜谱来源 | 10-本地菜谱，50-测试菜谱，60-手动烹饪 |\n| labelNames | String | N | 菜谱分组名称 | 多个用逗号隔开 |\n| powerConsumption | BigDecimal | N | 烹饪耗电量 | 单位：w/h |\n| createtime | String | N | 创建时间 | 格式：`yyyy-MM-dd HH:mm:ss` |\n| totalWeight | BigDecimal | N | 总重量 | 单位：g |\n| materialList | List | N | 原料明细 | 可能为空 |\n| temperatureList | List | N | 温度数据 | 可能为空 |\n\n**materialList 原料明细字段：**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---|\n| actionNo | String | N | 动作编号 |    |\n| actionName | String | N | 动作名称 |    |\n| name | String | N | 原料名称 |    |\n| weight | BigDecimal | N | 重量 | 单位：g |\n\n请求示例：\n\n```json\n{\n  \"traceId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"eventType\": \"cook_log\",\n  \"timestamp\": 13800000000,\n  \"data\": [\n    {\n      \"id\": 12345,\n      \"coId\": \"example-id\",\n      \"orgId\": \"org001\",\n      \"shopId\": \"shop001\",\n      \"shopName\": \"深圳南山店\",\n      \"devSn\": \"86000000000\",\n      \"deviceName\": \"1号炒菜机\",\n      \"cookingTime\": \"2026-04-13 14:25:00\",\n      \"cookingDuration\": 180,\n      \"dishSource\": \"10\",\n      \"dishName\": \"宫保鸡丁\",\n      \"dishCode\": \"100100010001\",\n      \"labelNames\": \"川菜,热菜\",\n      \"powerConsumption\": 1.25,\n      \"createtime\": \"2026-04-13 14:30:00\",\n      \"totalWeight\": 500.00,\n      \"materialList\": [\n        {\n          \"actionNo\": \"01\",\n          \"actionName\": \"投料1\",\n          \"name\": \"鸡丁\",\n          \"weight\": 200.00\n        },\n        {\n          \"actionNo\": \"02\",\n          \"actionName\": \"投料2\",\n          \"name\": \"花生米\",\n          \"weight\": 50.00\n        }\n      ]\n    }\n  ]\n}\n```\n\n# 响应参数\n\n贵方接口只需返回 HTTP 200 状态码即可，响应体内容不做要求。\n\n| HTTP 状态码 | 平台处理 |\n|:---:|:---|\n| 2xx | 视为推送成功 |\n| 其他 | 视为推送失败，进入重试队列 |\n\n# 签名验证\n\n平台会提供签名密钥（secret），而且会在请求头 `X-Webhook-Signature` 中携带签名值。\n\n\n:::info\n不强制要求验签，但是建议验签，保证数据可靠性。\n\n:::\n\n**验签步骤：**\n\n\n1. 从请求头获取 `X-Webhook-Signature` 的值\n2. 用约定的 secret 对请求体（原始 JSON 字符串）计算 HMAC-SHA256\n3. 将计算结果转为小写十六进制字符串\n4. 与请求头中的签名值比对，一致则验签通过\n\n**Java 验签示例：**\n\n```java\n\nimport javax.crypto.Mac;\nimport javax.crypto.spec.SecretKeySpec;\nimport java.nio.charset.StandardCharsets;\n\npublic boolean verifySignature(String secret, String requestBody, String signature) {\n    try {\n        Mac mac = Mac.getInstance(\"HmacSHA256\");\n        SecretKeySpec keySpec = new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), \"HmacSHA256\");\n        mac.init(keySpec);\n        byte[] hash = mac.doFinal(requestBody.getBytes(StandardCharsets.UTF_8));\n        StringBuilder sb = new StringBuilder();\n        for (byte b : hash) {\n            sb.append(String.format(\"%02x\", b));\n        }\n        return sb.toString().equals(signature);\n    } catch (Exception e) {\n        return false;\n    }\n}\n```\n\n**Python 验签示例：**\n\n```python\n\nimport hmac\n\nimport hashlib\n\ndef verify_signature(secret: str, request_body: str, signature: str) -> bool:\n    expected = hmac.new(\n        secret.encode('utf-8'),\n        request_body.encode('utf-8'),\n        hashlib.sha256\n    ).hexdigest()\n    return hmac.compare_digest(expected, signature)\n```\n\n---\n来源：https://doc.t-chef.cn/doc/5pww5o2u5o6o6ycb-e6wiDeBljr\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_callback_tchef_cooking_logs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "traceId": {
                    "type": "string",
                    "description": "追踪ID；唯一标识本次推送，用于去重和问题追踪"
                  },
                  "eventType": {
                    "type": "string",
                    "description": "事件类型；当前固定为 cook_log"
                  },
                  "timestamp": {
                    "type": "integer",
                    "description": "推送时间戳；毫秒级 Unix 时间戳"
                  },
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "烹饪日志列表；一次推送可能包含多条日志"
                  },
                  "参数名": {
                    "type": "string",
                    "description": "说明；备注"
                  },
                  ":---:": {
                    "type": "string",
                    "description": ":---:；:---"
                  },
                  "id": {
                    "type": "integer",
                    "description": "日志主键"
                  },
                  "coId": {
                    "type": "string",
                    "description": "公司ID"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "门店ID；未绑定门店则为 0"
                  },
                  "shopName": {
                    "type": "string",
                    "description": "门店名称"
                  },
                  "devSn": {
                    "type": "string",
                    "description": "设备序列号"
                  },
                  "deviceName": {
                    "type": "string",
                    "description": "设备名称"
                  },
                  "cookingTime": {
                    "type": "string",
                    "description": "烹饪开始时间；格式：yyyy-MM-dd HH:mm:ss"
                  },
                  "cookingDuration": {
                    "type": "integer",
                    "description": "烹饪时长；单位：秒"
                  },
                  "dishId": {
                    "type": "string",
                    "description": "菜谱ID"
                  },
                  "dishName": {
                    "type": "string",
                    "description": "菜谱名称"
                  },
                  "dishCode": {
                    "type": "string",
                    "description": "菜谱编码"
                  },
                  "dishSource": {
                    "type": "string",
                    "description": "菜谱来源；10-本地菜谱，50-测试菜谱，60-手动烹饪"
                  },
                  "labelNames": {
                    "type": "string",
                    "description": "菜谱分组名称；多个用逗号隔开"
                  },
                  "powerConsumption": {
                    "type": "number",
                    "description": "烹饪耗电量；单位：w/h"
                  },
                  "createtime": {
                    "type": "string",
                    "description": "创建时间；格式：yyyy-MM-dd HH:mm:ss"
                  },
                  "totalWeight": {
                    "type": "number",
                    "description": "总重量；单位：g"
                  },
                  "materialList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "原料明细；可能为空"
                  },
                  "temperatureList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "温度数据；可能为空"
                  },
                  "actionNo": {
                    "type": "string",
                    "description": "动作编号"
                  },
                  "actionName": {
                    "type": "string",
                    "description": "动作名称"
                  },
                  "name": {
                    "type": "string",
                    "description": "原料名称"
                  },
                  "weight": {
                    "type": "number",
                    "description": "重量；单位：g"
                  }
                },
                "required": [
                  "traceId",
                  "eventType",
                  "timestamp",
                  "data",
                  "参数名",
                  "id",
                  "参数名"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "按第三方文档约定的成功响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {}
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pww5o2u5o6o6ycb-e6wiDeBljr",
        "x-tchef-test-mode": "contract-only",
        "x-tchef-contract-only": true,
        "x-apifox-folder": "数据推送",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-categories": {
      "get": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "查询分类列表",
        "description": "# 接口说明\n\n先查询当前用户所在组织的分类：\n\n* 有数据，就直接返回\n* 没有数据，查上一级组织，直到某一级组织存在分类\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-categories\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| categoryName | String | N | 分类名称 | 全匹配 |\n| modelId | String | N | 机型ID |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认10 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 查询标签列表\nhttp://[ip]:[port]/openapi/v1/dish-categories?categoryName=荤菜&pageNum=1&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | N | 分类id |    |\n| coId | String | N | 公司id |    |\n| orgId | String | N | 组织ID |    |\n| categoryName | String | N | 分类名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"fa110842-08bb-4fd5-aec1-3941311d7660\",\n    \"data\": [\n        {\n            \"id\": 5,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"categoryName\": \"荤菜\",\n            \"sortOrder\": 1,\n            \"createTime\": \"2025-05-29 10:32:33\",\n            \"modelList\": null\n        },\n        {\n            \"id\": 7,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"categoryName\": \"半荤菜\",\n            \"sortOrder\": 1,\n            \"createTime\": \"2025-05-29 11:18:51\",\n            \"modelList\": null\n        }\n    ],\n    \"meta\": {\n        \"total\": 2,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 100\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57g75yix6kgo-641gKE2w7e\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_categories",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "categoryName",
            "in": "query",
            "required": false,
            "description": "分类名称；全匹配",
            "schema": {
              "type": "string"
            },
            "example": "荤菜",
            "x-source-order": 0
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认10",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "分类id"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司id"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "categoryName": {
                            "type": "string",
                            "description": "分类名称"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序号"
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57g75yix6kgo-641gKE2w7e",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "新建分类",
        "description": "# 接口说明\n\n新建分类\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-categories\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | Y | 组织ID |    |\n| categoryName | String | Y | 分类名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| modelIds | List<String> | Y | 绑定的机型ID |    |\n\n请求示例：\n\n```json\n{\n    \"orgId\": \"example-id\",\n    \"categoryName\": \"素菜\",\n    \"sortOrder\": 1,\n    \"modelIds\": [\n        \"example-id\"\n    ]\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| categoryName | String | Y | 分类ID |    |\n| sortOrder | Integer | N | 排序号 |    |\n| createUser | Integer | N | 创建人 |    |\n| createTime | String | N | 创建时间 |    |\n| updateUser | Integer | N | 更新人 |    |\n| updateTime | String | N | 更新时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"070b81a7-7cc6-48c3-b696-fef165329a07\",\n    \"data\": {\n        \"id\": 9,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"categoryName\": \"素菜\",\n        \"sortOrder\": 1,\n        \"createUser\": 992,\n        \"createTime\": null,\n        \"updateUser\": 992,\n        \"updateTime\": null\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu65yig57g7-Yzmq8Fi7XV\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_categories",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "categoryName": {
                    "type": "string",
                    "description": "分类名称"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序号"
                  },
                  "modelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "绑定的机型ID"
                  }
                },
                "required": [
                  "orgId",
                  "categoryName",
                  "sortOrder",
                  "modelIds"
                ]
              },
              "example": {
                "orgId": "example-id",
                "categoryName": "素菜",
                "sortOrder": 1,
                "modelIds": [
                  "ebb4c9bcf4844a14965718fd14918493"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "categoryName": {
                          "type": "string",
                          "description": "分类ID"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "description": "排序号"
                        },
                        "createUser": {
                          "type": "integer",
                          "description": "创建人"
                        },
                        "createTime": {
                          "type": "string",
                          "nullable": true,
                          "description": "创建时间"
                        },
                        "updateUser": {
                          "type": "integer",
                          "description": "更新人"
                        },
                        "updateTime": {
                          "type": "string",
                          "nullable": true,
                          "description": "更新时间"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "categoryName",
                        "sortOrder",
                        "createUser",
                        "createTime",
                        "updateUser",
                        "updateTime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 9,
                    "coId": "example-id",
                    "orgId": "example-id",
                    "categoryName": "素菜",
                    "sortOrder": 1,
                    "createUser": 992,
                    "createTime": null,
                    "updateUser": 992,
                    "updateTime": null
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu65yig57g7-Yzmq8Fi7XV",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "修改分类",
        "description": "# 接口说明\n\n修改分类\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/dish-categories\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 分类ID |    |\n| orgId | String | N | 组织ID |    |\n| categoryName | String | Y | 分类名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": 7,\n    \"orgId\": \"example-id\",\n    \"categoryName\": \"半荤菜\",\n    \"sortOrder\": 1\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| categoryName | String | Y | 分类ID |    |\n| sortOrder | Integer | N | 排序号 |    |\n| createUser | Integer | N | 创建人 |    |\n| createTime | String | N | 创建时间 |    |\n| updateUser | Integer | N | 更新人 |    |\n| updateTime | String | N | 更新时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"26b68728-3a91-4f90-bf5d-c47b417763c2\",\n    \"data\": {\n        \"id\": 7,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"categoryName\": \"半荤菜\",\n        \"sortOrder\": 1,\n        \"createUser\": 992,\n        \"createTime\": \"2025-05-29 11:18:51\",\n        \"updateUser\": 992,\n        \"updateTime\": \"2025-05-29 12:12:56\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps55yig57g7-16MnLhMGTR\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_dish_categories",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "分类ID"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "categoryName": {
                    "type": "string",
                    "description": "分类名称"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序号"
                  }
                },
                "required": [
                  "id",
                  "orgId",
                  "categoryName",
                  "sortOrder"
                ]
              },
              "example": {
                "id": 7,
                "orgId": "example-id",
                "categoryName": "半荤菜",
                "sortOrder": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "categoryName": {
                          "type": "string",
                          "description": "分类ID"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "description": "排序号"
                        },
                        "createUser": {
                          "type": "integer",
                          "description": "创建人"
                        },
                        "createTime": {
                          "type": "string",
                          "description": "创建时间"
                        },
                        "updateUser": {
                          "type": "integer",
                          "description": "更新人"
                        },
                        "updateTime": {
                          "type": "string",
                          "description": "更新时间"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "categoryName",
                        "sortOrder",
                        "createUser",
                        "createTime",
                        "updateUser",
                        "updateTime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 7,
                    "coId": "example-id",
                    "orgId": "example-id",
                    "categoryName": "半荤菜",
                    "sortOrder": 1,
                    "createUser": 992,
                    "createTime": "2025-05-29 11:18:51",
                    "updateUser": 992,
                    "updateTime": "2025-05-29 12:12:56"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps55yig57g7-16MnLhMGTR",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/shops": {
      "get": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "查询门店列表",
        "description": "# 接口说明\n\n查询门店列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/shops\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopName | String | N | 门店名称 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\nhttp://[ip]:[port]/openapi/v1/shops?shopName=&orgId=example-id\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| orgName | String | N | 组织名称 |    |\n| orgFullName | String | N | 组织全称 | 全路径名称：乡村基投资有限公司-大米先生-华东分公司 |\n| shopName | String | Y | 门店名称 |    |\n| shopcode | String | N | 门店编码 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"7f6e8d37-7b0a-4784-b17d-f805bc427706\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"orgName\": \"二级区域B2\",\n            \"orgFullName\": \"乡村基投资有限公司-乡村基品牌-华南分公司-一级区域A1-二级区域B2\",\n            \"shopcode\": \"11300000\",\n            \"shopName\": \"门店3（1-2）\",\n            \"regionType\": 1,\n            \"regionName\": \"内蒙古自治区-鄂尔多斯市-杭锦旗\",\n            \"address\": \"达到\",\n            \"contactor\": \"的\",\n            \"phone\": \"13800000000\",\n            \"email\": \"\",\n            \"syncDishFlag\": 1,\n            \"createUser\": null,\n            \"createtime\": \"2024-03-20 10:32:40\",\n            \"updateUser\": null,\n            \"updatetime\": \"2024-03-20 10:32:40\",\n            \"remark\": \"\"\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 2,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6zeo5bqx5yix6kgo-ZM25pXkMDK\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_shops",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopName",
            "in": "query",
            "required": false,
            "description": "门店名称",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "1000",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "orgName": {
                            "type": "string",
                            "description": "组织名称"
                          },
                          "orgFullName": {
                            "type": "string",
                            "description": "组织全称；全路径名称：乡村基投资有限公司-大米先生-华东分公司"
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "shopcode": {
                            "type": "string",
                            "description": "门店编码"
                          },
                          "regionType": {
                            "type": "integer",
                            "description": "地区类型；1-中国，2-海外"
                          },
                          "regionName": {
                            "type": "string",
                            "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                          },
                          "address": {
                            "type": "string",
                            "description": "详细地址"
                          },
                          "contactor": {
                            "type": "string",
                            "description": "联系人"
                          },
                          "phone": {
                            "type": "string",
                            "description": "联系电话"
                          },
                          "email": {
                            "type": "string",
                            "description": "邮箱"
                          },
                          "syncDishFlag": {
                            "type": "integer",
                            "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                          },
                          "remark": {
                            "type": "string",
                            "description": "备注"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "orgId",
                          "shopName",
                          "syncDishFlag"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6zeo5bqx5yix6kgo-ZM25pXkMDK",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "新建门店",
        "description": "# 接口说明\n\n新建门店\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/shops\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | Y | 组织ID |    |\n| shopName | String | Y | 门店名称 |    |\n| shopcode | String | N | 门店编码 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 国内的：广东-深圳-南山区海外：美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| remark | String | N | 备注 |    |\n\n请求示例：\n\n```json\n{\n    \"orgId\": \"example-id\",\n    \"shopcode\": \"00028\",\n    \"shopName\": \"测试门店\",\n    \"regionType\": 1,\n    \"regionName\": \"北京市-北京市-东城区\",\n    \"address\": \"具体的地址\",\n    \"contactor\": \"张三\",\n    \"phone\": null,\n    \"email\": \"\",\n    \"syncDishFlag\": 0,\n    \"remark\": \"remark_f7dd79d9aec3\"\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| shopName | String | Y | 门店名称 |    |\n| shopcode | String | N | 门店编码 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"9b489109-e5d8-4d83-9679-00349d419007\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"shopcode\": \"11300000\",\n        \"shopName\": \"测试门店\",\n        \"regionType\": 1,\n        \"regionName\": \"北京市-北京市-东城区\",\n        \"contactor\": \"张三\",\n        \"phone\": null,\n        \"email\": \"\",\n        \"syncDishFlag\": 0,\n        \"createUser\": 121,\n        \"createtime\": \"2024-04-09 16:22:41\",\n        \"updateUser\": 121,\n        \"updatetime\": \"2024-04-09 16:22:41\",\n        \"remark\": \"remark_f7dd79d9aec3\",\n        \"parentid0\": null,\n        \"parentid1\": null,\n        \"parentid2\": null,\n        \"coName\": null,\n        \"userid\": null,\n        \"listcoId\": null\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu66zeo5bqx-edQ3na1P6t\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_shops",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "shopcode": {
                    "type": "string",
                    "description": "门店编码"
                  },
                  "shopName": {
                    "type": "string",
                    "description": "门店名称"
                  },
                  "regionType": {
                    "type": "integer",
                    "description": "地区类型；1-中国，2-海外"
                  },
                  "regionName": {
                    "type": "string",
                    "description": "行政区域全称；国内的：广东-深圳-南山区海外：美国-旧金山"
                  },
                  "address": {
                    "type": "string",
                    "description": "详细地址"
                  },
                  "contactor": {
                    "type": "string",
                    "description": "联系人"
                  },
                  "phone": {
                    "type": "string",
                    "nullable": true,
                    "description": "联系电话"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "syncDishFlag": {
                    "type": "integer",
                    "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                  },
                  "remark": {
                    "type": "string",
                    "description": "备注"
                  }
                },
                "required": [
                  "orgId",
                  "shopcode",
                  "shopName",
                  "regionType",
                  "regionName",
                  "address",
                  "contactor",
                  "phone",
                  "email",
                  "syncDishFlag",
                  "remark"
                ]
              },
              "example": {
                "orgId": "example-id",
                "shopcode": "00028",
                "shopName": "测试门店",
                "regionType": 1,
                "regionName": "北京市-北京市-东城区",
                "address": "具体的地址",
                "contactor": "张三",
                "phone": null,
                "email": "",
                "syncDishFlag": 0,
                "remark": "remark_f7dd79d9aec3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "shopcode": {
                          "type": "string",
                          "description": "门店编码"
                        },
                        "shopName": {
                          "type": "string",
                          "description": "门店名称"
                        },
                        "regionType": {
                          "type": "integer",
                          "description": "地区类型；1-中国，2-海外"
                        },
                        "regionName": {
                          "type": "string",
                          "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                        },
                        "contactor": {
                          "type": "string",
                          "description": "联系人"
                        },
                        "phone": {
                          "type": "string",
                          "nullable": true,
                          "description": "联系电话"
                        },
                        "email": {
                          "type": "string",
                          "description": "邮箱"
                        },
                        "syncDishFlag": {
                          "type": "integer",
                          "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                        },
                        "createUser": {
                          "type": "integer"
                        },
                        "createtime": {
                          "type": "string"
                        },
                        "updateUser": {
                          "type": "integer"
                        },
                        "updatetime": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string",
                          "description": "备注"
                        },
                        "parentid0": {
                          "nullable": true
                        },
                        "parentid1": {
                          "nullable": true
                        },
                        "parentid2": {
                          "nullable": true
                        },
                        "coName": {
                          "nullable": true
                        },
                        "userid": {
                          "nullable": true
                        },
                        "listcoId": {
                          "nullable": true
                        },
                        "address": {
                          "type": "string",
                          "description": "详细地址"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "shopcode",
                        "shopName",
                        "regionType",
                        "regionName",
                        "contactor",
                        "phone",
                        "email",
                        "syncDishFlag",
                        "createUser",
                        "createtime",
                        "updateUser",
                        "updatetime",
                        "remark",
                        "parentid0",
                        "parentid1",
                        "parentid2",
                        "coName",
                        "userid",
                        "listcoId"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "coId": "example-id",
                    "orgId": "example-id",
                    "shopcode": "11300000",
                    "shopName": "测试门店",
                    "regionType": 1,
                    "regionName": "北京市-北京市-东城区",
                    "contactor": "张三",
                    "phone": null,
                    "email": "",
                    "syncDishFlag": 0,
                    "createUser": 121,
                    "createtime": "2024-04-09 16:22:41",
                    "updateUser": 121,
                    "updatetime": "2024-04-09 16:22:41",
                    "remark": "remark_f7dd79d9aec3",
                    "parentid0": null,
                    "parentid1": null,
                    "parentid2": null,
                    "coName": null,
                    "userid": null,
                    "listcoId": null
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu66zeo5bqx-edQ3na1P6t",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "更新门店",
        "description": "# 接口说明\n\n更新门店\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/shops\n\n是否登录：**==必须登录==**\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| orgId | String | Y | 组织ID |    |\n| shopName | String | Y | 门店名称 |    |\n| shopcode | String | N | 门店编码 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 国内的：广东-深圳-南山区海外：美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| remark | String | N | 备注 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": \"example-id\",\n    \"orgId\": \"example-id\",\n    \"shopcode\": \"00028\",\n    \"shopName\": \"测试门店\",\n    \"regionType\": 1,\n    \"regionName\": \"北京市-北京市-东城区\",\n    \"address\": \"具体的地址\",\n    \"contactor\": \"张三\",\n    \"phone\": \"1531234687\",\n    \"email\": \"\",\n    \"syncDishFlag\": 1,\n    \"remark\": \"remark_f7dd79d9aec3\"\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"9328d722-ec40-414e-8373-8736f5767fba\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pu05paw6zeo5bqx-6eYuu0ojIJ\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_shops",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "主键"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "shopcode": {
                    "type": "string",
                    "description": "门店编码"
                  },
                  "shopName": {
                    "type": "string",
                    "description": "门店名称"
                  },
                  "regionType": {
                    "type": "integer",
                    "description": "地区类型；1-中国，2-海外"
                  },
                  "regionName": {
                    "type": "string",
                    "description": "行政区域全称；国内的：广东-深圳-南山区海外：美国-旧金山"
                  },
                  "address": {
                    "type": "string",
                    "description": "详细地址"
                  },
                  "contactor": {
                    "type": "string",
                    "description": "联系人"
                  },
                  "phone": {
                    "type": "string",
                    "description": "联系电话"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "syncDishFlag": {
                    "type": "integer",
                    "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                  },
                  "remark": {
                    "type": "string",
                    "description": "备注"
                  }
                },
                "required": [
                  "id",
                  "orgId",
                  "shopcode",
                  "shopName",
                  "regionType",
                  "regionName",
                  "address",
                  "contactor",
                  "phone",
                  "email",
                  "syncDishFlag",
                  "remark"
                ]
              },
              "example": {
                "id": "example-id",
                "orgId": "example-id",
                "shopcode": "00028",
                "shopName": "测试门店",
                "regionType": 1,
                "regionName": "北京市-北京市-东城区",
                "address": "具体的地址",
                "contactor": "张三",
                "phone": "1531234687",
                "email": "",
                "syncDishFlag": 1,
                "remark": "remark_f7dd79d9aec3"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pu05paw6zeo5bqx-6eYuu0ojIJ",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/shops/{id}": {
      "get": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "查询门店详情",
        "description": "# 接口说明\n\n查询门店详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/shops/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n[GET] http://[ip]:[port]/openapi/v1/shops/example-id\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| orgName | String | N | 组织名称 |    |\n| orgFullName | String | N | 组织全称 | 全路径名称：乡村基投资有限公司-大米先生-华东分公司 |\n| shopName | String | Y | 门店名称 |    |\n| shopcode | String | N | 门店编码 |    |\n| regionType | Integer | N | 地区类型 | 1-中国，2-海外 |\n| regionName | String | N | 行政区域全称 | 广东-深圳-南山区美国-旧金山 |\n| address | String | N | 详细地址 |    |\n| contactor | String | N | 联系人 |    |\n| phone | String | N | 联系电话 |    |\n| email | String | N | 邮箱 |    |\n| syncDishFlag | Integer | Y | 自动同步菜谱标志 | 0-不同步，1-启用同步 |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"4648394f-e165-4f4e-a5c6-c166a2066189\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"shopcode\": \"11300000\",\n        \"shopName\": \"门店3（1-2）\",\n        \"regionType\": 1,\n        \"regionName\": \"北京市-北京市-东城区\",\n        \"address\": \"达到\",\n        \"contactor\": \"的\",\n        \"phone\": \"13800000000\",\n        \"email\": \"\",\n        \"syncDishFlag\": 1,\n        \"createUser\": 121,\n        \"createtime\": \"2024-03-20 10:32:40\",\n        \"updateUser\": 121,\n        \"updatetime\": \"2024-03-20 10:32:40\",\n        \"remark\": \"\",\n        \"parentid0\": null,\n        \"parentid1\": null,\n        \"parentid2\": null,\n        \"coName\": null,\n        \"userid\": null,\n        \"listcoId\": null\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6zeo5bqx6km5oof-JVPq3B5DWZ\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_shops_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "orgName": {
                          "type": "string",
                          "description": "组织名称"
                        },
                        "orgFullName": {
                          "type": "string",
                          "description": "组织全称；全路径名称：乡村基投资有限公司-大米先生-华东分公司"
                        },
                        "shopName": {
                          "type": "string",
                          "description": "门店名称"
                        },
                        "shopcode": {
                          "type": "string",
                          "description": "门店编码"
                        },
                        "regionType": {
                          "type": "integer",
                          "description": "地区类型；1-中国，2-海外"
                        },
                        "regionName": {
                          "type": "string",
                          "description": "行政区域全称；广东-深圳-南山区美国-旧金山"
                        },
                        "address": {
                          "type": "string",
                          "description": "详细地址"
                        },
                        "contactor": {
                          "type": "string",
                          "description": "联系人"
                        },
                        "phone": {
                          "type": "string",
                          "description": "联系电话"
                        },
                        "email": {
                          "type": "string",
                          "description": "邮箱"
                        },
                        "syncDishFlag": {
                          "type": "integer",
                          "description": "自动同步菜谱标志；0-不同步，1-启用同步"
                        },
                        "remark": {
                          "type": "string",
                          "description": "备注"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "shopName",
                        "syncDishFlag"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6zeo5bqx6km5oof-JVPq3B5DWZ",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      },
      "delete": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "删除门店",
        "description": "# 接口说明\n\n删除门店\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/shops/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n//id对应位置如下所示：\n【DELETE】 http://[ip]:[port]/openapi/v1/shops/example-id\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"9328d722-ec40-414e-8373-8736f5767fba\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk6zeo5bqx-XhYCyQaXTG\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_shops_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk6zeo5bqx-XhYCyQaXTG",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/shops/sync-dishes": {
      "post": {
        "tags": [
          "公司管理/门店管理"
        ],
        "summary": "启用/停用菜谱同步",
        "description": "# 接口说明\n\n用于设置门店同步菜谱的开关，如果启用同步，门店会自动同步上级组织的所有菜谱。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/shops/sync-dishes\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| shopId | String | Y | 门店ID |    |\n| syncDishFlag | Integer | Y | 同步标志 | 0-取消同步，1-启用同步 |\n\n请求示例：\n\n```json\n{\n    \"shopId\": \"example-id\",\n    \"syncDishFlag\": 1\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"af097387-6aa7-4601-96be-39e0e229ae36\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5zcv55solwbnoeuqoipnoiwsewqjoatpq-UoapcqfP7c\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_shops_sync_dishes",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shopId": {
                    "type": "string",
                    "description": "门店ID"
                  },
                  "syncDishFlag": {
                    "type": "integer",
                    "description": "同步标志；0-取消同步，1-启用同步"
                  }
                },
                "required": [
                  "shopId",
                  "syncDishFlag"
                ]
              },
              "example": {
                "shopId": "example-id",
                "syncDishFlag": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5zcv55solwbnoeuqoipnoiwsewqjoatpq-UoapcqfP7c",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/门店管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/users": {
      "get": {
        "tags": [
          "公司管理/用户管理"
        ],
        "summary": "查询用户列表",
        "description": "# 接口说明\n\n查询用户列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/users\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| keyword | String | N | 关键词 | 会模糊匹配用户姓名和登录账号 |\n| userType | Integer | N | 用户类型 | 2-公司用户，3-门店用户 |\n| mobile | String | N | 手机号 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n[GET] http://[ip]:[port]/openapi/v1/users?userType=2&username=1&orgId=example-id&mobile=13800000000\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| orgName | String | N | 组织名称 |    |\n| orgFullName | String | N | 组织全称 | 全路径名称：乡村基投资有限公司-大米先生-华东分公司 |\n| shopId | String | N | 门店ID |    |\n| shopName | String | N | 门店名称 |    |\n| nickname | String | N | 用户姓名（昵称） |    |\n| username | String | Y | 登录账号 |    |\n| userType | Integer | Y | 用户类型 | 1-超级管理员，2-公司用户，3-门店用户 |\n| mobile | String | Y | 手机号 |    |\n| email | String | N | 邮箱 |    |\n| version | Integer | N | 版本号 | 每次修改自动递增 |\n| isDel | Integer | N | 是否删除 | 0-否，1-是 |\n| isForbid | Integer | N | 是否禁用 | 0-否，1-是 |\n| insertTime | String | N | 创建时间 |    |\n| roles | List<Object> | N | 用户角色 |    |\n\n用户角色roles：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 1-超级管理员，2-公司角色，3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| code | String | N | 角色编号 |    |\n| roleSort | Integer | N | 排序 |    |\n| roleLevel | String | N | 上级路径 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n| insertTime | Date | Y | 创建时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"9ec456d2-8c01-47b1-9b2e-6465c527d182\",\n    \"data\": [\n        {\n            \"id\": 500,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"orgName\": \"二级区域B2\",\n            \"orgFullName\": \"乡村基投资有限公司-乡村基品牌-华南分公司-一级区域A1\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"门店3（1-2）\",\n            \"nickname\": \"张三2\",\n            \"username\": \"zhangsan2\",\n            \"userType\": 3,\n            \"mobile\": \"13800000000\",\n            \"email\": null,\n            \"version\": 2,\n            \"insertTime\": \"2024-02-19 16:05:29\",\n            \"isDel\": 0,\n            \"isForbid\": 0,\n            \"foodsafeusername\": \"\",\n            \"foodsafeuid\": null,\n            \"roles\": [\n                {\n                    \"id\": 39,\n                    \"roleName\": \"门店菜肴开发人员\",\n                    \"coId\": \"example-id\",\n                    \"orgId\": \"example-id\",\n                    \"roleType\": 3,\n                    \"descpt\": \"门店菜肴开发人员\",\n                    \"code\": \"dishdeveloper\",\n                    \"insertUid\": 1,\n                    \"roleSort\": 100,\n                    \"roleLevel\": \"-1-3-15-16-4-\",\n                    \"visibleFlag\": 0,\n                    \"insertTime\": \"2024-02-03 11:32:16\",\n                    \"updateUser\": null,\n                    \"updateTime\": \"2024-04-07 10:50:18\"\n                }\n            ]\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 7,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki55so5oi35yix6kgo-hhCwF2kYeS\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_users",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "keyword",
            "in": "query",
            "required": false,
            "description": "关键词；会模糊匹配用户姓名和登录账号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "userType",
            "in": "query",
            "required": false,
            "description": "用户类型；2-公司用户，3-门店用户",
            "schema": {
              "type": "integer"
            },
            "example": "2",
            "x-source-order": 2
          },
          {
            "name": "mobile",
            "in": "query",
            "required": false,
            "description": "手机号",
            "schema": {
              "type": "string"
            },
            "example": "13800000000",
            "x-source-order": 3
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 4
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "1000",
            "x-source-order": 5
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "orgName": {
                            "type": "string",
                            "description": "组织名称"
                          },
                          "orgFullName": {
                            "type": "string",
                            "description": "组织全称；全路径名称：乡村基投资有限公司-大米先生-华东分公司"
                          },
                          "shopId": {
                            "type": "string",
                            "description": "门店ID"
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "nickname": {
                            "type": "string",
                            "description": "用户姓名（昵称）"
                          },
                          "username": {
                            "type": "string",
                            "description": "登录账号"
                          },
                          "userType": {
                            "type": "integer",
                            "description": "用户类型；1-超级管理员，2-公司用户，3-门店用户"
                          },
                          "mobile": {
                            "type": "string",
                            "description": "手机号"
                          },
                          "email": {
                            "type": "string",
                            "description": "邮箱"
                          },
                          "version": {
                            "type": "integer",
                            "description": "版本号；每次修改自动递增"
                          },
                          "isDel": {
                            "type": "integer",
                            "description": "是否删除；0-否，1-是"
                          },
                          "isForbid": {
                            "type": "integer",
                            "description": "是否禁用；0-否，1-是"
                          },
                          "insertTime": {
                            "type": "string",
                            "description": "创建时间"
                          },
                          "roles": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true
                            },
                            "description": "用户角色"
                          },
                          "参数名": {
                            "type": "string",
                            "description": "说明；备注"
                          },
                          "----": {
                            "type": "string",
                            "description": "----；----"
                          },
                          "roleName": {
                            "type": "string",
                            "description": "角色名称"
                          },
                          "roleType": {
                            "type": "integer",
                            "description": "角色类型；1-超级管理员，2-公司角色，3-门店角色"
                          },
                          "descpt": {
                            "type": "string",
                            "description": "角色描述"
                          },
                          "code": {
                            "type": "string",
                            "description": "角色编号"
                          },
                          "roleSort": {
                            "type": "integer",
                            "description": "排序"
                          },
                          "roleLevel": {
                            "type": "string",
                            "description": "上级路径"
                          },
                          "visibleFlag": {
                            "type": "integer",
                            "description": "下级可见标志；0-不可见，1-可见"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "orgId",
                          "username",
                          "userType",
                          "mobile",
                          "参数名",
                          "id",
                          "roleName",
                          "roleType",
                          "insertTime"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki55so5oi35yix6kgo-hhCwF2kYeS",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/用户管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "公司管理/用户管理"
        ],
        "summary": "新建用户",
        "description": "# 接口说明\n\n新建用户\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/users\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| nickname | String | N | 用户姓名（昵称） |    |\n| username | String | Y | 登录账号 |    |\n| mobile | String | Y | 手机号 |    |\n| userType | Integer | Y | 用户类型 | 1-超级管理员，2-公司用户，3-门店用户 |\n| orgId | String | Y | 组织ID |    |\n| shopId | String | N | 门店ID | 当用户类型 userType=3 时，必须传门店ID |\n| email | String | N | 邮箱 |    |\n| password | String | N | 密码 | 1.用户输入的密码必须使用SHA1算法加密再传入2.不传则默认为123456 |\n| roles | List<Object> | N | 用户绑定的角色 |    |\n\n用户角色roles：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 角色ID |    |\n| roleName | String | Y | 角色名称 |    |\n\n请求示例：\n\n```json\n{\n    \"orgId\": \"example-id\",\n    \"shopId\": \"example-id\",\n    \"nickname\": \"张三\",\n    \"username\": \"zhangsan0001\",\n    \"mobile\": \"13800000000\",\n    \"email\": \"qemd@qq.com\",\n    \"password\": \"7c4a8d09ca3762af61e59520943dc26494f8941b\",\n    \"userType\": 3,\n    \"foodsafeusername\": \"foodsafeusername_de5cb1058a42\",\n    \"foodsafeuid\": 0,\n    \"roles\": [\n        {\n            \"id\": 156,\n            \"roleName\": \"公司管理员\"\n        }\n    ]\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| nickname | String | N | 用户姓名（昵称） |    |\n| username | String | Y | 登录账号 |    |\n| userType | Integer | Y | 用户类型 | 1-超级管理员，2-公司用户，3-门店用户 |\n| mobile | String | Y | 手机号 |    |\n| email | String | N | 邮箱 |    |\n| version | Integer | N | 版本号 | 每次修改自动递增 |\n| isDel | Integer | N | 是否删除 | 0-否，1-是 |\n| isForbid | Integer | N | 是否禁用 | 0-否，1-是 |\n| foodsafeusername | String | N | 食安账号 |    |\n| insertTime | Date | N | 创建时间 |    |\n| roles | List<Object> | N | 用户角色 |    |\n\n用户角色roles：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| userId | Integer | Y | 用户ID | userId |\n| roleId | Integer | Y | 角色ID | roleId |\n| roleName | String | Y | 角色名称 | roleName |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"09c44ea6-07fd-447c-b92b-2855ae3cef7a\",\n    \"data\": {\n        \"id\": 121,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"orgName\": null,\n        \"shopId\": null,\n        \"nickname\": \"张三\",\n        \"username\": \"wzhiam\",\n        \"userType\": 2,\n        \"mobile\": \"13800000000\",\n        \"email\": null,\n        \"version\": 1,\n        \"insertTime\": null,\n        \"isDel\": 0,\n        \"isForbid\": 0,\n        \"foodsafeusername\": \"\",\n        \"foodsafeuid\": null,\n        \"roles\": [\n            {\n                \"userId\": 121,\n                \"roleId\": 156,\n                \"roleName\": \"公司管理员\"\n            },\n            {\n                \"userId\": 121,\n                \"roleId\": 163,\n                \"roleName\": \"设备管理员\"\n            }\n        ]\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu655so5oi3-HYgSfyivA2\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_users",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "门店ID；当用户类型 userType=3 时，必须传门店ID"
                  },
                  "nickname": {
                    "type": "string",
                    "description": "用户姓名（昵称）"
                  },
                  "username": {
                    "type": "string",
                    "description": "登录账号"
                  },
                  "mobile": {
                    "type": "string",
                    "description": "手机号"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "password": {
                    "type": "string",
                    "description": "密码；1.用户输入的密码必须使用SHA1算法加密再传入2.不传则默认为123456"
                  },
                  "userType": {
                    "type": "integer",
                    "description": "用户类型；1-超级管理员，2-公司用户，3-门店用户"
                  },
                  "foodsafeusername": {
                    "type": "string"
                  },
                  "foodsafeuid": {
                    "type": "integer"
                  },
                  "roles": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "roleName": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "roleName"
                      ]
                    },
                    "description": "用户绑定的角色"
                  },
                  "参数名": {
                    "type": "string",
                    "description": "说明；备注"
                  },
                  "----": {
                    "type": "string",
                    "description": "----；----"
                  },
                  "id": {
                    "type": "integer",
                    "description": "角色ID"
                  },
                  "roleName": {
                    "type": "string",
                    "description": "角色名称"
                  }
                },
                "required": [
                  "orgId",
                  "shopId",
                  "nickname",
                  "username",
                  "mobile",
                  "email",
                  "password",
                  "userType",
                  "foodsafeusername",
                  "foodsafeuid",
                  "roles",
                  "参数名",
                  "id",
                  "roleName"
                ]
              },
              "example": {
                "orgId": "example-id",
                "shopId": "example-id",
                "nickname": "张三",
                "username": "zhangsan0001",
                "mobile": "13800000000",
                "email": "qemd@qq.com",
                "password": "7c4a8d09ca3762af61e59520943dc26494f8941b",
                "userType": 3,
                "foodsafeusername": "foodsafeusername_de5cb1058a42",
                "foodsafeuid": 0,
                "roles": [
                  {
                    "id": 156,
                    "roleName": "公司管理员"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "orgName": {
                          "nullable": true
                        },
                        "shopId": {
                          "type": "string",
                          "nullable": true,
                          "description": "门店ID"
                        },
                        "nickname": {
                          "type": "string",
                          "description": "用户姓名（昵称）"
                        },
                        "username": {
                          "type": "string",
                          "description": "登录账号"
                        },
                        "userType": {
                          "type": "integer",
                          "description": "用户类型；1-超级管理员，2-公司用户，3-门店用户"
                        },
                        "mobile": {
                          "type": "string",
                          "description": "手机号"
                        },
                        "email": {
                          "type": "string",
                          "nullable": true,
                          "description": "邮箱"
                        },
                        "version": {
                          "type": "integer",
                          "description": "版本号；每次修改自动递增"
                        },
                        "insertTime": {
                          "type": "string",
                          "nullable": true,
                          "description": "创建时间"
                        },
                        "isDel": {
                          "type": "integer",
                          "description": "是否删除；0-否，1-是"
                        },
                        "isForbid": {
                          "type": "integer",
                          "description": "是否禁用；0-否，1-是"
                        },
                        "foodsafeusername": {
                          "type": "string",
                          "description": "食安账号"
                        },
                        "foodsafeuid": {
                          "nullable": true
                        },
                        "roles": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "userId": {
                                "type": "integer"
                              },
                              "roleId": {
                                "type": "integer"
                              },
                              "roleName": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "userId",
                              "roleId",
                              "roleName"
                            ]
                          },
                          "description": "用户角色"
                        },
                        "参数名": {
                          "type": "string",
                          "description": "说明；备注"
                        },
                        "----": {
                          "type": "string",
                          "description": "----；----"
                        },
                        "userId": {
                          "type": "integer",
                          "description": "用户ID；userId"
                        },
                        "roleId": {
                          "type": "integer",
                          "description": "角色ID；roleId"
                        },
                        "roleName": {
                          "type": "string",
                          "description": "角色名称；roleName"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "orgName",
                        "shopId",
                        "nickname",
                        "username",
                        "userType",
                        "mobile",
                        "email",
                        "version",
                        "insertTime",
                        "isDel",
                        "isForbid",
                        "foodsafeusername",
                        "foodsafeuid",
                        "roles",
                        "参数名",
                        "userId",
                        "roleId",
                        "roleName"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 121,
                    "coId": "example-id",
                    "orgId": "example-id",
                    "orgName": null,
                    "shopId": null,
                    "nickname": "张三",
                    "username": "wzhiam",
                    "userType": 2,
                    "mobile": "13800000000",
                    "email": null,
                    "version": 1,
                    "insertTime": null,
                    "isDel": 0,
                    "isForbid": 0,
                    "foodsafeusername": "",
                    "foodsafeuid": null,
                    "roles": [
                      {
                        "userId": 121,
                        "roleId": 156,
                        "roleName": "公司管理员"
                      },
                      {
                        "userId": 121,
                        "roleId": 163,
                        "roleName": "设备管理员"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu655so5oi3-HYgSfyivA2",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/用户管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "公司管理/用户管理"
        ],
        "summary": "修改用户",
        "description": "# 接口说明\n\n更新用户\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/users\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| nickname | String | N | 用户姓名（昵称） |    |\n| username | String | Y | 登录账号 |    |\n| mobile | String | Y | 手机号 |    |\n| userType | Integer | Y | 用户类型 | 1-超级管理员，2-公司用户，3-门店用户 |\n| orgId | String | Y | 组织ID |    |\n| shopId | String | N | 门店ID | 当用户类型 userType=3 时，必须传门店ID |\n| email | String | N | 邮箱 |    |\n| roles | List<Object> | N | 用户绑定的角色 |    |\n\n用户角色roles：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 角色ID |    |\n| roleName | String | Y | 角色名称 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": 520,\n    \"orgId\": \"example-id\",\n    \"shopId\": \"example-id\",\n    \"nickname\": \"张三333\",\n    \"username\": \"zhangsan0001\",\n    \"mobile\": \"13800000000\",\n    \"email\": \"qemd@qq.com\",\n    \"userType\": 3,\n    \"foodsafeusername\": \"foodsafeusername_de5cb1058a42\",\n    \"foodsafeuid\": 0,\n    \"roles\": [\n        {\n            \"id\": 156,\n            \"roleName\": \"公司管理员\"\n        }\n    ]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Update successful\",\n    \"requestId\": \"10c7ff5b-9e11-4f36-b509-020bcd992b26\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps555so5oi3-zJkRegLtSq\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_users",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "角色ID"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "门店ID；当用户类型 userType=3 时，必须传门店ID"
                  },
                  "nickname": {
                    "type": "string",
                    "description": "用户姓名（昵称）"
                  },
                  "username": {
                    "type": "string",
                    "description": "登录账号"
                  },
                  "mobile": {
                    "type": "string",
                    "description": "手机号"
                  },
                  "email": {
                    "type": "string",
                    "description": "邮箱"
                  },
                  "userType": {
                    "type": "integer",
                    "description": "用户类型；1-超级管理员，2-公司用户，3-门店用户"
                  },
                  "foodsafeusername": {
                    "type": "string"
                  },
                  "foodsafeuid": {
                    "type": "integer"
                  },
                  "roles": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "roleName": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "roleName"
                      ]
                    },
                    "description": "用户绑定的角色"
                  },
                  "参数名": {
                    "type": "string",
                    "description": "说明；备注"
                  },
                  "----": {
                    "type": "string",
                    "description": "----；----"
                  },
                  "roleName": {
                    "type": "string",
                    "description": "角色名称"
                  }
                },
                "required": [
                  "id",
                  "orgId",
                  "shopId",
                  "nickname",
                  "username",
                  "mobile",
                  "email",
                  "userType",
                  "foodsafeusername",
                  "foodsafeuid",
                  "roles",
                  "参数名",
                  "roleName"
                ]
              },
              "example": {
                "id": 520,
                "orgId": "example-id",
                "shopId": "example-id",
                "nickname": "张三333",
                "username": "zhangsan0001",
                "mobile": "13800000000",
                "email": "qemd@qq.com",
                "userType": 3,
                "foodsafeusername": "foodsafeusername_de5cb1058a42",
                "foodsafeuid": 0,
                "roles": [
                  {
                    "id": 156,
                    "roleName": "公司管理员"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Update successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps555so5oi3-zJkRegLtSq",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/用户管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/users/{id}": {
      "get": {
        "tags": [
          "公司管理/用户管理"
        ],
        "summary": "查询用户详情",
        "description": "# 接口说明\n\n查询用户详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/users/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 121为用户ID\n[GET] http://[ip]:[port]/openapi/v1/users/121\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| nickname | String | N | 用户姓名（昵称） |    |\n| username | String | Y | 登录账号 |    |\n| userType | Integer | Y | 用户类型 | 1-超级管理员，2-公司用户，3-门店用户 |\n| mobile | String | Y | 手机号 |    |\n| email | String | N | 邮箱 |    |\n| version | Integer | N | 版本号 | 每次修改自动递增 |\n| isDel | Integer | N | 是否删除 | 0-否，1-是 |\n| isForbid | Integer | N | 是否禁用 | 0-否，1-是 |\n| insertTime | String | N | 创建时间 |    |\n| roles | List<Object> | N | 用户角色 |    |\n\n用户角色roles：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 1-超级管理员，2-公司角色，3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| code | String | N | 角色编号 |    |\n| roleSort | Integer | N | 排序 |    |\n| roleLevel | String | N | 上级路径 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n| insertTime | Date | Y | 创建时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"500dd352-fbae-47b8-a9fe-3c5bed6e58fe\",\n    \"data\": {\n        \"id\": 121,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"orgName\": null,\n        \"shopId\": null,\n        \"nickname\": \"张三\",\n        \"username\": \"wzhiam\",\n        \"userType\": 2,\n        \"mobile\": \"13800000000\",\n        \"email\": null,\n        \"version\": 4,\n        \"insertTime\": null,\n        \"isDel\": 0,\n        \"isForbid\": 0,\n        \"foodsafeusername\": \"\",\n        \"foodsafeuid\": null,\n        \"roles\": [\n            {\n                \"id\": 156,\n                \"roleName\": \"公司管理员\",\n                \"coId\": \"example-id\",\n                \"orgId\": \"example-id\",\n                \"roleType\": 2,\n                \"descpt\": \"公司管理员\",\n                \"code\": \"shopadmin\",\n                \"insertUid\": 1,\n                \"roleSort\": 100,\n                \"roleLevel\": \"-1-3-\",\n                \"visibleFlag\": 0,\n                \"insertTime\": \"2024-02-03 11:23:51\",\n                \"updateUser\": null,\n                \"updateTime\": \"2024-02-03 11:23:51\"\n            }\n        ]\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki55so5oi36km5oof-N6FnmdXiTw\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_users_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "shopId": {
                          "type": "string",
                          "description": "门店ID"
                        },
                        "nickname": {
                          "type": "string",
                          "description": "用户姓名（昵称）"
                        },
                        "username": {
                          "type": "string",
                          "description": "登录账号"
                        },
                        "userType": {
                          "type": "integer",
                          "description": "用户类型；1-超级管理员，2-公司用户，3-门店用户"
                        },
                        "mobile": {
                          "type": "string",
                          "description": "手机号"
                        },
                        "email": {
                          "type": "string",
                          "description": "邮箱"
                        },
                        "version": {
                          "type": "integer",
                          "description": "版本号；每次修改自动递增"
                        },
                        "isDel": {
                          "type": "integer",
                          "description": "是否删除；0-否，1-是"
                        },
                        "isForbid": {
                          "type": "integer",
                          "description": "是否禁用；0-否，1-是"
                        },
                        "insertTime": {
                          "type": "string",
                          "description": "创建时间"
                        },
                        "roles": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "用户角色"
                        },
                        "参数名": {
                          "type": "string",
                          "description": "说明；备注"
                        },
                        "----": {
                          "type": "string",
                          "description": "----；----"
                        },
                        "roleName": {
                          "type": "string",
                          "description": "角色名称"
                        },
                        "roleType": {
                          "type": "integer",
                          "description": "角色类型；1-超级管理员，2-公司角色，3-门店角色"
                        },
                        "descpt": {
                          "type": "string",
                          "description": "角色描述"
                        },
                        "code": {
                          "type": "string",
                          "description": "角色编号"
                        },
                        "roleSort": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "roleLevel": {
                          "type": "string",
                          "description": "上级路径"
                        },
                        "visibleFlag": {
                          "type": "integer",
                          "description": "下级可见标志；0-不可见，1-可见"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "username",
                        "userType",
                        "mobile",
                        "参数名",
                        "id",
                        "roleName",
                        "roleType",
                        "insertTime"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki55so5oi36km5oof-N6FnmdXiTw",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/用户管理",
        "x-apifox-status": "released"
      },
      "delete": {
        "tags": [
          "公司管理/用户管理"
        ],
        "summary": "删除用户",
        "description": "# 接口说明\n\n删除用户\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/users/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 520为用户ID\n[DELETE] http://[ip]:[port]/openapi/v1/users/520\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Delete successful\",\n    \"requestId\": \"a71789bc-aa07-4cc4-8257-9aff916a8567\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk55so5oi3-2DHMhsKCz9\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_users_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk55so5oi3-2DHMhsKCz9",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/用户管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/roles": {
      "get": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "查询角色列表",
        "description": "# 接口说明\n\n查询角色列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/roles\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| roleName | String | N | 角色名称 |    |\n| roleType | Integer | N | 角色类型 | 1-超级管理员2-公司角色3-门店角色 |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n[GET] /openapi/v1/roles?orgId=example-id&roleName=管理员&roleType=2\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 1-超级管理员，2-公司角色，3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| code | String | N | 角色编号 |    |\n| roleSort | Integer | N | 排序 |    |\n| roleLevel | String | N | 上级路径 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n| insertTime | Date | Y | 创建时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"5d4cb104-537b-49f1-b539-2336c9dde948\",\n    \"data\": [\n        {\n            \"id\": 156,\n            \"roleName\": \"公司管理员\",\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"roleType\": 2,\n            \"descpt\": \"公司管理员\",\n            \"code\": \"shopadmin\",\n            \"insertUid\": 1,\n            \"roleSort\": 100,\n            \"roleLevel\": \"-1-3-\",\n            \"visibleFlag\": 0,\n            \"insertTime\": \"2024-02-03 11:23:51\"\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 2,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6kes6imy5yix6kgo-WcfPOvVTpA\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_roles",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "roleName",
            "in": "query",
            "required": false,
            "description": "角色名称",
            "schema": {
              "type": "string"
            },
            "example": "管理员",
            "x-source-order": 1
          },
          {
            "name": "roleType",
            "in": "query",
            "required": false,
            "description": "角色类型；1-超级管理员2-公司角色3-门店角色",
            "schema": {
              "type": "integer"
            },
            "example": "2",
            "x-source-order": 2
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 3
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "1000",
            "x-source-order": 4
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "roleName": {
                            "type": "string",
                            "description": "角色名称"
                          },
                          "roleType": {
                            "type": "integer",
                            "description": "角色类型；1-超级管理员，2-公司角色，3-门店角色"
                          },
                          "descpt": {
                            "type": "string",
                            "description": "角色描述"
                          },
                          "code": {
                            "type": "string",
                            "description": "角色编号"
                          },
                          "roleSort": {
                            "type": "integer",
                            "description": "排序"
                          },
                          "roleLevel": {
                            "type": "string",
                            "description": "上级路径"
                          },
                          "visibleFlag": {
                            "type": "integer",
                            "description": "下级可见标志；0-不可见，1-可见"
                          },
                          "insertTime": {
                            "type": "string",
                            "description": "创建时间"
                          }
                        },
                        "required": [
                          "id",
                          "roleName",
                          "roleType",
                          "insertTime"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6kes6imy5yix6kgo-WcfPOvVTpA",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "修改角色",
        "description": "# 接口说明\n\n更新角色\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/roles\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 角色ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 2-公司角色3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| roleSort | Integer | N | 排序 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n\n请求示例：\n\n```json\n{\n    \"id\": 198,\n    \"roleName\": \"门店前台1\",\n    \"roleType\": 2,\n    \"descpt\": \"descpt_619e8e08983a\",\n    \"roleSort\": 0,\n    \"visibleFlag\": 0\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Update successful\",\n    \"requestId\": \"171148c2-ae53-41a0-a336-03f00da332e5\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps56kes6imy-bhC72xyGNv\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_roles",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "角色ID"
                  },
                  "roleName": {
                    "type": "string",
                    "description": "角色名称"
                  },
                  "roleType": {
                    "type": "integer",
                    "description": "角色类型；2-公司角色3-门店角色"
                  },
                  "descpt": {
                    "type": "string",
                    "description": "角色描述"
                  },
                  "roleSort": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "visibleFlag": {
                    "type": "integer",
                    "description": "下级可见标志；0-不可见，1-可见"
                  }
                },
                "required": [
                  "id",
                  "roleName",
                  "roleType",
                  "descpt",
                  "roleSort",
                  "visibleFlag"
                ]
              },
              "example": {
                "id": 198,
                "roleName": "门店前台1",
                "roleType": 2,
                "descpt": "descpt_619e8e08983a",
                "roleSort": 0,
                "visibleFlag": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Update successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps56kes6imy-bhC72xyGNv",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/roles/{id}": {
      "get": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "查询角色详情",
        "description": "# 接口说明\n\n查询角色详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/roles/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 163是角色ID\n[GET] http://[ip]:[port]/openapi/v1/roles/163\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 1-超级管理员，2-公司角色，3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| code | String | N | 角色编号 |    |\n| roleSort | Integer | N | 排序 |    |\n| roleLevel | String | N | 上级路径 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n| insertTime | Date | Y | 创建时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"64ab9d08-666f-43fa-b8db-d039395982dc\",\n    \"data\": {\n        \"id\": 163,\n        \"roleName\": \"设备管理员\",\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"roleType\": 2,\n        \"descpt\": \"\",\n        \"code\": null,\n        \"insertUid\": 121,\n        \"roleSort\": null,\n        \"roleLevel\": null,\n        \"visibleFlag\": 0,\n        \"insertTime\": \"2024-02-28 16:17:55\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6kes6imy6km5oof-uqOMDitefj\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_roles_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "roleName": {
                          "type": "string",
                          "description": "角色名称"
                        },
                        "roleType": {
                          "type": "integer",
                          "description": "角色类型；1-超级管理员，2-公司角色，3-门店角色"
                        },
                        "descpt": {
                          "type": "string",
                          "description": "角色描述"
                        },
                        "code": {
                          "type": "string",
                          "description": "角色编号"
                        },
                        "roleSort": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "roleLevel": {
                          "type": "string",
                          "description": "上级路径"
                        },
                        "visibleFlag": {
                          "type": "integer",
                          "description": "下级可见标志；0-不可见，1-可见"
                        },
                        "insertTime": {
                          "type": "string",
                          "description": "创建时间"
                        }
                      },
                      "required": [
                        "id",
                        "roleName",
                        "roleType",
                        "insertTime"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6kes6imy6km5oof-uqOMDitefj",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      },
      "delete": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "删除角色",
        "description": "# 接口说明\n\n删除角色\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/roles/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 198为角色ID \n[DELETE] http://[ip]:[port]/openapi/v1/roles/198\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Delete successful\",\n    \"requestId\": \"137238a3-ef33-4fe7-81c7-a085ff6184a4\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk6kes6imy-bPVrWK1zwl\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_roles_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk6kes6imy-bPVrWK1zwl",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      }
    },
    "/api/v1/roles": {
      "post": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "新建角色",
        "description": "# 接口说明\n\n新建角色\n\n# 接口地址\n\n请求地址：==【**POST**】== /api/v1/roles\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 2-公司角色3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| roleSort | Integer | N | 排序 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n\n请求示例：\n\n```json\n{\n    \"roleName\": \"门店前台\",\n    \"roleType\": 3,\n    \"descpt\": \"descpt_619e8e08983a\",\n    \"roleSort\": 0,\n    \"visibleFlag\": 0\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| roleName | String | Y | 角色名称 |    |\n| roleType | Integer | Y | 角色类型 | 1-超级管理员，2-公司角色，3-门店角色 |\n| descpt | String | N | 角色描述 |    |\n| code | String | N | 角色编号 |    |\n| roleSort | Integer | N | 排序 |    |\n| roleLevel | String | N | 上级路径 |    |\n| visibleFlag | Integer | N | 下级可见标志 | 0-不可见，1-可见 |\n| insertTime | Date | Y | 创建时间 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"98cb66d4-98ec-4023-bb36-c14848d13627\",\n    \"data\": {\n        \"id\": 198,\n        \"roleName\": \"门店前台\",\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"roleType\": 3,\n        \"descpt\": \"descpt_619e8e08983a\",\n        \"code\": null,\n        \"insertUid\": 121,\n        \"roleSort\": 0,\n        \"roleLevel\": null,\n        \"visibleFlag\": 0,\n        \"insertTime\": \"2024-04-10 15:39:24\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu66kes6imy-XW06ltHtPG\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_api_v1_roles",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roleName": {
                    "type": "string",
                    "description": "角色名称"
                  },
                  "roleType": {
                    "type": "integer",
                    "description": "角色类型；2-公司角色3-门店角色"
                  },
                  "descpt": {
                    "type": "string",
                    "description": "角色描述"
                  },
                  "roleSort": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "visibleFlag": {
                    "type": "integer",
                    "description": "下级可见标志；0-不可见，1-可见"
                  }
                },
                "required": [
                  "roleName",
                  "roleType",
                  "descpt",
                  "roleSort",
                  "visibleFlag"
                ]
              },
              "example": {
                "roleName": "门店前台",
                "roleType": 3,
                "descpt": "descpt_619e8e08983a",
                "roleSort": 0,
                "visibleFlag": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "roleName": {
                          "type": "string",
                          "description": "角色名称"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "roleType": {
                          "type": "integer",
                          "description": "角色类型；1-超级管理员，2-公司角色，3-门店角色"
                        },
                        "descpt": {
                          "type": "string",
                          "description": "角色描述"
                        },
                        "code": {
                          "type": "string",
                          "nullable": true,
                          "description": "角色编号"
                        },
                        "insertUid": {
                          "type": "integer"
                        },
                        "roleSort": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "roleLevel": {
                          "type": "string",
                          "nullable": true,
                          "description": "上级路径"
                        },
                        "visibleFlag": {
                          "type": "integer",
                          "description": "下级可见标志；0-不可见，1-可见"
                        },
                        "insertTime": {
                          "type": "string",
                          "description": "创建时间"
                        }
                      },
                      "required": [
                        "id",
                        "roleName",
                        "coId",
                        "orgId",
                        "roleType",
                        "descpt",
                        "code",
                        "insertUid",
                        "roleSort",
                        "roleLevel",
                        "visibleFlag",
                        "insertTime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 198,
                    "roleName": "门店前台",
                    "coId": "example-id",
                    "orgId": "example-id",
                    "roleType": 3,
                    "descpt": "descpt_619e8e08983a",
                    "code": null,
                    "insertUid": 121,
                    "roleSort": 0,
                    "roleLevel": null,
                    "visibleFlag": 0,
                    "insertTime": "2024-04-10 15:39:24"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu66kes6imy-XW06ltHtPG",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/roles/{id}/permissions": {
      "get": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "查询角色权限",
        "description": "# 接口说明\n\n查询角色的权限\n\n\n:::info\n返回的是树形列表\n\n:::\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/roles/{id}/permissions\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 角色ID | 放在请求路径中 |\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| permType | String | Y | 权限类型 | manage：后台管理系统app：手机Appdevice：设备端 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 163为角色ID\n[GET] http://[ip]:[port]/openapi/v1/roles/163/permissions?permType=manage\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| name | String | Y | 权限名称 |    |\n| pid | Integer | Y | 父级id |    |\n| icon | String | N | 权限图标 |    |\n| permCode | String | N | 权限编号 |    |\n| permType | String | N | 权限分类 | manage：后台管理系统app：手机Appdevice：设备端 |\n| permUserType | String | N | 权限用户类型 | 1：管理员可见2：公司可见3：门店人员可见4：代理商 |\n| isdel | Integer | N | 是否删除 | 0-否，1-是 |\n| status | Integer | N | 状态 | 0-正常，1-停用 |\n| descpt | String | N | 描述 |    |\n| istype | Integer | N | 权限分类 | 0-菜单，1-功能 |\n| zindex | Integer | N | 排序 |    |\n| checked | Boolean | N | 是否选中 | true-选中，false-未选中 |\n| spread | Boolean | N | 是否默认展开节点 | true-展开，false-不展开 |\n| children | List<Object> | N | 子权限列表 | Object就是当前对象 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"102e0593-a9cc-45a1-b9d4-98340ea34a3a\",\n    \"data\": [\n        {\n            \"id\": 49,\n            \"name\": \"公司管理\",\n            \"pid\": 0,\n            \"zindex\": 100,\n            \"istype\": 0,\n            \"descpt\": \"公司管理\",\n            \"code\": \"company\",\n            \"icon\": \"layui-icon-group\",\n            \"isdel\": 0,\n            \"permCode\": null,\n            \"permType\": \"manage\",\n            \"permUserType\": \"1,2,3\",\n            \"status\": 0,\n            \"checked\": false,\n            \"spread\": true,\n            \"children\": [\n                {\n                    \"id\": 51,\n                    \"name\": \"组织门店管理\",\n                    \"pid\": 49,\n                    \"zindex\": 105,\n                    \"istype\": 0,\n                    \"descpt\": null,\n                    \"code\": null,\n                    \"icon\": null,\n                    \"isdel\": 0,\n                    \"permCode\": \"manage_system_shop\",\n                    \"permType\": \"manage\",\n                    \"permUserType\": \"1,2\",\n                    \"status\": null,\n                    \"checked\": false,\n                    \"spread\": true,\n                    \"children\": []\n                },\n                ...\n            ]\n        },\n        ...\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6kes6imy5p2d6zmq-dqXUSuaZze\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_roles_id_permissions",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "角色ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "permType",
            "in": "query",
            "required": true,
            "description": "权限类型；manage：后台管理系统app：手机Appdevice：设备端",
            "schema": {
              "type": "string"
            },
            "example": "manage",
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "name": {
                          "type": "string",
                          "description": "权限名称"
                        },
                        "pid": {
                          "type": "integer",
                          "description": "父级id"
                        },
                        "icon": {
                          "type": "string",
                          "description": "权限图标"
                        },
                        "permCode": {
                          "type": "string",
                          "description": "权限编号"
                        },
                        "permType": {
                          "type": "string",
                          "description": "权限分类；manage：后台管理系统app：手机Appdevice：设备端"
                        },
                        "permUserType": {
                          "type": "string",
                          "description": "权限用户类型；1：管理员可见2：公司可见3：门店人员可见4：代理商"
                        },
                        "isdel": {
                          "type": "integer",
                          "description": "是否删除；0-否，1-是"
                        },
                        "status": {
                          "type": "integer",
                          "description": "状态；0-正常，1-停用"
                        },
                        "descpt": {
                          "type": "string",
                          "description": "描述"
                        },
                        "istype": {
                          "type": "integer",
                          "description": "权限分类；0-菜单，1-功能"
                        },
                        "zindex": {
                          "type": "integer",
                          "description": "排序"
                        },
                        "checked": {
                          "type": "boolean",
                          "description": "是否选中；true-选中，false-未选中"
                        },
                        "spread": {
                          "type": "boolean",
                          "description": "是否默认展开节点；true-展开，false-不展开"
                        },
                        "children": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "子权限列表；Object就是当前对象"
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "pid"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6kes6imy5p2d6zmq-dqXUSuaZze",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "公司管理/角色权限管理"
        ],
        "summary": "更新角色权限",
        "description": "# 接口说明\n\n更新角色的权限\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/roles/{id}/permissions\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 角色ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| permIds | List<Integer> | Y | 权限ID集合 | 1. 该参数必须放在请求体中**2. 如果角色配置了子级权限，需要把父级权限也一起上送** |\n\n请求示例：\n\n```none\n// 163为角色ID\n[GET] http://[ip]:[port]/openapi/v1/roles/163/permissions\n\n请求体：\n[48, 102, 105]\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"6cd9b044-372d-4198-bd19-94b84d722ad7\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pu05paw6kes6imy5p2d6zmq-lMBgG1jaVL\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_roles_id_permissions",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "角色ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permIds": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "权限ID集合；1. 该参数必须放在请求体中2. 如果角色配置了子级权限，需要把父级权限也一起上送"
                  }
                },
                "required": [
                  "permIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pu05paw6kes6imy5p2d6zmq-lMBgG1jaVL",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "公司管理/角色权限管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/devices": {
      "get": {
        "tags": [
          "设备&机型/设备管理"
        ],
        "summary": "查询设备列表",
        "description": "# 接口说明\n\n查询设备列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/devices\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| deviceName | String | N | 设备名称 | 支持模糊搜索 |\n| devSn | String | N | 设备序列号（SN） |    |\n| devModelId | String | N | 机型ID |    |\n| osType | Integer | N | 系统类型 | 1-旧机型，2-新机型 |\n| remoteEditParamFlag | Integer | N | 远程修改参数标志 | 0-不支持，1-支持 |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认10，最大100条 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/devices\n?shopId=example-id\n&deviceName=机器\n&devModelId=example-id\n&devSn=86000000000\n&pageNum=1\n&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| deviceName | String | N | 设备名称 |    |\n| devSn | String | N | 设备序列号（SN） |    |\n| devModelId | String | N | 机型ID |    |\n| modelNo | String | N | 机型编号 | TC-10EA4-8kw |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织机构ID |    |\n| orgName | String | N | 组织名称 |    |\n| orgFullName | String | N | 组织全称 |    |\n| shopId | String | N | 门店ID |    |\n| shopName | String | N | 门店名称 |    |\n| dishCount | Integer | N | 菜谱数量 |    |\n| dischargeDate | String | N | 出厂日期 |    |\n| warrantyExpirationDate | String | N | 保修截止日期 |    |\n| onlineFlag | Integer | N | 在线标志 | 0-离线，1-在线 |\n| deviceState | Integer | N | 设备当前状态 | 第一个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警 |\n| deviceState2 | Integer | N | 设备当前状态（第二个锅） | 第二个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警 |\n| cookingDishName | String | N | 正在烹饪的菜谱 |    |\n| cookingDishName2 | String | N | 正在烹饪的菜谱（第二个锅） | 有的设备有两个锅 |\n| isdel | Integer | N | 是否删除 | 0-未删除，1-已删除 |\n| status | Integer | N | 状态 | 0-正常，1-停用 |\n| remark | String | N | 备注信息 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"d210556d-4ea4-4282-938a-86eb72a15243\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"deviceName\": \"46燃气煸炒机\",\n            \"devSn\": \"86000000000\",\n            \"devModelId\": \"example-id\",\n            \"modelNo\": \"TC-40GT\",\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"orgName\": \"快乐园\",\n            \"orgFullName\": \"快乐园\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"方正科技园\",\n            \"dishCount\": null,\n            \"dischargeDate\": \"2021-07-27 00:00:00\",\n            \"warrantyExpirationDate\": \"2022-07-27 00:00:00\",\n            \"onlineFlag\": 0,\n            \"deviceState\": 0,\n            \"isdel\": 0,\n            \"status\": 0,\n            \"remark\": null\n        }\n    ],\n    \"meta\": {\n        \"total\": 1,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6k65ash5yix6kgo-vG0ehppUNl\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_devices",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "deviceName",
            "in": "query",
            "required": false,
            "description": "设备名称；支持模糊搜索",
            "schema": {
              "type": "string"
            },
            "example": "机器",
            "x-source-order": 2
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号（SN）",
            "schema": {
              "type": "string"
            },
            "example": "86000000000",
            "x-source-order": 3
          },
          {
            "name": "devModelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 4
          },
          {
            "name": "osType",
            "in": "query",
            "required": false,
            "description": "系统类型；1-旧机型，2-新机型",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 5
          },
          {
            "name": "remoteEditParamFlag",
            "in": "query",
            "required": false,
            "description": "远程修改参数标志；0-不支持，1-支持",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 6
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 7
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认10，最大100条",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 8
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "主键"
                          },
                          "deviceName": {
                            "type": "string",
                            "description": "设备名称"
                          },
                          "devSn": {
                            "type": "string",
                            "description": "设备序列号（SN）"
                          },
                          "devModelId": {
                            "type": "string",
                            "description": "机型ID"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号；TC-10EA4-8kw"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织机构ID"
                          },
                          "orgName": {
                            "type": "string",
                            "description": "组织名称"
                          },
                          "orgFullName": {
                            "type": "string",
                            "description": "组织全称"
                          },
                          "shopId": {
                            "type": "string",
                            "description": "门店ID"
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "dishCount": {
                            "type": "integer",
                            "nullable": true,
                            "description": "菜谱数量"
                          },
                          "dischargeDate": {
                            "type": "string",
                            "description": "出厂日期"
                          },
                          "warrantyExpirationDate": {
                            "type": "string",
                            "description": "保修截止日期"
                          },
                          "onlineFlag": {
                            "type": "integer",
                            "description": "在线标志；0-离线，1-在线"
                          },
                          "deviceState": {
                            "type": "integer",
                            "description": "设备当前状态；第一个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警"
                          },
                          "isdel": {
                            "type": "integer",
                            "description": "是否删除；0-未删除，1-已删除"
                          },
                          "status": {
                            "type": "integer",
                            "description": "状态；0-正常，1-停用"
                          },
                          "remark": {
                            "type": "string",
                            "nullable": true,
                            "description": "备注信息"
                          },
                          "deviceState2": {
                            "type": "integer",
                            "description": "设备当前状态（第二个锅）；第二个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警"
                          },
                          "cookingDishName": {
                            "type": "string",
                            "description": "正在烹饪的菜谱"
                          },
                          "cookingDishName2": {
                            "type": "string",
                            "description": "正在烹饪的菜谱（第二个锅）；有的设备有两个锅"
                          }
                        },
                        "required": [
                          "id",
                          "deviceName",
                          "devSn",
                          "devModelId",
                          "modelNo",
                          "coId",
                          "orgId",
                          "orgName",
                          "orgFullName",
                          "shopId",
                          "shopName",
                          "dishCount",
                          "dischargeDate",
                          "warrantyExpirationDate",
                          "onlineFlag",
                          "deviceState",
                          "isdel",
                          "status",
                          "remark"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": "example-id",
                      "deviceName": "46燃气煸炒机",
                      "devSn": "86004600200",
                      "devModelId": "example-id",
                      "modelNo": "TC-40GT",
                      "coId": "example-id",
                      "orgId": "example-id",
                      "orgName": "快乐园",
                      "orgFullName": "快乐园",
                      "shopId": "example-id",
                      "shopName": "方正科技园",
                      "dishCount": null,
                      "dischargeDate": "2021-07-27 00:00:00",
                      "warrantyExpirationDate": "2022-07-27 00:00:00",
                      "onlineFlag": 0,
                      "deviceState": 0,
                      "isdel": 0,
                      "status": 0,
                      "remark": null
                    }
                  ],
                  "meta": {
                    "total": 1,
                    "pages": 1,
                    "page": 1,
                    "limit": 1000
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6k65ash5yix6kgo-vG0ehppUNl",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/设备管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/devices/{id}": {
      "get": {
        "tags": [
          "设备&机型/设备管理"
        ],
        "summary": "查询设备详情",
        "description": "# 接口说明\n\n查询设备详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/devices/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n// 请求参数对应位置如下标黄所示：\nhttp://[ip]:[port]/openapi/v1/devices/{id}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| deviceName | String | N | 设备名称 |    |\n| devSn | String | N | 设备序列号（SN） |    |\n| devModelId | String | N | 机型ID |    |\n| modelNo | String | N | 机型编号 | TC-10EA4-8kw |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织机构ID |    |\n| shopId | String | N | 门店ID |    |\n| shopName | String | N | 门店名称 |    |\n| dishCount | Integer | N | 菜谱数量 |    |\n| dischargeDate | String | N | 出厂日期 |    |\n| warrantyExpirationDate | String | N | 保修截止日期 |    |\n| onlineFlag | Integer | N | 设备在线标志 | 0-离线，1-在线 |\n| deviceState | Integer | N | 设备当前状态 | 第一个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警 |\n| deviceState2 | Integer | N | 设备当前状态（第二个锅） | 第二个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警 |\n| cookingDishName | String | N | 正在烹饪的菜谱 |    |\n| cookingDishName2 | String | N | 正在烹饪的菜谱（第二个锅） | 有的设备有两个锅 |\n| isdel | Integer | N | 是否删除 | 0-未删除，1-已删除 |\n| status | Integer | N | 状态 | 0-正常，1-停用 |\n| remark | String | N | 备注信息 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"7fd060e3-4c7c-4421-b19c-f537d34cadad\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"deviceName\": \"41电磁煸炒\",\n        \"devSn\": \"86000000000\",\n        \"devModelId\": \"example-id\",\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"shopId\": \"0\",\n        \"dischargeDate\": \"2024-04-16\",\n        \"warrantyExpirationDate\": \"2024-04-16\",\n        \"isdel\": 0,\n        \"lastHeartbeatTime\": null,\n        \"deviceState\": 0,\n        \"status\": 0,\n        \"createUser\": 1,\n        \"createtime\": \"2024-04-16 15:10:39\",\n        \"updateUser\": 1,\n        \"updateTime\": \"2024-04-16 15:10:39\",\n        \"remark\": \"860041\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6k65ash6km5oof-4D1D88NGl7\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_devices_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键"
                        },
                        "deviceName": {
                          "type": "string",
                          "description": "设备名称"
                        },
                        "devSn": {
                          "type": "string",
                          "description": "设备序列号（SN）"
                        },
                        "devModelId": {
                          "type": "string",
                          "description": "机型ID"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织机构ID"
                        },
                        "shopId": {
                          "type": "string",
                          "description": "门店ID"
                        },
                        "dischargeDate": {
                          "type": "string",
                          "description": "出厂日期"
                        },
                        "warrantyExpirationDate": {
                          "type": "string",
                          "description": "保修截止日期"
                        },
                        "isdel": {
                          "type": "integer",
                          "description": "是否删除；0-未删除，1-已删除"
                        },
                        "lastHeartbeatTime": {
                          "nullable": true
                        },
                        "deviceState": {
                          "type": "integer",
                          "description": "设备当前状态；第一个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警"
                        },
                        "status": {
                          "type": "integer",
                          "description": "状态；0-正常，1-停用"
                        },
                        "createUser": {
                          "type": "integer"
                        },
                        "createtime": {
                          "type": "string"
                        },
                        "updateUser": {
                          "type": "integer"
                        },
                        "updateTime": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string",
                          "description": "备注信息"
                        },
                        "modelNo": {
                          "type": "string",
                          "description": "机型编号；TC-10EA4-8kw"
                        },
                        "shopName": {
                          "type": "string",
                          "description": "门店名称"
                        },
                        "dishCount": {
                          "type": "integer",
                          "description": "菜谱数量"
                        },
                        "onlineFlag": {
                          "type": "integer",
                          "description": "设备在线标志；0-离线，1-在线"
                        },
                        "deviceState2": {
                          "type": "integer",
                          "description": "设备当前状态（第二个锅）；第二个锅的状态，-1：等待执行，0：空闲，1：烹饪中，2：烹饪完成，3：指令处理完成，4：复位中，5：暂停烹饪，6：出菜中，7：出菜完成，8：洗锅中，9：洗锅完成，10：故障，111：告警"
                        },
                        "cookingDishName": {
                          "type": "string",
                          "description": "正在烹饪的菜谱"
                        },
                        "cookingDishName2": {
                          "type": "string",
                          "description": "正在烹饪的菜谱（第二个锅）；有的设备有两个锅"
                        }
                      },
                      "required": [
                        "id",
                        "deviceName",
                        "devSn",
                        "devModelId",
                        "coId",
                        "orgId",
                        "shopId",
                        "dischargeDate",
                        "warrantyExpirationDate",
                        "isdel",
                        "lastHeartbeatTime",
                        "deviceState",
                        "status",
                        "createUser",
                        "createtime",
                        "updateUser",
                        "updateTime",
                        "remark"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "deviceName": "41电磁煸炒",
                    "devSn": "86004100101",
                    "devModelId": "example-id",
                    "coId": "example-id",
                    "orgId": "example-id",
                    "shopId": "0",
                    "dischargeDate": "2024-04-16",
                    "warrantyExpirationDate": "2024-04-16",
                    "isdel": 0,
                    "lastHeartbeatTime": null,
                    "deviceState": 0,
                    "status": 0,
                    "createUser": 1,
                    "createtime": "2024-04-16 15:10:39",
                    "updateUser": 1,
                    "updateTime": "2024-04-16 15:10:39",
                    "remark": "860041"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6k65ash6km5oof-4D1D88NGl7",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/设备管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/devices/transfer": {
      "post": {
        "tags": [
          "设备&机型/设备管理"
        ],
        "summary": "批量转移设备",
        "description": "# 接口说明\n\n批量转移设备\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/devices/transfer\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | Y | 要迁入的组织ID | 要迁入的目标组织ID |\n| shopId | String | N | 要迁入的门店ID |    |\n| deviceIds | List<String> | Y | 要迁移的设备ID |    |\n\n请求示例：\n\n```json\n{\n    \"orgId\": \"example-id\",\n    \"shopId\": \"adf0c4a595ddssdfb417638aa13e2bfc\",\n    \"deviceIds\": [\n        \"example-id\",\n        \"example-id\"\n    ]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"dc020f34-b0f0-4437-a1a3-54e421d110a6\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5om56yep6l2s56e76k65ash-yw8WfrYZZ5\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_devices_transfer",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "要迁入的组织ID；要迁入的目标组织ID"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "要迁入的门店ID"
                  },
                  "deviceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "要迁移的设备ID"
                  }
                },
                "required": [
                  "orgId",
                  "shopId",
                  "deviceIds"
                ]
              },
              "example": {
                "orgId": "example-id",
                "shopId": "adf0c4a595ddssdfb417638aa13e2bfc",
                "deviceIds": [
                  "f94a82298f1640fe8eb11dcf2de94f98",
                  "54def4910ad54595a12e2eb67681b655"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5om56yep6l2s56e76k65ash-yw8WfrYZZ5",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/设备管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/devices/commands": {
      "post": {
        "tags": [
          "设备&机型/指令管理"
        ],
        "summary": "执行指令",
        "description": ":::warning\n**该模块仅支持 软件版本为 V1.2.33 以上的设备。**\n\n:::\n\n# 接口说明\n\n用户可以通过这个接口执行设备指令。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/devices/commands\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |    |    |\n|----|----|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |    |    |\n| `Accept-Language` | zh-CN | 默认中文 |    |    |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |    |    |\n| `sign` | {{tchef_sign}} | 生成的签名 |    |    |\n| `coid` | {{tchef_coid}} | 机构标识 |    |    |\n| `nonce` | {{tchef_nonce}} | 随机数 |    |    |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |    |    |\n| `mobile` | {{tchef_mobile}} | 手机号 |    |    |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| devSn | String | Y | 设备序列号 |    |\n| command | String | Y | 设备指令 | 参考[指令清单](/doc/5zg95luk5rif5y2v-aXW6zKO7w9) |\n| data | Object | N | 参数 |    |\n\n请求示例：\n\n```json\n{\n    \"devSn\": \"86000000000\",\n    \"command\": \"C0001\",\n    \"data\": {\n        \"remark\": \"备注信息\"\n    }\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| data | Object | N | 响应数据 | 有的命令可能会返回数据 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"命令执行成功\",\n    \"requestId\": \"9b489109-e5d8-4d83-9679-00349d419007\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"coId\": \"example-id\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5omn6kgm5oyh5luk-lxoDEm8HWs\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_devices_commands",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "devSn": {
                    "type": "string",
                    "description": "设备序列号"
                  },
                  "command": {
                    "type": "string",
                    "description": "设备指令；参考[指令清单](/doc/5zg95luk5rif5y2v-aXW6zKO7w9)"
                  },
                  "data": {
                    "type": "object",
                    "properties": {
                      "remark": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "remark"
                    ],
                    "description": "参数"
                  }
                },
                "required": [
                  "devSn",
                  "command",
                  "data"
                ]
              },
              "example": {
                "devSn": "86040000001",
                "command": "C0001",
                "data": {
                  "remark": "备注信息"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "coId": {
                          "type": "string"
                        },
                        "data": {
                          "type": "object",
                          "description": "响应数据；有的命令可能会返回数据"
                        }
                      },
                      "required": [
                        "id",
                        "coId"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "命令执行成功",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "coId": "example-id"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5omn6kgm5oyh5luk-lxoDEm8HWs",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/指令管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/device-models": {
      "get": {
        "tags": [
          "设备&机型/机型管理"
        ],
        "summary": "查询机型列表",
        "description": "# 接口说明\n\n查询机型列表，这个接口不用登录也可以访问：\n\n* 默认获取用户所在组织与门店下的机型，如果用户传了 `orgId` 则以用户传的为准\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/device-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| **orgId** | **String** | **N** | **组织ID** |    |\n| **shopId** | **String** | **N** | **门店ID** |    |\n| modelName | String | N | 机型名称 | 燃气煸炒机 |\n| modelSn | String | N | 机型编号 | [附录二：设备类型](/doc/6zme5b2v5lqm77ya6k65ash57g75z6l-NoU472xhgG) |\n| osType | Integer | N | 系统类型 | 1-旧机型，2-新机型 |\n| remoteEditParamFlag | Integer | N | 远程修改参数标志 | 0-不支持，1-支持 |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/device-models\n?modelName=燃气煸炒机\n&modelCode=100\n&pageNum=1\n&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键 |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型号 | 如：TC-10EA4-8kw |\n| modelSn | String | Y | 机型编号 | 附录二：[1.设备机型](#%E8%AE%BE%E5%A4%87%E7%B1%BB%E5%9E%8B) |\n| ==condimentMode== | ==Integer== | ==Y== | *==调料模式==* | *==0-自定义料仓, 1-新版调料方案==* |\n| maxProduceVolume | String | N | 最大出品量(KG) | 4 |\n| heatSourceType | String | N | 热源类别 | 电磁加热、燃气加热 |\n| supplyVoltage | String | N | 供电电压（VAC） | 380V |\n| supplyFrequency | String | N | 供电频率 | 50Hz |\n| ratedPower | String | N | 额定功率（KW） | 8kw,5kw |\n| picBig | String | N | 图片（大图） |    |\n| picSmall | String | N | 图片（概要图） |    |\n| desc | String | N | 机型描述 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"3ac68517-b213-488c-b747-e623aae47269\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"modelName\": \"41电磁煸炒\",\n            \"modelNo\": \"TC-40E1/2/3/5/6\",\n            \"modelSn\": \"0041\",\n            \"remoteEditParamFlag\": 1,\n            \"supplyFrequency\": null,\n            \"ratedPower\": null,\n            \"picSmall\": null,\n            \"picBig\": \"202311/20231121153029761033.jpg\",\n            \"desc\": \"主要用于煸炒,也可以用于炒粉、炒面、炒饭和少量炖菜\",\n            \"maxProduceVolume\": \"4\",\n            \"heatSourceType\": \"电磁加热\",\n            \"supplyVoltage\": \"380/13\"\n        }\n    ],\n    \"meta\": {\n        \"total\": 1,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_device_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "modelName",
            "in": "query",
            "required": false,
            "description": "机型名称；燃气煸炒机",
            "schema": {
              "type": "string"
            },
            "example": "燃气煸炒机",
            "x-source-order": 2
          },
          {
            "name": "modelSn",
            "in": "query",
            "required": false,
            "description": "机型编号；[附录二：设备类型](/doc/6zme5b2v5lqm77ya6k65ash57g75z6l-NoU472xhgG)",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "osType",
            "in": "query",
            "required": false,
            "description": "系统类型；1-旧机型，2-新机型",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 4
          },
          {
            "name": "remoteEditParamFlag",
            "in": "query",
            "required": false,
            "description": "远程修改参数标志；0-不支持，1-支持",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 5
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 6
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 7
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "主键"
                          },
                          "modelName": {
                            "type": "string",
                            "description": "机型名称"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型号；如：TC-10EA4-8kw"
                          },
                          "modelSn": {
                            "type": "string",
                            "description": "机型编号；附录二：[1.设备机型](#%E8%AE%BE%E5%A4%87%E7%B1%BB%E5%9E%8B)"
                          },
                          "remoteEditParamFlag": {
                            "type": "integer"
                          },
                          "supplyFrequency": {
                            "type": "string",
                            "nullable": true,
                            "description": "供电频率；50Hz"
                          },
                          "ratedPower": {
                            "type": "string",
                            "nullable": true,
                            "description": "额定功率（KW）；8kw,5kw"
                          },
                          "picSmall": {
                            "type": "string",
                            "nullable": true,
                            "description": "图片（概要图）"
                          },
                          "picBig": {
                            "type": "string",
                            "description": "图片（大图）"
                          },
                          "desc": {
                            "type": "string",
                            "description": "机型描述"
                          },
                          "maxProduceVolume": {
                            "type": "string",
                            "description": "最大出品量(KG)；4"
                          },
                          "heatSourceType": {
                            "type": "string",
                            "description": "热源类别；电磁加热、燃气加热"
                          },
                          "supplyVoltage": {
                            "type": "string",
                            "description": "供电电压（VAC）；380V"
                          },
                          "condimentMode": {
                            "type": "integer",
                            "description": "*调料模式*；*0-自定义料仓, 1-新版调料方案*"
                          }
                        },
                        "required": [
                          "id",
                          "modelName",
                          "modelNo",
                          "modelSn",
                          "remoteEditParamFlag",
                          "supplyFrequency",
                          "ratedPower",
                          "picSmall",
                          "picBig",
                          "desc",
                          "maxProduceVolume",
                          "heatSourceType",
                          "supplyVoltage",
                          "condimentMode"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": "example-id",
                      "modelName": "41电磁煸炒",
                      "modelNo": "TC-40E1/2/3/5/6",
                      "modelSn": "0041",
                      "remoteEditParamFlag": 1,
                      "supplyFrequency": null,
                      "ratedPower": null,
                      "picSmall": null,
                      "picBig": "202311/20231121153029761033.jpg",
                      "desc": "主要用于煸炒,也可以用于炒粉、炒面、炒饭和少量炖菜",
                      "maxProduceVolume": "4",
                      "heatSourceType": "电磁加热",
                      "supplyVoltage": "380/13"
                    }
                  ],
                  "meta": {
                    "total": 1,
                    "pages": 1,
                    "page": 1,
                    "limit": 1000
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/机型管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/device-models/{id}": {
      "get": {
        "tags": [
          "设备&机型/机型管理"
        ],
        "summary": "查询机型详情",
        "description": "# 接口说明\n\n查询机型详情\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/device-models/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/device-models/1adfa151fd3a1fa3dsa\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 主键 |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型号 | 如：TC-10EA4-8kw |\n| desc | String | N | 机型描述 |    |\n| isDelete | Integer | N | 是否已删除 | 1-是，0-否 |\n| modelCode | String | Y | 机型编号 | 附录二：[1.设备机型](#%E8%AE%BE%E5%A4%87%E7%B1%BB%E5%9E%8B) |\n| maxProduceVolume | String | N | 最大出品量(KG) | 4 |\n| heatSourceType | String | N | 热源类别 | 电磁加热、燃气加热 |\n| supplyVoltage | String | N | 供电电压（VAC） | 380V |\n| supplyFrequency | String | N | 供电频率 | 50Hz |\n| ratedPower | String | N | 额定功率（KW） | 8kw,5kw |\n| picBig | String | N | 图片（大图） |    |\n| picSmall | String | N | 图片（概要图） |    |\n| componentUrl | String | N | 部件库地址 | 可以在Web端设备升级里配置 |\n| osType | Integer | N | 系统类型 | 1-旧机型2-安卓机 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"f11930bf-14de-4fa5-99cb-ff10e6b11dc2\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"modelName\": \"46燃气煸炒机\",\n        \"modelNo\": \"TC-40GT\",\n        \"supplyFrequency\": null,\n        \"ratedPower\": null,\n        \"picSmall\": null,\n        \"picBig\": \"http://192.168.0.32:83/upload/dish_img/202311/20231121152340201775.jpg\",\n        \"componentUrl\": null,\n        \"osType\": 1,\n        \"desc\": \"主要用于煸炒菜肴，也可以炒部分粉、面及少量烧炖菜\",\n        \"isDelete\": 0,\n        \"modelCode\": \"0046\",\n        \"maxProduceVolume\": \"4\",\n        \"heatSourceType\": \"石油液化气或者天然气\",\n        \"supplyVoltage\": \"220V/0.5\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5py65z6l6km5oof-FT0Dj7FrH0\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_device_models_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "主键"
                        },
                        "modelName": {
                          "type": "string",
                          "description": "机型名称"
                        },
                        "modelNo": {
                          "type": "string",
                          "description": "机型号；如：TC-10EA4-8kw"
                        },
                        "supplyFrequency": {
                          "type": "string",
                          "nullable": true,
                          "description": "供电频率；50Hz"
                        },
                        "ratedPower": {
                          "type": "string",
                          "nullable": true,
                          "description": "额定功率（KW）；8kw,5kw"
                        },
                        "picSmall": {
                          "type": "string",
                          "nullable": true,
                          "description": "图片（概要图）"
                        },
                        "picBig": {
                          "type": "string",
                          "description": "图片（大图）"
                        },
                        "componentUrl": {
                          "type": "string",
                          "nullable": true,
                          "description": "部件库地址；可以在Web端设备升级里配置"
                        },
                        "osType": {
                          "type": "integer",
                          "description": "系统类型；1-旧机型2-安卓机"
                        },
                        "desc": {
                          "type": "string",
                          "description": "机型描述"
                        },
                        "isDelete": {
                          "type": "integer",
                          "description": "是否已删除；1-是，0-否"
                        },
                        "modelCode": {
                          "type": "string",
                          "description": "机型编号；附录二：[1.设备机型](#%E8%AE%BE%E5%A4%87%E7%B1%BB%E5%9E%8B)"
                        },
                        "maxProduceVolume": {
                          "type": "string",
                          "description": "最大出品量(KG)；4"
                        },
                        "heatSourceType": {
                          "type": "string",
                          "description": "热源类别；电磁加热、燃气加热"
                        },
                        "supplyVoltage": {
                          "type": "string",
                          "description": "供电电压（VAC）；380V"
                        }
                      },
                      "required": [
                        "id",
                        "modelName",
                        "modelNo",
                        "supplyFrequency",
                        "ratedPower",
                        "picSmall",
                        "picBig",
                        "componentUrl",
                        "osType",
                        "desc",
                        "isDelete",
                        "modelCode",
                        "maxProduceVolume",
                        "heatSourceType",
                        "supplyVoltage"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "modelName": "46燃气煸炒机",
                    "modelNo": "TC-40GT",
                    "supplyFrequency": null,
                    "ratedPower": null,
                    "picSmall": null,
                    "picBig": "http://192.168.0.32:83/upload/dish_img/202311/20231121152340201775.jpg",
                    "componentUrl": null,
                    "osType": 1,
                    "desc": "主要用于煸炒菜肴，也可以炒部分粉、面及少量烧炖菜",
                    "isDelete": 0,
                    "modelCode": "0046",
                    "maxProduceVolume": "4",
                    "heatSourceType": "石油液化气或者天然气",
                    "supplyVoltage": "220V/0.5"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5py65z6l6km5oof-FT0Dj7FrH0",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/机型管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/device-model-configs": {
      "get": {
        "tags": [
          "设备&机型/机型管理"
        ],
        "summary": "查询机型参数",
        "description": "# 接口说明\n\n查询机型配置参数，可以根据 modelId 或 modelSn 查询该机型配置的基本参数。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/device-model-configs\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| modelId | String | N | 机型ID | modelId 和 modelSn 两者不能同时为空 |\n| modelSn | String | N | 机型编号 | 机型编号的值如0100，见[附录二：设备类型](/doc/6zme5b2v5lqm77ya6k65ash57g75z6l-NoU472xhgG) |\n| configItem | String | N | 机型配置选项 | 可选值如下，多个则用竖线隔开all：全部参数，默认值firelevel：火力mixtype：搅拌类型mixspeeds：搅拌速度potpostion：锅口位置feed：投料liquid：液体powder：粉末 |\n\n* **Body**\n\n无\n\n\n请求示例：\n\n```json\n// 请求参数对应位置如下标黄所示：\nhttp://127.0.0.1:8083/openapi/v1/device-model-configs\n?modelId=example-id\n&modelSn=0046\n&configItem=all\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| num | Integer | Y | 数量 |    |\n| listFireLevel | List<Object> | N | 火力档位 |    |\n| listMixType | List<Object> | N | 搅拌类型 |    |\n| listMixSpeeds | List<Object> | N | 搅拌速度 |    |\n| listPotPostion | List<Object> | N | 锅口位置 |    |\n| listFeed | List<Object> | N | 投料 |    |\n| listLiquid | List<Object> | N | 液体 |    |\n| listPowder | List<Object> | N | 粉末 |    |\n\n所有 `Object` 对象属性：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | Y | 主键 |    |\n| itemName | String | Y | 配置名 |    |\n| itemValue | String | Y | 配置值 |    |\n| feedType | Integer | N | 投料类型 | 1-自动投料2-手动投料 |\n| boxCode | Integer | N | 料盒编码 | **自动投料：**\\n1-4,41  **手动投料：**5-39,41及以上（包含41） |\n| desc | String | N | 描述 |    |\n| reserved1 | String | N | 保留字段1 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"e6e1ff15-7ffd-4422-9f1c-04906cae5a30\",\n    \"data\": {\n        \"listFireLevel\": [\n            {\n                \"id\": 6559,\n                \"itemName\": \"关火\",\n                \"itemValue\": \"0\",\n                \"actionNo\": null,\n                \"feedType\": null,\n                \"boxCode\": null,\n                \"rotationUnit\": null,\n                \"maxValue\": null,\n                \"desc\": \"\"\n            },\n            {\n                \"id\": 4740,\n                \"itemName\": \"1档\",\n                \"itemValue\": \"1\",\n                \"actionNo\": null,\n                \"feedType\": null,\n                \"boxCode\": null,\n                \"rotationUnit\": null,\n                \"maxValue\": null,\n                \"desc\": \"\"\n            },\n            ......\n        ],\n        \"listFeed\": [\n            {\n                \"id\": 1220,\n                \"itemName\": \"料盒1\",\n                \"itemValue\": \"82\",\n                \"feedType\": 1,\n                \"boxCode\": 1,\n            },\n            {\n                \"id\": 1221,\n                \"itemName\": \"料盒2\",\n                \"itemValue\": \"82\",\n                \"feedType\": 1,\n                \"boxCode\": 2,\n            },\n            ......\n        ],\n        \"listPowder\": [],\n        \"listLid\": [],\n        \"listAutoFeed\": []\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_device_model_configs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID；modelId 和 modelSn 两者不能同时为空",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "modelSn",
            "in": "query",
            "required": false,
            "description": "机型编号；机型编号的值如0100，见[附录二：设备类型](/doc/6zme5b2v5lqm77ya6k65ash57g75z6l-NoU472xhgG)",
            "schema": {
              "type": "string"
            },
            "example": "0046",
            "x-source-order": 1
          },
          {
            "name": "configItem",
            "in": "query",
            "required": false,
            "description": "机型配置选项；可选值如下，多个则用竖线隔开all：全部参数，默认值firelevel：火力mixtype：搅拌类型mixspeeds：搅拌速度potpostion：锅口位置feed：投料liquid：液体powder：粉末",
            "schema": {
              "type": "string"
            },
            "example": "all",
            "x-source-order": 2
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "num": {
                          "type": "integer",
                          "description": "数量"
                        },
                        "listFireLevel": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "火力档位"
                        },
                        "listMixType": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "搅拌类型"
                        },
                        "listMixSpeeds": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "搅拌速度"
                        },
                        "listPotPostion": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "锅口位置"
                        },
                        "listFeed": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "投料"
                        },
                        "listLiquid": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "液体"
                        },
                        "listPowder": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": true
                          },
                          "description": "粉末"
                        },
                        "参数名": {
                          "type": "string",
                          "description": "说明；备注"
                        },
                        "----": {
                          "type": "string",
                          "description": "----；----"
                        },
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "itemName": {
                          "type": "string",
                          "description": "配置名"
                        },
                        "itemValue": {
                          "type": "string",
                          "description": "配置值"
                        },
                        "feedType": {
                          "type": "integer",
                          "description": "投料类型；1-自动投料2-手动投料"
                        },
                        "boxCode": {
                          "type": "integer",
                          "description": "料盒编码；自动投料：\\n1-4,41  手动投料：5-39,41及以上（包含41）"
                        },
                        "desc": {
                          "type": "string",
                          "description": "描述"
                        },
                        "reserved1": {
                          "type": "string",
                          "description": "保留字段1"
                        }
                      },
                      "required": [
                        "num",
                        "参数名",
                        "id",
                        "itemName",
                        "itemValue"
                      ]
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/机型管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "设备&机型/机型管理"
        ],
        "summary": "更新机型参数",
        "description": "# 接口说明\n\n可以对液路、粉末修改名称，默认液路名称是液1、液2…，可以通过这个接口改成酱油、白醋…，粉末同理。\n\n\n:::info\n\n1. 每种机型都有一套基础参数，如果客户需要可以自己定义一套参数，并以此为准；如果更新时公司下没有该机型的参数，会自动复制一份基础参数，然后在此基础上进行修改；\n2. 子级组织如果没有自定义参数的话，会默认使用上级的参数，如果有修改机型参数，则以自己的参数为准。\n\n:::\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/device-model-configs\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| itemName | String | N | 项目名称 |    |\n| reserved1 | String | N | 保留字段1 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": 60,\n    \"itemName\": \"油\",\n    \"reserved1\": \"备用字段1\"\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"89f9fdef-61be-430d-97f4-92aaa2dbea78\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_device_model_configs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "主键"
                  },
                  "itemName": {
                    "type": "string",
                    "description": "项目名称"
                  },
                  "reserved1": {
                    "type": "string",
                    "description": "保留字段1"
                  }
                },
                "required": [
                  "id",
                  "itemName",
                  "reserved1"
                ]
              },
              "example": {
                "id": 60,
                "itemName": "油",
                "reserved1": "备用字段1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "设备&机型/机型管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-categories/with-models": {
      "get": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "查询分类列表（带机型）",
        "description": "# 接口说明\n\n查询菜谱分类列表，==同时会将分类关联的所有机型一起返回。==\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-categories/with-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| categoryName | String | N | 分类名称 | 模糊匹配 |\n| modelId | String | N | 机型ID |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认50 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 查询标签列表\nhttp://[ip]:[port]/openapi/v1/dish-categories/with-models?categoryName=茶点&pageNum=1&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 分类id |    |\n| coId | String | Y | 公司id |    |\n| orgId | String | N | 组织ID |    |\n| categoryName | String | Y | 分类名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| createTime | String | N | 创建时间 |    |\n| ==modelList== | ==List<Object>== | ==N== | ==关联的机型== |    |\n\nmodelList对象：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 机型ID |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型编号 |    |\n| modelSn | String | Y | 机型编码 |    |\n| osType | Integer | Y | 系统类型 | 1-旧系统，2-安卓屏 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"87a6af70-26a8-4100-932d-9b5fa4ea86f6\",\n    \"data\": [\n        {\n            \"id\": 5,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"categoryName\": \"荤菜\",\n            \"sortOrder\": 1,\n            \"createTime\": \"2025-05-29 10:32:33\",\n            \"modelList\": [\n                {\n                    \"id\": \"example-id\",\n                    \"modelName\": \"300ES_610电磁煸炒\",\n                    \"modelNo\": \"TC-300ES\",\n                    \"modelSn\": \"0610\",\n                    \"osType\": 2\n                }\n            ]\n        },\n        {\n            \"id\": 7,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"categoryName\": \"半荤菜\",\n            \"sortOrder\": 1,\n            \"createTime\": \"2025-05-29 11:18:51\",\n            \"modelList\": [\n                {\n                    \"id\": \"example-id\",\n                    \"modelName\": \"300ES_610电磁煸炒\",\n                    \"modelNo\": \"TC-300ES\",\n                    \"modelSn\": \"0610\",\n                    \"osType\": 2\n                }\n            ]\n        }\n    ],\n    \"meta\": {\n        \"total\": 2,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 50\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57g75yix6kgo77yi5bim5py65z6l77yj-1SeoQ1LgkH\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_categories_with_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "categoryName",
            "in": "query",
            "required": false,
            "description": "分类名称；模糊匹配",
            "schema": {
              "type": "string"
            },
            "example": "茶点",
            "x-source-order": 0
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认50",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "机型ID"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司id"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "categoryName": {
                            "type": "string",
                            "description": "分类名称"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序号"
                          },
                          "createTime": {
                            "type": "string",
                            "description": "创建时间"
                          },
                          "modelList": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true
                            },
                            "description": "关联的机型"
                          },
                          "参数名": {
                            "type": "string",
                            "description": "说明；备注"
                          },
                          ":---:": {
                            "type": "string",
                            "description": ":---:；----"
                          },
                          "modelName": {
                            "type": "string",
                            "description": "机型名称"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "modelSn": {
                            "type": "string",
                            "description": "机型编码"
                          },
                          "osType": {
                            "type": "integer",
                            "description": "系统类型；1-旧系统，2-安卓屏"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "categoryName",
                          "参数名",
                          "id",
                          "modelName",
                          "modelNo",
                          "modelSn",
                          "osType"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57g75yix6kgo77yi5bim5py65z6l77yj-1SeoQ1LgkH",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-categories/{categoryId}/bind-models": {
      "get": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "查询分类下的机型",
        "description": "# 接口说明\n\n查询分类下的机型\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-categories/=={categoryId}==/bind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| categoryId | Integer | Y | 菜谱分类ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n# 请求路径，76是分类ID\n[GET] http://ip:port/openapi/v1/dish-categories/76/bind-models\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 机型ID |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型编号 |    |\n| modelSn | String | Y | 机型编码 |    |\n| osType | Integer | Y | 系统类型 | 1-旧系统，2-安卓屏 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"80f8b2cc-3477-47b6-92f8-469c4d150122\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"modelName\": \"300ES_610电磁煸炒\",\n            \"modelNo\": \"TC-300ES\",\n            \"modelSn\": \"0610\",\n            \"osType\": 2\n        }\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57g75lil55qe5py65z6l-eCyLCvHw5M\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_categories_categoryId_bind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "菜谱分类ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "机型ID"
                          },
                          "modelName": {
                            "type": "string",
                            "description": "机型名称"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "modelSn": {
                            "type": "string",
                            "description": "机型编码"
                          },
                          "osType": {
                            "type": "integer",
                            "description": "系统类型；1-旧系统，2-安卓屏"
                          }
                        },
                        "required": [
                          "id",
                          "modelName",
                          "modelNo",
                          "modelSn",
                          "osType"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57g75lil55qe5py65z6l-eCyLCvHw5M",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "分类绑定机型",
        "description": "# 接口说明\n\n分类绑定机型\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-categories/=={categoryId}==/bind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| categoryId | Integer | Y | 分类ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| 无 | List<String> | Y | 机型ID集合 |    |\n\n请求示例：\n\n```none\n# 请求路径\n[POST] http://ip:port/openapi/v1/dish-categories/76/bind-models\n\n# 请求体\n{\r\n    \"modelIds\": [\"example-id\"]\r\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Binding successfully\",\n    \"requestId\": \"69053d09-a13a-4872-9d07-895340492b60\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig57g757ur5a6a5py65z6l-bkWqFu81Td\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_categories_categoryId_bind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "分类ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig57g757ur5a6a5py65z6l-bkWqFu81Td",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-categories/{id}": {
      "delete": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "删除分类",
        "description": "# 接口说明\n\n删除分类\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/dish-categories/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 分类ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n# id 是 523\n[DELETE] http://ip:port/openapi/v1/dish-categories/523\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Delete successful\",\n    \"requestId\": \"f7afb18c-d026-4e27-8a6c-167ba541506f\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk5yig57g7-6ZNpWEVJMx\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_dish_categories_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "分类ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Delete successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk5yig57g7-6ZNpWEVJMx",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-categories/{categoryId}/unbind-models": {
      "post": {
        "tags": [
          "菜谱管理/分类管理"
        ],
        "summary": "分类解绑机型",
        "description": "# 接口说明\n\n分类绑定机型\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-categories/=={categoryId}==/unbind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| categoryId | Integer | Y | 分类ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| 无 | List<String> | Y | 机型ID集合 |    |\n\n请求示例：\n\n```none\n# 请求路径\n[POST] http://ip:port/openapi/v1/dish-categories/76/unbind-models\n\n# 请求体\n{\r\n    \"modelIds\": [\"example-id\"]\r\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Unbind successfully\",\n    \"requestId\": \"c5be874e-02af-4237-9724-37d3f9d66abb\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig57g76kej57ur5py65z6l-aUzPPyvk3b\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_categories_categoryId_unbind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "categoryId",
            "in": "path",
            "required": true,
            "description": "分类ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig57g76kej57ur5py65z6l-aUzPPyvk3b",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分类管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/aggregate": {
      "get": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "聚合查询菜谱分组",
        "description": "# 接口说明\n\n通过菜谱名称，聚合查询菜谱有哪些标签。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-labels/aggregate\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| dishName | String | Y | 菜谱名称 |    |\n| deviceModelId | String | N | 设备机型ID |    |\n| dishStatus | String | N | 菜谱状态 | 1-开发中；2-已存档；3-已停用==（平板设备默认不返回已停用和已删除的菜谱）== |\n\n\n:::tip\n这里的参数必须和与调用 [查询菜谱列表](/doc/5pl6ki6ic6lcx5yix6kgo-GR7C2n2ZhS) 接口时传的参数保持一致，否则两个接口的结果对不上\n\n:::\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/dish-labels/aggregate?dishName=青椒土豆丝&modelId=example-id\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---:|\n| labelName | String | N | 标签名称 |    |\n| dishId | String | N | 菜谱ID |    |\n| dishName | String | N | 菜谱名称 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"33fadf79-3930-41cc-8681-2eefe7a038c3\",\n    \"data\": [\n        {\n            \"id\": null,\n            \"labelId\": null,\n            \"labelName\": \"Specs 1\",\n            \"dishId\": \"example-id\",\n            \"dishName\": \"青椒土豆丝\",\n            \"reserved\": null,\n            \"createtime\": null\n        },\n        {\n            \"id\": null,\n            \"labelId\": null,\n            \"labelName\": \"三份\",\n            \"dishId\": \"example-id\",\n            \"dishName\": \"青椒土豆丝\",\n            \"reserved\": null,\n            \"createtime\": null\n        },\n        {\n            \"id\": null,\n            \"labelId\": null,\n            \"labelName\": \"四份\",\n            \"dishId\": \"example-id\",\n            \"dishName\": \"青椒土豆丝\",\n            \"reserved\": null,\n            \"createtime\": null\n        }\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/6iga5zci5pl6ki6ic6lcx5yig57ue-RowoGAEddv\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_labels_aggregate",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "dishName",
            "in": "query",
            "required": true,
            "description": "菜谱名称",
            "schema": {
              "type": "string"
            },
            "example": "青椒土豆丝",
            "x-source-order": 0
          },
          {
            "name": "deviceModelId",
            "in": "query",
            "required": false,
            "description": "设备机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "dishStatus",
            "in": "query",
            "required": false,
            "description": "菜谱状态；1-开发中；2-已存档；3-已停用（平板设备默认不返回已停用和已删除的菜谱）",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "nullable": true
                          },
                          "labelId": {
                            "nullable": true
                          },
                          "labelName": {
                            "type": "string",
                            "description": "标签名称"
                          },
                          "dishId": {
                            "type": "string",
                            "description": "菜谱ID"
                          },
                          "dishName": {
                            "type": "string",
                            "description": "菜谱名称"
                          },
                          "reserved": {
                            "nullable": true
                          },
                          "createtime": {
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "labelId",
                          "labelName",
                          "dishId",
                          "dishName",
                          "reserved",
                          "createtime"
                        ]
                      }
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "id": null,
                      "labelId": null,
                      "labelName": "Specs 1",
                      "dishId": "example-id",
                      "dishName": "青椒土豆丝",
                      "reserved": null,
                      "createtime": null
                    },
                    {
                      "id": null,
                      "labelId": null,
                      "labelName": "三份",
                      "dishId": "example-id",
                      "dishName": "青椒土豆丝",
                      "reserved": null,
                      "createtime": null
                    },
                    {
                      "id": null,
                      "labelId": null,
                      "labelName": "四份",
                      "dishId": "example-id",
                      "dishName": "青椒土豆丝",
                      "reserved": null,
                      "createtime": null
                    }
                  ]
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/6iga5zci5pl6ki6ic6lcx5yig57ue-RowoGAEddv",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels": {
      "get": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "查询分组列表",
        "description": "# 接口说明\n\n查询菜谱分组列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-labels\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| labelName | String | N | 分组名称 | 模糊匹配 |\n| modelId | String | N | 机型ID |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认10 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 查询标签列表\nhttp://[ip]:[port]/openapi/v1/dish-labels?labelName=茶点&pageNum=1&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | N | 分组id |    |\n| coId | String | N | 公司id |    |\n| orgId | String | N | 组织ID |    |\n| labelName | String | N | 分组名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| reserved1 | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"data\": [\n        {\n            \"id\": 92,\n            \"coId\": \"example-id\",\n            \"orgId\": \"example-id\",\n            \"labelName\": \"茶点\",\n            \"sortOrder\": 1,\n            \"reserved1\": null,\n            \"createTime\": \"2023-11-13 17:23:12\"\n        }\n    ],\n    \"meta\": {\n        \"total\": 20,\n        \"pages\": 10,\n        \"page\": 1,\n        \"limit\": 2\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57ue5yix6kgo-k0joke8X1W\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_labels",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "labelName",
            "in": "query",
            "required": false,
            "description": "分组名称；模糊匹配",
            "schema": {
              "type": "string"
            },
            "example": "茶点",
            "x-source-order": 0
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认10",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "分组id"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司id"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "labelName": {
                            "type": "string",
                            "description": "分组名称"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序号"
                          },
                          "reserved1": {
                            "type": "string",
                            "description": "备注"
                          }
                        }
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57ue5yix6kgo-k0joke8X1W",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "新建分组",
        "description": "# 接口说明\n\n新建分组\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-labels\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | Y | 组织ID |    |\n| labelName | String | Y | 分组名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| reserved1 | String | N | 备注 |    |\n| modelIds | List<String> | Y | 绑定的机型ID |    |\n\n请求示例：\n\n```json\n{\n    \"orgId\": \"example-id\",\n    \"labelName\": \"一份\",\n    \"sortOrder\": 1,\n    \"reserved1\": \"reserved1_059593fea13b\",\n    \"modelIds\": [\n        \"example-id\",\n        \"example-id\"\n    ]\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| coId | String | Y | 公司ID |    |\n| orgId | String | Y | 组织ID |    |\n| labelName | String | Y | 分组名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| reserved1 | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"e1985f92-eedb-4bbc-9cb0-8e8a94ac12ac\",\n    \"data\": {\n        \"id\": 513,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"labelName\": \"labelName_a9e999020a60\",\n        \"sortOrder\": 1,\n        \"reserved1\": null,\n        \"createUser\": 467,\n        \"createtime\": null,\n        \"updateUser\": 467,\n        \"updateTime\": null\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5paw5bu65yig57ue-NIYoupKq7y\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_labels",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "labelName": {
                    "type": "string",
                    "description": "分组名称"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序号"
                  },
                  "reserved1": {
                    "type": "string",
                    "description": "备注"
                  },
                  "modelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "绑定的机型ID"
                  }
                },
                "required": [
                  "orgId",
                  "labelName",
                  "sortOrder",
                  "reserved1",
                  "modelIds"
                ]
              },
              "example": {
                "orgId": "example-id",
                "labelName": "一份",
                "sortOrder": 1,
                "reserved1": "reserved1_059593fea13b",
                "modelIds": [
                  "1b0a1a2319cf4172b3514270452eb1f3",
                  "23a5ce53830d4b0b86cad85185c7867a"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "主键"
                        },
                        "coId": {
                          "type": "string",
                          "description": "公司ID"
                        },
                        "orgId": {
                          "type": "string",
                          "description": "组织ID"
                        },
                        "labelName": {
                          "type": "string",
                          "description": "分组名称"
                        },
                        "sortOrder": {
                          "type": "integer",
                          "description": "排序号"
                        },
                        "reserved1": {
                          "type": "string",
                          "nullable": true,
                          "description": "备注"
                        },
                        "createUser": {
                          "type": "integer"
                        },
                        "createtime": {
                          "nullable": true
                        },
                        "updateUser": {
                          "type": "integer"
                        },
                        "updateTime": {
                          "nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "labelName",
                        "sortOrder",
                        "reserved1",
                        "createUser",
                        "createtime",
                        "updateUser",
                        "updateTime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 513,
                    "coId": "example-id",
                    "orgId": "example-id",
                    "labelName": "labelName_a9e999020a60",
                    "sortOrder": 1,
                    "reserved1": null,
                    "createUser": 467,
                    "createtime": null,
                    "updateUser": 467,
                    "updateTime": null
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw5bu65yig57ue-NIYoupKq7y",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "修改分组",
        "description": "# 接口说明\n\n修改分组\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/dish-labels\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 主键 |    |\n| orgId | String | Y | 组织ID |    |\n| labelName | String | Y | 分组名称 |    |\n| ==sortOrder== | ==Integer== | ==N== | ==排序号== |    |\n| reserved1 | String | N | 备注 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": 115,\n    \"orgId\": \"example-id\",\n    \"labelName\": \"一份\",\n    \"sortOrder\": 1,\n    \"reserved1\": \"reserved1_059593fea13b\"\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Save successful\",\n    \"requestId\": \"b9d1bff1-520b-4862-99fd-170cfe262b5b\",\n    \"data\": {\n        \"id\": 513,\n        \"coId\": \"example-id\",\n        \"orgId\": \"example-id\",\n        \"labelName\": \"一份\",\n        \"sortOrder\": 1,\n        \"reserved1\": null,\n        \"createUser\": 467,\n        \"createtime\": \"2024-11-11 16:12:54\",\n        \"updateUser\": 467,\n        \"updateTime\": \"2024-11-11 16:12:54\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps55yig57ue-3br4oMcsD9\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_dish_labels",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "主键"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID"
                  },
                  "labelName": {
                    "type": "string",
                    "description": "分组名称"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序号"
                  },
                  "reserved1": {
                    "type": "string",
                    "description": "备注"
                  }
                },
                "required": [
                  "id",
                  "orgId",
                  "labelName",
                  "sortOrder",
                  "reserved1"
                ]
              },
              "example": {
                "id": 115,
                "orgId": "example-id",
                "labelName": "一份",
                "sortOrder": 1,
                "reserved1": "reserved1_059593fea13b"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "coId": {
                          "type": "string"
                        },
                        "orgId": {
                          "type": "string"
                        },
                        "labelName": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        },
                        "reserved1": {
                          "nullable": true
                        },
                        "createUser": {
                          "type": "integer"
                        },
                        "createtime": {
                          "type": "string"
                        },
                        "updateUser": {
                          "type": "integer"
                        },
                        "updateTime": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "coId",
                        "orgId",
                        "labelName",
                        "sortOrder",
                        "reserved1",
                        "createUser",
                        "createtime",
                        "updateUser",
                        "updateTime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Save successful",
                  "requestId": "example-id",
                  "data": {
                    "id": 513,
                    "coId": "example-id",
                    "orgId": "example-id",
                    "labelName": "一份",
                    "sortOrder": 1,
                    "reserved1": null,
                    "createUser": 467,
                    "createtime": "2024-11-11 16:12:54",
                    "updateUser": 467,
                    "updateTime": "2024-11-11 16:12:54"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps55yig57ue-3br4oMcsD9",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/with-models": {
      "get": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "查询分组列表（带机型）",
        "description": "# 接口说明\n\n查询菜谱分组列表，==同时会将分组关联的所有机型一起返回。==\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-labels/with-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| labelName | String | N | 分组名称 | 模糊匹配 |\n| modelId | String | N | 机型ID |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认50 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n// 查询标签列表\nhttp://[ip]:[port]/openapi/v1/dish-labels/with-models?labelName=茶点&pageNum=1&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 分组id |    |\n| coId | String | Y | 公司id |    |\n| orgId | String | Y | 组织ID |    |\n| labelName | String | Y | 分组名称 |    |\n| sortOrder | Integer | N | 排序号 |    |\n| reserved1 | String | N | 备注 |    |\n| createtime | String | N | 创建时间 |    |\n| ==modelList== | ==List<Object>== | ==N== | ==关联的机型== |    |\n\nmodelList对象：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 机型ID |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型编号 |    |\n| modelSn | String | Y | 机型编码 |    |\n| osType | Integer | Y | 系统类型 | 1-旧系统，2-安卓屏 |\n\n响应示例：\n\n```json\n{\n  \"code\": \"00000\",\n  \"message\": \"Operation successful\",\n  \"requestId\": \"b1b9e9f6-8bcc-47d0-b95d-14b8241a1ba6\",\n  \"data\": [\n    {\n      \"id\": 512,\n      \"coId\": \"example-id\",\n      \"orgId\": \"example-id\",\n      \"labelName\": \"一份\",\n      \"sortOrder\": 1,\n      \"reserved1\": null,\n      \"createtime\": \"2024-11-11 14:53:56\",\n      \"modelList\": [\n        {\n          \"id\": \"example-id\",\n          \"modelName\": \"46燃气煸炒机\",\n          \"modelNo\": \"TC-40GT\",\n          \"modelSn\": \"0046\",\n          \"osType\": 1\n        },\n        {\n          \"id\": \"example-id\",\n          \"modelName\": \"28EAUS_18电磁煸炒\",\n          \"modelNo\": \"TC-28EA-US\",\n          \"modelSn\": \"0018\",\n          \"osType\": 1\n        },\n        ...\n      ]\n    }\n  ],\n  \"meta\": {\n    \"total\": 7,\n    \"pages\": 1,\n    \"page\": 1,\n    \"limit\": 50\n  }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57ue5yix6kgo77yi5bim5py65z6l77yj-mHuw6OK1FM\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_labels_with_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "labelName",
            "in": "query",
            "required": false,
            "description": "分组名称；模糊匹配",
            "schema": {
              "type": "string"
            },
            "example": "茶点",
            "x-source-order": 0
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认50",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "机型ID"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司id"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "labelName": {
                            "type": "string",
                            "description": "分组名称"
                          },
                          "sortOrder": {
                            "type": "integer",
                            "description": "排序号"
                          },
                          "reserved1": {
                            "type": "string",
                            "description": "备注"
                          },
                          "createtime": {
                            "type": "string",
                            "description": "创建时间"
                          },
                          "modelList": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true
                            },
                            "description": "关联的机型"
                          },
                          "参数名": {
                            "type": "string",
                            "description": "说明；备注"
                          },
                          ":---:": {
                            "type": "string",
                            "description": ":---:；----"
                          },
                          "modelName": {
                            "type": "string",
                            "description": "机型名称"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "modelSn": {
                            "type": "string",
                            "description": "机型编码"
                          },
                          "osType": {
                            "type": "integer",
                            "description": "系统类型；1-旧系统，2-安卓屏"
                          }
                        },
                        "required": [
                          "id",
                          "coId",
                          "orgId",
                          "labelName",
                          "参数名",
                          "id",
                          "modelName",
                          "modelNo",
                          "modelSn",
                          "osType"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57ue5yix6kgo77yi5bim5py65z6l77yj-mHuw6OK1FM",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/relations/{id}": {
      "get": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "查询菜谱与分组关系列表",
        "description": "# 接口说明\n\n查询菜谱与标签关系列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-labels/relations/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | Integer | N | 分组关系ID |    |\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| labelId | Integer | N | 标签分组ID |    |\n| dishId | String | N | 菜谱ID |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认10 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n// 查询id=76的标签分组\nhttp://[ip]:[port]/openapi/v1/dish-labels/256?labelId=76&dishId=example-id&pageNum=1&pageSize=10\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | N | 关系分组id |    |\n| labelId | Integer | N | 标签id |    |\n| labelName | String | N | 标签名称 |    |\n| reserved | String | Y | 备注 |    |\n| dishId | String | N | 菜肴id |    |\n| dishName | String | N | 菜肴名称 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"data\": [\n        {\n            \"id\": 257,\n            \"labelId\": 76,\n            \"labelName\": null,\n            \"dishId\": \"example-id\",\n            \"dishName\": \"红烧牛肉面\",\n            \"reserved\": null,\n            \"createTime\": null\n        }\n    ],\n    \"meta\": {\n        \"total\": 20,\n        \"pages\": 10,\n        \"page\": 1,\n        \"limit\": 2\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6ic6lcx5lio5yig57ue5ywz57o75yix6kgo-YIxIVzGk1D\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_labels_relations_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "分组关系ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          },
          {
            "name": "labelId",
            "in": "query",
            "required": false,
            "description": "标签分组ID",
            "schema": {
              "type": "integer"
            },
            "example": "76",
            "x-source-order": 0
          },
          {
            "name": "dishId",
            "in": "query",
            "required": false,
            "description": "菜谱ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 2
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认10",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "关系分组id"
                          },
                          "labelId": {
                            "type": "integer",
                            "description": "标签id"
                          },
                          "labelName": {
                            "type": "string",
                            "nullable": true,
                            "description": "标签名称"
                          },
                          "dishId": {
                            "type": "string",
                            "description": "菜肴id"
                          },
                          "dishName": {
                            "type": "string",
                            "description": "菜肴名称"
                          },
                          "reserved": {
                            "type": "string",
                            "nullable": true,
                            "description": "备注"
                          },
                          "createTime": {
                            "nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "labelId",
                          "labelName",
                          "dishId",
                          "dishName",
                          "reserved",
                          "createTime"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "data": [
                    {
                      "id": 257,
                      "labelId": 76,
                      "labelName": null,
                      "dishId": "example-id",
                      "dishName": "红烧牛肉面",
                      "reserved": null,
                      "createTime": null
                    }
                  ],
                  "meta": {
                    "total": 20,
                    "pages": 10,
                    "page": 1,
                    "limit": 2
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6ic6lcx5lio5yig57ue5ywz57o75yix6kgo-YIxIVzGk1D",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/{labelId}/bind-models": {
      "get": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "查询分组下的机型",
        "description": "# 接口说明\n\n查询分组下的机型\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dish-labels/=={labelId}==/bind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | Y | 菜谱分组ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n# 请求路径，76是分组ID\n[GET] http://ip:port/openapi/v1/dish-labels/76/bind-models\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 机型ID |    |\n| modelName | String | Y | 机型名称 |    |\n| modelNo | String | Y | 机型编号 |    |\n| modelSn | String | Y | 机型编码 |    |\n| osType | Integer | Y | 系统类型 | 1-旧系统，2-安卓屏 |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"b9c0c2ff-5d69-4216-b662-98d109361383\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"modelName\": \"28G_21燃气煸炒\",\n            \"modelNo\": \"TC-28G\",\n            \"modelSn\": \"0021\",\n            \"osType\": 1\n        },\n        {\n            \"id\": \"example-id\",\n            \"modelName\": \"300ES_610电磁煸炒\",\n            \"modelNo\": \"TC-300ES\",\n            \"modelSn\": \"0610\",\n            \"osType\": 2\n        }\n    ]\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5yig57ue5lil55qe5py65z6l-UQmAHAWYvy\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dish_labels_labelId_bind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "labelId",
            "in": "path",
            "required": true,
            "description": "菜谱分组ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "机型ID"
                          },
                          "modelName": {
                            "type": "string",
                            "description": "机型名称"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "modelSn": {
                            "type": "string",
                            "description": "机型编码"
                          },
                          "osType": {
                            "type": "integer",
                            "description": "系统类型；1-旧系统，2-安卓屏"
                          }
                        },
                        "required": [
                          "id",
                          "modelName",
                          "modelNo",
                          "modelSn",
                          "osType"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5yig57ue5lil55qe5py65z6l-UQmAHAWYvy",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "分组绑定机型",
        "description": "# 接口说明\n\n标签绑定机型\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-labels/=={labelId}==/bind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | Y | 菜谱分组ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| 无 | List<String> | Y | 机型ID集合 |    |\n\n请求示例：\n\n```none\n# 请求路径\n[POST] http://ip:openapi/api/v1/dish-labels/76/bind-models\n\n# 请求体\n{\n    \"modelIds\": [\"example-id\"]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Binding successfully\",\n    \"requestId\": \"69053d09-a13a-4872-9d07-895340492b60\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig57ue57ur5a6a5py65z6l-gRki36ZxjF\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_labels_labelId_bind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "labelId",
            "in": "path",
            "required": true,
            "description": "菜谱分组ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig57ue57ur5a6a5py65z6l-gRki36ZxjF",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/{id}": {
      "delete": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "删除分组",
        "description": "# 接口说明\n\n删除分组标签\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/dish-labels/{id}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 分组ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n# id 是 523\n[DELETE] http://ip:port/openapi/v1/dish-labels/523\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Delete successful\",\n    \"requestId\": \"4471a5b4-7e40-409a-86d5-277dc8b7750f\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk5yig57ue-FOO7kFSD4u\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_dish_labels_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "分组ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Delete successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk5yig57ue-FOO7kFSD4u",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/order": {
      "put": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "更新分组列表排序",
        "description": "# 接口说明\n\n更新分组列表排序\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/dish-labels/order\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| - | List<Integer> | Y | 已经排好序的分组ID列表 | 服务器将按照这个顺序更新排序 |\n\n请求示例：\n\n```json\n[\n    162,\n    163,\n    164,\n    174\n]\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"800f6975-da02-4ecf-ae8e-3737dfd331a5\",\n    \"data\": \"Operation successful\"\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pu05paw5yig57ue5yix6kgo5o6s5bqp-SgfEKYG6qY\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_dish_labels_order",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "-": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "已经排好序的分组ID列表；服务器将按照这个顺序更新排序"
                  }
                },
                "required": [
                  "-"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": "Operation successful"
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pu05paw5yig57ue5yix6kgo5o6s5bqp-SgfEKYG6qY",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dish-labels/{labelId}/unbind-models": {
      "post": {
        "tags": [
          "菜谱管理/分组管理"
        ],
        "summary": "分组解绑机型",
        "description": "# 接口说明\n\n标签绑定机型\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dish-labels/=={labelId}==/unbind-models\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | Y | 菜谱分组ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| 无 | List<String> | Y | 机型ID集合 |    |\n\n请求示例：\n\n```none\n# 请求路径\n[POST] http://ip:port/openapi/v1/dish-labels/76/unbind-models\n\n# 请求体\n{\n    \"modelIds\": [\"example-id\"]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Unbind successfully\",\n    \"requestId\": \"c5be874e-02af-4237-9724-37d3f9d66abb\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig57ue6kej57ur5py65z6l-FJgaoUeL0u\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dish_labels_labelId_unbind_models",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "labelId",
            "in": "path",
            "required": true,
            "description": "菜谱分组ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig57ue6kej57ur5py65z6l-FJgaoUeL0u",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/分组管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes": {
      "get": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "查询菜谱列表",
        "description": "# 接口说明\n\n查询菜谱列表\n\n\n:::info\n只返回菜谱基本信息，不包含菜谱的备菜、工艺、动作、分组和标签等信息\n\n:::\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dishes\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| shopId | String | N | 门店ID |    |\n| dishName | String | N | 菜谱名称 | 会与菜谱名称进行模糊匹配 |\n| dishNameEnglish | String | N | 菜谱英文名称 |    |\n| dishCode | String | N | 菜谱编码 |    |\n| dishStyleId | String | N | 菜系ID |    |\n| tasteTypeId | String | N | 口味ID |    |\n| categoryId | Integer | N | 分类ID |    |\n| developer | String | N | 开发人员 |    |\n| isDel | Integer | N | 是否删除 | 0-正常，1-删除 |\n| dishStatus | String | N | 菜谱状态 | 1-开发中2-已存档3-已停用 |\n| dishStatusList | List<String> | N | 菜谱状态 | 允许传多个 |\n| deviceModelId | String | N | 设备机型ID |    |\n| modelName | String | N | 机型名称 |    |\n| modelNo | String | N | 机型号 | 如：TC-10EA4-8kw，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取 |\n| modelSn | String | N | 机型编号 | 如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取 |\n| labelIds | String | N | 分组ID | 多个逗号隔开：1,2,3 |\n| ==aggregated== | ==Integer== | ==N== | ==聚合查询== | ==1-按照菜谱名称聚合==\\n==其他-不聚合查询== |\n| pageNum | Integer | N | 当前页码 | 不传默认第1页 |\n| pageSize | Integer | N | 每页记录数 | 不传默认10条 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n[GET] http://[ip]:[port]/openapi/v1/dishes/details?pageNum=1&pageSize=10&keyword=红烧肉&dishStatus=1&deviceModelId=DF125HWRG12F5D21&labelIds=1,2,3\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | N | 菜肴ID |    |\n| dishCode | String | N | 菜谱编码 |    |\n| coId | String | N | 所属客户ID |    |\n| shopId | String | N | 所属门店ID |    |\n| dishName | String | N | 菜肴名称 |    |\n| dishNameEnglish | String | N | 菜肴英文名称 |    |\n| dishDesc | String | N | 描述 |    |\n| fullPicSmall | String | N | 图片（缩略图） |    |\n| fullPicBig | String | N | 图片（原图） |    |\n| dishStyleId | String | N | 菜系ID |    |\n| tasteTypeId | String | N | 口味ID |    |\n| weight | BigDecimal(9, 3) | N | 菜谱重量 | 单位g |\n| cookingTime | Integer | N | 烹饪时长 | 单位秒 |\n| addr | String | N | 开发地点 |    |\n| developer | String | N | 开发人员 |    |\n| developTime | String | N | 开发时间 |    |\n| isOpen | Integer | N | 是否公开 |    |\n| isDel | Integer | N | 是否删除 | 0-否；1-是 |\n| dishStatus | Integer | N | 菜肴状态 | 1-开发中，2-已存档，3-已停用 |\n| deviceModelId | String | N | 适用机型ID |    |\n| tasteName | String | N | 口味名称 |    |\n| dishLabels | List<Object> | N | 菜谱分组 |    |\n\n菜谱分组 dishLabels：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | N | 菜谱分组ID |    |\n| labelName | String | N | 分组名称 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"39c9b3d1-18c2-4182-9d8d-b9e86dbf0b80\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"coId\": \"example-id\",\n            \"coName\": \"快乐园\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"方正科技园\",\n            \"dishCode\": \"100300000071\",\n            \"dishName\": \"红烧牛肉面\",\n            \"dishNameEnglish\": \"Braised Beef Noodles in Brown Sauce\",\n            \"dishDesc\": \"康师傅红烧牛肉面\",\n            \"picSmall\": \"http://localhost:8080/20323ddsssmall-4.jpg\",\n            \"picBig\": \"http://localhost:8080/20323ddss4.jpg\",\n            \"dishStyleId\": \"dishStyleId_2f7438c9c49c\",\n            \"tasteTypeId\": \"tasteTypeId_1ba3955d150e\",\n            \"weight\": 0,\n            \"unit\": \"kg\",\n            \"addr\": \"深圳\",\n            \"developer\": \"13800000000\",\n            \"developTime\": \"2023-11-24 15:48:44\",\n            \"deviceModelId\": \"example-id\",\n            \"dishStatus\": 1,\n            \"fullPicSmall\": \"http://192.168.0.32:83/upload/dish_img/http://localhost:8080/20323ddsssmall-4.jpg\",\n            \"fullPicBig\": \"http://192.168.0.32:83/upload/dish_img/http://localhost:8080/20323ddss4.jpg\",\n            \"dishStyleName\": null,\n            \"tasteName\": null,\n            \"modelName\": \"28E_28电磁煸炒\",\n            \"modelNo\": \"TC-28E\",\n            \"modelCode\": \"0028\",\n            \"dishLabels\": [\r\n                {\r\n                    \"id\": 36844,\r\n                    \"labelId\": 960,\r\n                    \"labelName\": \"1\",\r\n                    \"dishId\": \"example-id\",\r\n                    \"dishName\": \"新增\",\r\n                    \"dishStatus\": null,\r\n                    \"reserved\": null,\r\n                    \"createtime\": null\r\n                }\n            ],\n            \"isDel\": 0,\n            \"reserved\": null,\n            \"createTime\": \"2024-01-09 18:14:30\",\n            \"updateTime\": \"2024-01-09 18:19:32\",\n        }\n    ],\n    \"meta\": {\n        \"total\": 20,\n        \"pages\": 10,\n        \"page\": 1,\n        \"limit\": 2\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki6ic6lcx5yix6kgo-GR7C2n2ZhS\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dishes",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "dishName",
            "in": "query",
            "required": false,
            "description": "菜谱名称；会与菜谱名称进行模糊匹配",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "dishNameEnglish",
            "in": "query",
            "required": false,
            "description": "菜谱英文名称",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "dishCode",
            "in": "query",
            "required": false,
            "description": "菜谱编码",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "dishStyleId",
            "in": "query",
            "required": false,
            "description": "菜系ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 4
          },
          {
            "name": "tasteTypeId",
            "in": "query",
            "required": false,
            "description": "口味ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 5
          },
          {
            "name": "categoryId",
            "in": "query",
            "required": false,
            "description": "分类ID",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 6
          },
          {
            "name": "developer",
            "in": "query",
            "required": false,
            "description": "开发人员",
            "schema": {
              "type": "string"
            },
            "x-source-order": 7
          },
          {
            "name": "isDel",
            "in": "query",
            "required": false,
            "description": "是否删除；0-正常，1-删除",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 8
          },
          {
            "name": "dishStatus",
            "in": "query",
            "required": false,
            "description": "菜谱状态；1-开发中2-已存档3-已停用",
            "schema": {
              "type": "string"
            },
            "example": "1",
            "x-source-order": 9
          },
          {
            "name": "dishStatusList",
            "in": "query",
            "required": false,
            "description": "菜谱状态；允许传多个",
            "schema": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true
              }
            },
            "x-source-order": 10
          },
          {
            "name": "deviceModelId",
            "in": "query",
            "required": false,
            "description": "设备机型ID",
            "schema": {
              "type": "string"
            },
            "example": "DF125HWRG12F5D21",
            "x-source-order": 11
          },
          {
            "name": "modelName",
            "in": "query",
            "required": false,
            "description": "机型名称",
            "schema": {
              "type": "string"
            },
            "x-source-order": 12
          },
          {
            "name": "modelNo",
            "in": "query",
            "required": false,
            "description": "机型号；如：TC-10EA4-8kw，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取",
            "schema": {
              "type": "string"
            },
            "x-source-order": 13
          },
          {
            "name": "modelSn",
            "in": "query",
            "required": false,
            "description": "机型编号；如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取",
            "schema": {
              "type": "string"
            },
            "x-source-order": 14
          },
          {
            "name": "labelIds",
            "in": "query",
            "required": false,
            "description": "分组ID；多个逗号隔开：1,2,3",
            "schema": {
              "type": "string"
            },
            "example": "1,2,3",
            "x-source-order": 15
          },
          {
            "name": "aggregated",
            "in": "query",
            "required": false,
            "description": "聚合查询；1-按照菜谱名称聚合\\n其他-不聚合查询",
            "schema": {
              "type": "integer"
            },
            "x-source-order": 16
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；不传默认第1页",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 17
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；不传默认10条",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 18
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "菜肴ID"
                          },
                          "dishCode": {
                            "type": "string",
                            "description": "菜谱编码"
                          },
                          "coId": {
                            "type": "string",
                            "description": "所属客户ID"
                          },
                          "shopId": {
                            "type": "string",
                            "description": "所属门店ID"
                          },
                          "dishName": {
                            "type": "string",
                            "description": "菜肴名称"
                          },
                          "dishNameEnglish": {
                            "type": "string",
                            "description": "菜肴英文名称"
                          },
                          "dishDesc": {
                            "type": "string",
                            "description": "描述"
                          },
                          "fullPicSmall": {
                            "type": "string",
                            "description": "图片（缩略图）"
                          },
                          "fullPicBig": {
                            "type": "string",
                            "description": "图片（原图）"
                          },
                          "dishStyleId": {
                            "type": "string",
                            "description": "菜系ID"
                          },
                          "tasteTypeId": {
                            "type": "string",
                            "description": "口味ID"
                          },
                          "weight": {
                            "type": "string",
                            "description": "菜谱重量；单位g"
                          },
                          "cookingTime": {
                            "type": "integer",
                            "description": "烹饪时长；单位秒"
                          },
                          "addr": {
                            "type": "string",
                            "description": "开发地点"
                          },
                          "developer": {
                            "type": "string",
                            "description": "开发人员"
                          },
                          "developTime": {
                            "type": "string",
                            "description": "开发时间"
                          },
                          "isOpen": {
                            "type": "integer",
                            "description": "是否公开"
                          },
                          "isDel": {
                            "type": "integer",
                            "description": "是否删除；0-否；1-是"
                          },
                          "dishStatus": {
                            "type": "integer",
                            "description": "菜肴状态；1-开发中，2-已存档，3-已停用"
                          },
                          "deviceModelId": {
                            "type": "string",
                            "description": "适用机型ID"
                          },
                          "tasteName": {
                            "type": "string",
                            "description": "口味名称"
                          },
                          "dishLabels": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "additionalProperties": true
                            },
                            "description": "菜谱分组"
                          },
                          "参数名": {
                            "type": "string",
                            "description": "说明；备注"
                          },
                          ":---:": {
                            "type": "string",
                            "description": ":---:；----"
                          },
                          "labelId": {
                            "type": "integer",
                            "description": "菜谱分组ID"
                          },
                          "labelName": {
                            "type": "string",
                            "description": "分组名称"
                          }
                        },
                        "required": [
                          "参数名"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki6ic6lcx5yix6kgo-GR7C2n2ZhS",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "修改菜谱",
        "description": "# 接口说明\n\n修改菜谱基本信息。\n\n\n:::warning\n与 [修改菜谱明细](/doc/5lu5ps56ic6lcx5pio57ug-ZxNXSr6t3c) 接口不同，这个接口只能修改菜谱的基本信息，不能修改备菜、工艺、烹饪步骤、菜谱分组等数据。\n\n:::\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/dishes\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 菜肴ID |    |\n| dishName | String | N | 菜肴名称 |    |\n| dishNameEnglish | String | N | 英文名称 |    |\n| dishDesc | String | N | 菜肴描述 |    |\n| picBig | String | N | 图片url |    |\n| dishStyleId | String | N | 菜系ID |    |\n| tasteTypeId | String | N | 口味ID |    |\n| deviceModelId | String | N | 适应机型ID |    |\n| developer | String | N | 开发人员 |    |\n| developTime | Date | N | 开发时间 |    |\n| addr | String | N | 开发地点 |    |\n| weight | BigDecimal(9,3) | N | 份量 |    |\n| unit | String | N | 份量单位 |    |\n| dishStatus | Integer | N | 菜谱状态 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": \"example-id\",\n    \"dishName\": \"红烧牛肉面\",\n    \"dishNameEnglish\": \"Braised Beef Noodles in Brown Sauce\",\n    \"dishDesc\": \"康师傅红烧牛肉面\",\n    \"picBig\": \"http://localhost:8080/20323ddss4.jpg\",\n    \"dishStyleId\": \"dishStyleId_2f7438c9c49c\",\n    \"tasteTypeId\": \"tasteTypeId_1ba3955d150e\",\n    \"weight\": 10,\n    \"unit\": \"kg\",\n    \"addr\": \"深圳\",\n    \"developer\": \"13800000000\",\n    \"developTime\": \"2023-11-24 15:48:44\",\n    \"isOpen\": 0,\n    \"deviceModelId\": \"example-id\",\n    \"dishStatus\": 1\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| data | String | Y | 菜谱ID |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"60676487-e827-46f3-b236-bec0bb7931be\",\n    \"data\": \"example-id\"\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps56ic6lcx-MU0QmTXhWl\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_dishes",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "菜肴ID"
                  },
                  "dishName": {
                    "type": "string",
                    "description": "菜肴名称"
                  },
                  "dishNameEnglish": {
                    "type": "string",
                    "description": "英文名称"
                  },
                  "dishDesc": {
                    "type": "string",
                    "description": "菜肴描述"
                  },
                  "picBig": {
                    "type": "string",
                    "description": "图片url"
                  },
                  "dishStyleId": {
                    "type": "string",
                    "description": "菜系ID"
                  },
                  "tasteTypeId": {
                    "type": "string",
                    "description": "口味ID"
                  },
                  "weight": {
                    "type": "integer",
                    "description": "份量"
                  },
                  "unit": {
                    "type": "string",
                    "description": "份量单位"
                  },
                  "addr": {
                    "type": "string",
                    "description": "开发地点"
                  },
                  "developer": {
                    "type": "string",
                    "description": "开发人员"
                  },
                  "developTime": {
                    "type": "string",
                    "description": "开发时间"
                  },
                  "isOpen": {
                    "type": "integer"
                  },
                  "deviceModelId": {
                    "type": "string",
                    "description": "适应机型ID"
                  },
                  "dishStatus": {
                    "type": "integer",
                    "description": "菜谱状态"
                  }
                },
                "required": [
                  "id",
                  "dishName",
                  "dishNameEnglish",
                  "dishDesc",
                  "picBig",
                  "dishStyleId",
                  "tasteTypeId",
                  "weight",
                  "unit",
                  "addr",
                  "developer",
                  "developTime",
                  "isOpen",
                  "deviceModelId",
                  "dishStatus"
                ]
              },
              "example": {
                "id": "example-id",
                "dishName": "红烧牛肉面",
                "dishNameEnglish": "Braised Beef Noodles in Brown Sauce",
                "dishDesc": "康师傅红烧牛肉面",
                "picBig": "http://localhost:8080/20323ddss4.jpg",
                "dishStyleId": "dishStyleId_2f7438c9c49c",
                "tasteTypeId": "tasteTypeId_1ba3955d150e",
                "weight": 10,
                "unit": "kg",
                "addr": "深圳",
                "developer": "15012523214",
                "developTime": "2023-11-24 15:48:44",
                "isOpen": 0,
                "deviceModelId": "example-id",
                "dishStatus": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": "2c20d5da52054cf493421fcfc0585f4c"
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps56ic6lcx-MU0QmTXhWl",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes/details/{dishId}": {
      "get": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "查询单条菜谱明细",
        "description": "# 接口说明\n\n查询单条菜谱明细\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/dishes/details/{dishId}\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 主键ID | 放在请求路径中 |\n\n* **Query**\n\n无\n\n* **Body**\n\n无\n\n请求示例：\n\n```none\n[GET] http://[ip]:[port]/openapi/v1/dishes/details/example-id\n```\n\n# 响应参数\n\n响应对象与 [查询菜谱明细列表](/doc/5pl6ki6ic6lcx5pio57ug5yix6kgo-iqEq7fR3gw) 接口的响应参数一致\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"a71f4ee2-4153-480d-bcb4-a98f4c0ec4c1\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"dishCode\": \"113000000141\",\n        \"coId\": \"example-id\",\n        \"shopId\": \"example-id\",\n        \"dishName\": \"test965021\",\n        \"dishNameEnglish\": \"test965021\",\n        \"dishDesc\": \"康师傅红烧牛肉面\",\n        \"picSmall\": null,\n        \"picBig\": \"\",\n        \"dishStyleId\": \"dishStyleId_2f7438c9c49c\",\n        \"tasteTypeId\": \"tasteTypeId_1ba3955d150e\",\n        \"weight\": 553818,\n        \"unit\": \"kg\",\n        \"addr\": \"深圳\",\n        \"developer\": \"13800000000\",\n        \"developTime\": \"2023-11-24 15:48:44\",\n        \"isOpen\": 0,\n        \"isDel\": 0,\n        \"reserved\": null,\n        \"updateTime\": \"2024-02-02 10:04:12\",\n        \"createTime\": \"2024-02-01 18:19:24\",\n        \"deviceModelId\": \"example-id\",\n        \"dishStatus\": 1,\n        \"dishStatusList\": null,\n        \"fullPicSmall\": null,\n        \"fullPicBig\": null,\n        \"materialList\": [\n            {\n                \"id\": \"example-id\",\n                \"dishId\": \"example-id\",\n                \"maId\": \"example-id\",\n                \"typeNo\": 0,\n                \"bomMaterialWeight\": 20,\n                \"bomWeightUnit\": \"克\",\n                \"shapeId\": \"example-id\",\n                \"remark\": \"http://39.108.235.115/adminimgs/zgtc/dish_img/202311/20231110181213570241.png\",\n                \"createTime\": \"2024-02-01 18:19:24\",\n                \"dishMaDesc\": \"测试\",\n                \"reserved1\": \"reserved1_5e36c7d8de60\",\n                \"reserved2\": \"reserved2_13bab292b51b\",\n                \"sortOrder\": 0,\n                \"maNo\": \"1100\",\n                \"maName\": \"五花肉\",\n                \"types\": \"调味料\",\n                \"unit\": \"克\",\n                \"shapeText\": \"块 滚料块 中块 长约3-3.5cm（多面体）\",\n                \"shape1\": \"块\",\n                \"shape2\": \"滚料块\",\n                \"shape3Desc\": \"中块\",\n                \"params\": \"长约3-3.5cm（多面体）\"\n            }\n        ],\n        \"techList\": [\n            {\n                \"id\": \"example-id\",\n                \"dishId\": \"example-id\",\n                \"techId\": \"example-id\",\n                \"remark\": \"爆炒\",\n                \"createTime\": \"2024-02-01 18:19:24\",\n                \"techContents\": \"火力大，炒出香味\",\n                \"techName\": \"爆炒\"\n            }\n        ],\n        \"programList\": [\n            {\n                \"id\": \"example-id\",\n                \"dishId\": \"example-id\",\n                \"number\": 1,\n                \"actionName\": \"投料\",\n                \"actionNo\": \"82\",\n                \"fire\": 4,\n                \"mixType\": 3,\n                \"mixLevel\": 3,\n                \"potPostion\": 6,\n                \"mixTime\": 30,\n                \"param5\": 2,\n                \"param6\": null,\n                \"param7\": null,\n                \"param8\": null,\n                \"param9\": null,\n                \"intervalTime\": 5,\n                \"intervalStop\": 10,\n                \"reserved\": \"\",\n                \"remark\": \"不需要勾芡\",\n                \"createTime\": null,\n                \"materialList\": [\n                    {\n                        \"id\": 108,\n                        \"dishId\": \"example-id\",\n                        \"programId\": \"example-id\",\n                        \"materialId\": \"example-id\",\n                        \"materialName\": \"猪瘦肉d\",\n                        \"weight\": 500,\n                        \"unit\": \"g\",\n                        \"createTime\": \"2024-02-02 10:04:10\"\n                    },\n                    {\n                        \"id\": 109,\n                        \"dishId\": \"example-id\",\n                        \"programId\": \"example-id\",\n                        \"materialId\": \"example-id\",\n                        \"materialName\": \"猪瘦肉a\",\n                        \"weight\": 500,\n                        \"unit\": \"g\",\n                        \"createTime\": \"2024-02-02 10:04:10\"\n                    }\n                ]\n            }\n        ],\n        \"coName\": \"快乐园\",\n        \"shopName\": null,\n        \"dishStyleName\": null,\n        \"tasteName\": null,\n        \"modelName\": \"10EA4-5\",\n        \"modelNo\": \"TC-10EA4-5kw\",\n        \"dishLabels\": [\n            {\n                \"id\": 689,\n                \"labelId\": 3,\n                \"labelName\": \"广东22\",\n                \"dishId\": \"example-id\",\n                \"dishName\": \"test965021\",\n                \"reserved\": \"reserved00\",\n                \"createTime\": null\n            }\n        ],\n        \"modelCode\": \"0101\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5y2v5p2h6ic6lcx5pio57ug-7XKn5eY6kI\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_dishes_details_dishId",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "主键ID；放在请求路径中",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5y2v5p2h6ic6lcx5pio57ug-7XKn5eY6kI",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes/details": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "添加菜谱与明细",
        "description": "# 接口说明\n\n添加菜谱明细，新增时需要带上明细数据，如备菜、工艺、烹饪动作、分组等\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dishes/details\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | N | 组织ID | 可以自行指定 |\n| shopId | String | N | 门店ID | 可以自行指定，如果同时传了组织ID和门店ID，则以门店ID为准 |\n| dishName | String | Y | 菜肴名称 |    |\n| dishNameEnglish | String | N | 英文名称 |    |\n| dishDesc | String | N | 菜肴描述 |    |\n| picBig | String | N | 图片url | 示例：`202411/20241112173617424535.png` |\n| dishStyleId | String | N | 菜系ID |    |\n| tasteTypeId | String | N | 口味ID |    |\n| ==categoryId== | ==Integer== | ==N== | ==分类ID== |    |\n| deviceModelId | String | N | 机型ID | 机型ID和机型编号必须传其中一个，不用两个都传；\\*\\*注意：\\*\\*如果两个都不传则菜谱无法关联到机型上 |\n| modelSn | String | N | 机型编号 | 如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取 |\n| developTime | String | N | 开发时间 |    |\n| developer | String | N | 开发人员 |    |\n| addr | String | N | 开发地点 |    |\n| weight | BigDecimal(9,3) | Y | 重量 | 单位g |\n| materialList | List<Object> | N | 备菜列表 |    |\n| techList | List<Object> | N | 工艺列表 |    |\n| programList | List<Object> | Y | 烹饪动作列表 |    |\n| dishLabels | List<Object> | N | 分组列表 |    |\n\n菜谱分组 dishLabels：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | N | 菜谱分组ID |    |\n\n备菜对象materialList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| remark | String | N | 备菜图片 |    |\n| dishMaDesc | String | N | 备菜描述 |    |\n| sortOrder | Integer | N | 排序 |    |\n\n工艺对象techList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| techId | String | N | 工艺ID |    |\n| techName | String | N | 工艺名 |    |\n| techContents | String | N | 工艺内容 |    |\n| remark | String | N | 备注 |    |\n\n烹饪动作对象programList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| actionName | String | Y | 动作名 | 1-主料、2-辅料 |\n| actionNo | String | Y | 动作ID |    |\n| fire | Integer | Y | 火力 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixType | Integer | Y | 搅拌类型 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixLevel | Integer | Y | 搅拌档位 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| potPostion | Integer | Y | 锅口位置 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixTime | Integer | Y | 搅拌时间 | 单位：秒 |\n| param5 | BigDecimal(9,3) | N | 参数5 | 油量、料号、量等 |\n| param6 | String | N | 参数6 | 单位，param6=null默认是g，param6=1表示是kg |\n| param7 | String | N | 参数7 | 预留 |\n| param8 | String | N | 参数8 | 预留 |\n| param9 | String | N | 参数9 | 预留 |\n| intervalTime | Integer | N | 间隔搅拌时间 | 单位：秒 |\n| intervalStop | Integer | N | 间隔停止时间 | 单位：秒 |\n| materialList | List<Object> | N | 原料列表 |    |\n| remark | String | N | 原料拼接 | 设备语音播报用的（例：五花肉500克,辣椒200克） |\n| description | String | N | 备注 |    |\n\n原料信息对象dishMaterial：\n\n| 参数名 | 类型 | 最大长度 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|----|\n| materialName | String | 256 | N | 原料名称 |    |\n| weight | BigDecimal(9, 3) |    | N | 重量 | 支持小数 |\n| reserved1 | String | 128 | N | 保留字段1 |    |\n| reserved2 | String | 128 | N | 保留字段2 |    |\n\n请求示例：\n\n```json\n{\n    \"dishName\": \"红烧牛肉面\",\n    \"dishNameEnglish\": \"Braised Beef Noodles in Brown Sauce\",\n    \"dishDesc\": \"康师傅红烧牛肉面\",\n    \"picBig\": \"http://localhost/20323ddss4.jpg\",\n    \"dishStyleId\": \"dishStyleId_2f7438c9c49c\",\n    \"tasteTypeId\": \"tasteTypeId_1ba3955d150e\",\n    \"weight\": 10000,\n    \"unit\": \"g\",\n    \"addr\": \"深圳\",\n    \"developer\": \"13800000000\",\n    \"developTime\": \"2023-11-24 15:48:44\",\n    \"deviceModelId\": \"example-id\",\n    \"dishStatus\": 1,\n    \"materialList\": [\n        {\n            \"remark\": \"http://localhost/adminimgs/zgtc/dish_img/202311/20231110181213570241.png\",\n            \"dishMaDesc\": \"将土豆洗净、切丝备用\",\n            \"sortOrder\": 0\n        }\n    ],\n    \"techList\": [\n        {\n            \"techId\": \"example-id\",\n            \"remark\": \"爆炒\",\n            \"techContents\": \"火力大，炒出香味\"\n        }\n    ],\n    \"programList\": [\n        {\n            \"actionName\": \"投料\",\n            \"actionNo\": \"82\",\n            \"fire\": 4,\n            \"mixType\": 3,\n            \"mixLevel\": 3,\n            \"potPostion\": 6,\n            \"mixTime\": 30,\n            \"param5\": 2,\n            \"param6\": null,\n            \"param7\": null,\n            \"param8\": null,\n            \"param9\": null,\n            \"intervalTime\": 5,\n            \"intervalStop\": 10,\n            \"reserved\": \"\",\n            \"remark\": \"需要勾芡\",\n            \"materialList\": [\n                 {\n                     \"materialId\": \"example-id\",\n                     \"materialName\": \"猪瘦肉d\",\n                     \"weight\": 500,\n                     \"unit\": \"g\"\n                 }\n            ]\n        }\n    ]\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 菜谱ID |    |\n| dishCode | String | Y | 菜谱编码 |    |\n| dishName | String | Y | 菜谱名称 |    |\n| dishNameEnglish | String | Y | 菜谱英文名称 |    |\n| picBig | String | N | 菜谱图片-大图 | 加载偏慢 |\n| picSmall | String | N | 菜谱图片-缩略图 | 加载比较快 |\n| weight | Integer | N | 菜谱重量 |    |\n| unit | String | N | 单位 | 默认都是g |\n| developer | String | N | 开发人员 |    |\n| developTime | String | N | 开发时间 |    |\n\n响应示例：\n\n```json\n{\r\n    \"code\": \"00000\",\r\n    \"message\": \"操作成功\",\r\n    \"requestId\": \"dafd846b-9b96-47d0-9603-98da2e695736\",\r\n    \"data\": {\r\n        \"id\": \"example-id\",\r\n        \"dishCode\": \"13800000000\",\r\n        \"dishName\": \"智谷菜品\",\r\n        \"dishNameEnglish\": null,\r\n        \"picSmall\": null,\r\n        \"picBig\": null,\r\n        \"weight\": 222,\r\n        \"unit\": \"g\",\r\n        \"developer\": \"1166\",\r\n        \"developTime\": \"2025-07-14 14:16:37\",\r\n        \"createUser\": 1166,\r\n        \"createtime\": \"2025-07-14 14:16:37\",\r\n        \"updateUser\": 1166,\r\n        \"updatetime\": \"2025-07-14 14:16:37\"\r\n    }\r\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5re75yqg6ic6lcx5lio5pio57ug-lA9TMdiauq\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dishes_details",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dishName": {
                    "type": "string",
                    "description": "菜肴名称"
                  },
                  "dishNameEnglish": {
                    "type": "string",
                    "description": "英文名称"
                  },
                  "dishDesc": {
                    "type": "string",
                    "description": "菜肴描述"
                  },
                  "picBig": {
                    "type": "string",
                    "description": "图片url；示例：202411/20241112173617424535.png"
                  },
                  "dishStyleId": {
                    "type": "string",
                    "description": "菜系ID"
                  },
                  "tasteTypeId": {
                    "type": "string",
                    "description": "口味ID"
                  },
                  "weight": {
                    "type": "integer",
                    "description": "N；重量"
                  },
                  "unit": {
                    "type": "string"
                  },
                  "addr": {
                    "type": "string",
                    "description": "开发地点"
                  },
                  "developer": {
                    "type": "string",
                    "description": "开发人员"
                  },
                  "developTime": {
                    "type": "string",
                    "description": "开发时间"
                  },
                  "deviceModelId": {
                    "type": "string",
                    "description": "机型ID；机型ID和机型编号必须传其中一个，不用两个都传；\\*\\*注意：\\*\\*如果两个都不传则菜谱无法关联到机型上"
                  },
                  "dishStatus": {
                    "type": "integer"
                  },
                  "materialList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "remark": {
                          "type": "string"
                        },
                        "dishMaDesc": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "remark",
                        "dishMaDesc",
                        "sortOrder"
                      ]
                    },
                    "description": "原料列表"
                  },
                  "techList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "techId": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string"
                        },
                        "techContents": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "techId",
                        "remark",
                        "techContents"
                      ]
                    },
                    "description": "工艺列表"
                  },
                  "programList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string"
                        },
                        "actionNo": {
                          "type": "string"
                        },
                        "fire": {
                          "type": "integer"
                        },
                        "mixType": {
                          "type": "integer"
                        },
                        "mixLevel": {
                          "type": "integer"
                        },
                        "potPostion": {
                          "type": "integer"
                        },
                        "mixTime": {
                          "type": "integer"
                        },
                        "param5": {
                          "type": "integer"
                        },
                        "param6": {
                          "nullable": true
                        },
                        "param7": {
                          "nullable": true
                        },
                        "param8": {
                          "nullable": true
                        },
                        "param9": {
                          "nullable": true
                        },
                        "intervalTime": {
                          "type": "integer"
                        },
                        "intervalStop": {
                          "type": "integer"
                        },
                        "reserved": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string"
                        },
                        "materialList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "materialId": {
                                "type": "string"
                              },
                              "materialName": {
                                "type": "string"
                              },
                              "weight": {
                                "type": "integer"
                              },
                              "unit": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "materialId",
                              "materialName",
                              "weight",
                              "unit"
                            ]
                          }
                        }
                      },
                      "required": [
                        "actionName",
                        "actionNo",
                        "fire",
                        "mixType",
                        "mixLevel",
                        "potPostion",
                        "mixTime",
                        "param5",
                        "param6",
                        "param7",
                        "param8",
                        "param9",
                        "intervalTime",
                        "intervalStop",
                        "reserved",
                        "remark",
                        "materialList"
                      ]
                    },
                    "description": "烹饪动作列表"
                  },
                  "orgId": {
                    "type": "string",
                    "description": "组织ID；可以自行指定"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "门店ID；可以自行指定，如果同时传了组织ID和门店ID，则以门店ID为准"
                  },
                  "categoryId": {
                    "type": "integer",
                    "description": "分类ID"
                  },
                  "modelSn": {
                    "type": "string",
                    "description": "机型编号；如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取"
                  },
                  "dishLabels": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "分组列表"
                  },
                  "参数名": {
                    "type": "string",
                    "description": "必填；说明"
                  },
                  ":---:": {
                    "type": "string",
                    "description": ":---:；----"
                  },
                  "labelId": {
                    "type": "integer",
                    "description": "菜谱分组ID"
                  },
                  "----": {
                    "type": "string",
                    "description": "----；----"
                  },
                  "remark": {
                    "type": "string",
                    "description": "原料拼接；设备语音播报用的（例：五花肉500克,辣椒200克）"
                  },
                  "dishMaDesc": {
                    "type": "string",
                    "description": "备菜描述"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "techId": {
                    "type": "string",
                    "description": "工艺ID"
                  },
                  "techName": {
                    "type": "string",
                    "description": "工艺名"
                  },
                  "techContents": {
                    "type": "string",
                    "description": "工艺内容"
                  },
                  "actionName": {
                    "type": "string",
                    "description": "动作名；1-主料、2-辅料"
                  },
                  "actionNo": {
                    "type": "string",
                    "description": "动作ID"
                  },
                  "fire": {
                    "type": "integer",
                    "description": "火力；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixType": {
                    "type": "integer",
                    "description": "搅拌类型；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixLevel": {
                    "type": "integer",
                    "description": "搅拌档位；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "potPostion": {
                    "type": "integer",
                    "description": "锅口位置；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixTime": {
                    "type": "integer",
                    "description": "搅拌时间；单位：秒"
                  },
                  "param5": {
                    "type": "string",
                    "description": "参数5；油量、料号、量等"
                  },
                  "param6": {
                    "type": "string",
                    "description": "参数6；单位，param6=null默认是g，param6=1表示是kg"
                  },
                  "param7": {
                    "type": "string",
                    "description": "参数7；预留"
                  },
                  "param8": {
                    "type": "string",
                    "description": "参数8；预留"
                  },
                  "param9": {
                    "type": "string",
                    "description": "参数9；预留"
                  },
                  "intervalTime": {
                    "type": "integer",
                    "description": "间隔搅拌时间；单位：秒"
                  },
                  "intervalStop": {
                    "type": "integer",
                    "description": "间隔停止时间；单位：秒"
                  },
                  "description": {
                    "type": "string",
                    "description": "备注"
                  },
                  "materialName": {
                    "type": "string",
                    "description": "N；原料名称"
                  },
                  "reserved1": {
                    "type": "string",
                    "description": "N；保留字段1"
                  },
                  "reserved2": {
                    "type": "string",
                    "description": "N；保留字段2"
                  }
                },
                "required": [
                  "dishName",
                  "dishNameEnglish",
                  "dishDesc",
                  "picBig",
                  "dishStyleId",
                  "tasteTypeId",
                  "weight",
                  "unit",
                  "addr",
                  "developer",
                  "developTime",
                  "deviceModelId",
                  "dishStatus",
                  "materialList",
                  "techList",
                  "programList",
                  "参数名",
                  "actionName",
                  "actionNo",
                  "fire",
                  "mixType",
                  "mixLevel",
                  "potPostion",
                  "mixTime"
                ]
              },
              "example": {
                "dishName": "红烧牛肉面",
                "dishNameEnglish": "Braised Beef Noodles in Brown Sauce",
                "dishDesc": "康师傅红烧牛肉面",
                "picBig": "http://localhost/20323ddss4.jpg",
                "dishStyleId": "dishStyleId_2f7438c9c49c",
                "tasteTypeId": "tasteTypeId_1ba3955d150e",
                "weight": 10000,
                "unit": "g",
                "addr": "深圳",
                "developer": "15012523214",
                "developTime": "2023-11-24 15:48:44",
                "deviceModelId": "example-id",
                "dishStatus": 1,
                "materialList": [
                  {
                    "remark": "http://localhost/adminimgs/zgtc/dish_img/202311/20231110181213570241.png",
                    "dishMaDesc": "将土豆洗净、切丝备用",
                    "sortOrder": 0
                  }
                ],
                "techList": [
                  {
                    "techId": "example-id",
                    "remark": "爆炒",
                    "techContents": "火力大，炒出香味"
                  }
                ],
                "programList": [
                  {
                    "actionName": "投料",
                    "actionNo": "82",
                    "fire": 4,
                    "mixType": 3,
                    "mixLevel": 3,
                    "potPostion": 6,
                    "mixTime": 30,
                    "param5": 2,
                    "param6": null,
                    "param7": null,
                    "param8": null,
                    "param9": null,
                    "intervalTime": 5,
                    "intervalStop": 10,
                    "reserved": "",
                    "remark": "需要勾芡",
                    "materialList": [
                      {
                        "materialId": "example-id",
                        "materialName": "猪瘦肉d",
                        "weight": 500,
                        "unit": "g"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "菜谱ID"
                        },
                        "dishCode": {
                          "type": "string",
                          "description": "菜谱编码"
                        },
                        "dishName": {
                          "type": "string",
                          "description": "菜谱名称"
                        },
                        "dishNameEnglish": {
                          "type": "string",
                          "nullable": true,
                          "description": "菜谱英文名称"
                        },
                        "picSmall": {
                          "type": "string",
                          "nullable": true,
                          "description": "菜谱图片-缩略图；加载比较快"
                        },
                        "picBig": {
                          "type": "string",
                          "nullable": true,
                          "description": "菜谱图片-大图；加载偏慢"
                        },
                        "weight": {
                          "type": "integer",
                          "description": "菜谱重量"
                        },
                        "unit": {
                          "type": "string",
                          "description": "单位；默认都是g"
                        },
                        "developer": {
                          "type": "string",
                          "description": "开发人员"
                        },
                        "developTime": {
                          "type": "string",
                          "description": "开发时间"
                        },
                        "createUser": {
                          "type": "integer"
                        },
                        "createtime": {
                          "type": "string"
                        },
                        "updateUser": {
                          "type": "integer"
                        },
                        "updatetime": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "dishCode",
                        "dishName",
                        "dishNameEnglish",
                        "picSmall",
                        "picBig",
                        "weight",
                        "unit",
                        "developer",
                        "developTime",
                        "createUser",
                        "createtime",
                        "updateUser",
                        "updatetime"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "dishCode": "145200000011",
                    "dishName": "智谷菜品",
                    "dishNameEnglish": null,
                    "picSmall": null,
                    "picBig": null,
                    "weight": 222,
                    "unit": "g",
                    "developer": "1166",
                    "developTime": "2025-07-14 14:16:37",
                    "createUser": 1166,
                    "createtime": "2025-07-14 14:16:37",
                    "updateUser": 1166,
                    "updatetime": "2025-07-14 14:16:37"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5re75yqg6ic6lcx5lio5pio57ug-lA9TMdiauq",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      },
      "put": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "修改菜谱与明细",
        "description": "# 接口说明\n\n修改菜谱明细，更新时需要带上明细数据，如原料、工艺、炒制流程、菜谱分组标签等\n\n\n:::warning\n如果更新的时候没有回传明细数据，服务器会把原有的明细数据清空，而不是忽略更新；这是以前代码留下的遗留问题。如果只更新菜谱的基本信息，可以调用 [修改菜谱](/doc/5lu5ps56ic6lcx-dvmBGNZBTO) 接口\n\n:::\n\n# 接口地址\n\n请求地址：==【**PUT**】== /openapi/v1/dishes/details\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | ==Y== | 菜肴ID |    |\n| dishName | String | N | 菜肴名称 |    |\n| dishNameEnglish | String | N | 英文名称 |    |\n| dishDesc | String | N | 菜肴描述 |    |\n| picBig | String | N | 图片url |    |\n| dishStyleId | String | N | 菜系ID |    |\n| tasteTypeId | String | N | 口味ID |    |\n| categoryId | Integer | N | 分类ID |    |\n| deviceModelId | String | N | 机型ID | 机型ID和机型编号必须传其中一个，不用两个都传；==如果两个都不传则菜谱无法关联到机型上== |\n| modelSn | String | N | 机型编号 | 如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取 |\n| developTime | String | N | 开发时间 |    |\n| developer | String | N | 开发人员 |    |\n| addr | String | N | 开发地点 |    |\n| weight | BigDecimal(9, 3) | N | 重量 |    |\n| unit | String | N | 重量单位 | 统一传：`g` |\n| materialList | List<Object> | N | 备菜列表 |    |\n| techList | List<Object> | N | 工艺列表 |    |\n| programList | List<Object> | N | 烹饪动作列表 |    |\n| dishLabels | List<Object> | N | 分组列表 |    |\n| dishStatus | String | N | 菜谱状态 | 1-开发中2-已存档3-已停用 |\n| isDel | Integer | N | 是否删除 | 0-正常，1-删除 |\n\n菜谱分组 dishLabels：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| labelId | Integer | N | 菜谱分组ID |    |\n\n备菜对象materialList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| ==id== | ==String== | ==N== | ==菜肴原料ID== |    |\n| remark | String | N | 备菜图片 |    |\n| dishMaDesc | String | N | 备菜描述 |    |\n| sortOrder | Integer | N | 排序 |    |\n\n工艺对象techList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| ==id== | ==String== | ==N== | ==菜肴工艺ID== |    |\n| techId | String | N | 工艺ID |    |\n| techName | String | N | 工艺名 |    |\n| techContents | String | N | 工艺内容 |    |\n| remark | String | N | 备注 |    |\n\n烹饪动作对象programList：\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| ==id== | ==String== | ==N== | ==流程ID== |    |\n| actionName | String | Y | 动作名 | 1-主料、2-辅料 |\n| actionNo | String | Y | 动作ID |    |\n| fire | Integer | Y | 火力 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixType | Integer | Y | 搅拌类型 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixLevel | Integer | Y | 搅拌档位 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| potPostion | Integer | Y | 锅口位置 | 通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围 |\n| mixTime | Integer | Y | 搅拌时间 | 单位：秒 |\n| param5 | BigDecimal(9,3) | N | 参数5 | 油量、料号、量等 |\n| param6 | String | N | 参数6 | 单位，param6=null默认是g，param6=1表示是kg |\n| param7 | String | N | 参数7 | 预留 |\n| param8 | String | N | 参数8 | 预留 |\n| param9 | String | N | 参数9 | 预留 |\n| intervalTime | Integer | N | 间隔搅拌时间 | 单位：秒 |\n| intervalStop | Integer | N | 间隔停止时间 | 单位：秒 |\n| materialList | List<Object> | N | 原料列表 |    |\n| remark | String | N | 备注 | 设备语音播报用的 |\n\n原料信息对象dishMaterial：\n\n| 参数名 | 类型 | 最大长度 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|----|\n| ==id== | ==Long== |    | ==N== | ==主键== |    |\n| materialName | String | 256 | N | 原料名称 |    |\n| weight | BigDecimal(9,3) |    | N | 重量 | 支持小数 |\n| reserved1 | String | 128 | N | 保留字段1 |    |\n| reserved2 | String | 128 | N | 保留字段2 |    |\n\n请求示例：\n\n```json\n{\n    \"id\": \"example-id\",\n    \"dishName\": \"红烧牛肉面\",\n    \"dishCode\": \"100400000070\",\n    \"dishNameEnglish\": \"Braised Beef Noodles in Brown Sauce\",\n    \"dishDesc\": \"康师傅红烧牛肉面\",\n    \"picBig\": \"http://localhost:8080/20323ddss4.jpg\",\n    \"dishStyleId\": \"dishStyleId_2f7438c9c49c\",\n    \"tasteTypeId\": \"tasteTypeId_1ba3955d150e\",\n    \"weight\": 0,\n    \"unit\": \"kg\",\n    \"addr\": \"深圳\",\n    \"developer\": \"13800000000\",\n    \"developTime\": \"2023-11-24 15:48:44\",\n    \"isOpen\": 0,\n    \"deviceModelId\": \"example-id\",\n    \"dishStatus\": 1,\n    \"materialList\": [\n        {\n            \"maId\": \"example-id\",\n            \"typeNo\": 0,\n            \"bomMaterialWeight\": 20,\n            \"bomWeightUnit\": \"克\",\n            \"shapeId\": \"example-id\",\n            \"remark\": \"http://39.108.235.115/adminimgs/zgtc/dish_img/202311/20231110181213570241.png\",\n            \"dishMaDesc\": \"测试\",\n            \"reserved1\": \"reserved1_5e36c7d8de60\",\n            \"reserved2\": \"reserved2_13bab292b51b\",\n            \"sortOrder\": 0\n        }\n    ],\n    \"techList\": [\n        {\n            \"techId\": \"example-id\",\n            \"remark\": \"爆炒\",\n            \"techContents\": \"火力大，炒出香味\"\n        }\n    ],\n    \"programList\": [\n        {\n            \"actionName\": \"投料\",\n            \"actionNo\": \"82\",\n            \"fire\": 4,\n            \"mixType\": 3,\n            \"mixLevel\": 3,\n            \"potPostion\": 6,\n            \"mixTime\": 30,\n            \"param5\": 2,\n            \"param6\": null,\n            \"param7\": null,\n            \"param8\": null,\n            \"param9\": null,\n            \"intervalTime\": 5,\n            \"intervalStop\": 10,\n            \"reserved\": \"\",\n            \"remark\": \"需要勾芡\",\n            \"materialList\": [\n                 {\n                     \"id\": 182,\n                     \"materialId\": \"example-id\",\n                     \"materialName\": \"猪瘦肉d\",\n                     \"weight\": 500,\n                     \"unit\": \"g\"\n                 }\n            ]\n\n        }\n    ],\n    \"dishLabels\": [\n        {\n            \"labelId\": 3,\n            \"dishId\": \"\",\n            \"reserved\": \"reservdfadfasdfasfa10\"\n        }\n    ]\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| data | String | Y | 菜谱ID |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"60676487-e827-46f3-b236-bec0bb7931be\",\n    \"data\": \"example-id\"\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5lu5ps56ic6lcx5lio5pio57ug-vWOaaxhDY6\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_put_openapi_v1_dishes_details",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "N；主键"
                  },
                  "dishName": {
                    "type": "string",
                    "description": "菜肴名称"
                  },
                  "dishCode": {
                    "type": "string"
                  },
                  "dishNameEnglish": {
                    "type": "string",
                    "description": "英文名称"
                  },
                  "dishDesc": {
                    "type": "string",
                    "description": "菜肴描述"
                  },
                  "picBig": {
                    "type": "string",
                    "description": "图片url"
                  },
                  "dishStyleId": {
                    "type": "string",
                    "description": "菜系ID"
                  },
                  "tasteTypeId": {
                    "type": "string",
                    "description": "口味ID"
                  },
                  "weight": {
                    "type": "integer",
                    "description": "N；重量"
                  },
                  "unit": {
                    "type": "string",
                    "description": "重量单位；统一传：g"
                  },
                  "addr": {
                    "type": "string",
                    "description": "开发地点"
                  },
                  "developer": {
                    "type": "string",
                    "description": "开发人员"
                  },
                  "developTime": {
                    "type": "string",
                    "description": "开发时间"
                  },
                  "isOpen": {
                    "type": "integer"
                  },
                  "deviceModelId": {
                    "type": "string",
                    "description": "机型ID；机型ID和机型编号必须传其中一个，不用两个都传；如果两个都不传则菜谱无法关联到机型上"
                  },
                  "dishStatus": {
                    "type": "integer",
                    "description": "菜谱状态；1-开发中2-已存档3-已停用"
                  },
                  "materialList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "maId": {
                          "type": "string"
                        },
                        "typeNo": {
                          "type": "integer"
                        },
                        "bomMaterialWeight": {
                          "type": "integer"
                        },
                        "bomWeightUnit": {
                          "type": "string"
                        },
                        "shapeId": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string"
                        },
                        "dishMaDesc": {
                          "type": "string"
                        },
                        "reserved1": {
                          "type": "string"
                        },
                        "reserved2": {
                          "type": "string"
                        },
                        "sortOrder": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "maId",
                        "typeNo",
                        "bomMaterialWeight",
                        "bomWeightUnit",
                        "shapeId",
                        "remark",
                        "dishMaDesc",
                        "reserved1",
                        "reserved2",
                        "sortOrder"
                      ]
                    },
                    "description": "原料列表"
                  },
                  "techList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "techId": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string"
                        },
                        "techContents": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "techId",
                        "remark",
                        "techContents"
                      ]
                    },
                    "description": "工艺列表"
                  },
                  "programList": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "actionName": {
                          "type": "string"
                        },
                        "actionNo": {
                          "type": "string"
                        },
                        "fire": {
                          "type": "integer"
                        },
                        "mixType": {
                          "type": "integer"
                        },
                        "mixLevel": {
                          "type": "integer"
                        },
                        "potPostion": {
                          "type": "integer"
                        },
                        "mixTime": {
                          "type": "integer"
                        },
                        "param5": {
                          "type": "integer"
                        },
                        "param6": {
                          "nullable": true
                        },
                        "param7": {
                          "nullable": true
                        },
                        "param8": {
                          "nullable": true
                        },
                        "param9": {
                          "nullable": true
                        },
                        "intervalTime": {
                          "type": "integer"
                        },
                        "intervalStop": {
                          "type": "integer"
                        },
                        "reserved": {
                          "type": "string"
                        },
                        "remark": {
                          "type": "string"
                        },
                        "materialList": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "materialId": {
                                "type": "string"
                              },
                              "materialName": {
                                "type": "string"
                              },
                              "weight": {
                                "type": "integer"
                              },
                              "unit": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "materialId",
                              "materialName",
                              "weight",
                              "unit"
                            ]
                          }
                        }
                      },
                      "required": [
                        "actionName",
                        "actionNo",
                        "fire",
                        "mixType",
                        "mixLevel",
                        "potPostion",
                        "mixTime",
                        "param5",
                        "param6",
                        "param7",
                        "param8",
                        "param9",
                        "intervalTime",
                        "intervalStop",
                        "reserved",
                        "remark",
                        "materialList"
                      ]
                    },
                    "description": "烹饪动作列表"
                  },
                  "dishLabels": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "labelId": {
                          "type": "integer"
                        },
                        "dishId": {
                          "type": "string"
                        },
                        "reserved": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "labelId",
                        "dishId",
                        "reserved"
                      ]
                    },
                    "description": "分组列表"
                  },
                  "categoryId": {
                    "type": "integer",
                    "description": "分类ID"
                  },
                  "modelSn": {
                    "type": "string",
                    "description": "机型编号；如：0400，表示40EA机型，可以通过调用 [查询机型列表](/doc/5pl6ki5py65z6l5yix6kgo-WPokeq4tkX) 接口获取"
                  },
                  "isDel": {
                    "type": "integer",
                    "description": "是否删除；0-正常，1-删除"
                  },
                  "参数名": {
                    "type": "string",
                    "description": "必填；说明"
                  },
                  ":---:": {
                    "type": "string",
                    "description": ":---:；----"
                  },
                  "labelId": {
                    "type": "integer",
                    "description": "菜谱分组ID"
                  },
                  "----": {
                    "type": "string",
                    "description": "----；----"
                  },
                  "remark": {
                    "type": "string",
                    "description": "备注；设备语音播报用的"
                  },
                  "dishMaDesc": {
                    "type": "string",
                    "description": "备菜描述"
                  },
                  "sortOrder": {
                    "type": "integer",
                    "description": "排序"
                  },
                  "techId": {
                    "type": "string",
                    "description": "工艺ID"
                  },
                  "techName": {
                    "type": "string",
                    "description": "工艺名"
                  },
                  "techContents": {
                    "type": "string",
                    "description": "工艺内容"
                  },
                  "actionName": {
                    "type": "string",
                    "description": "动作名；1-主料、2-辅料"
                  },
                  "actionNo": {
                    "type": "string",
                    "description": "动作ID"
                  },
                  "fire": {
                    "type": "integer",
                    "description": "火力；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixType": {
                    "type": "integer",
                    "description": "搅拌类型；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixLevel": {
                    "type": "integer",
                    "description": "搅拌档位；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "potPostion": {
                    "type": "integer",
                    "description": "锅口位置；通过 [查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6) 接口查询对应机型的取值范围"
                  },
                  "mixTime": {
                    "type": "integer",
                    "description": "搅拌时间；单位：秒"
                  },
                  "param5": {
                    "type": "string",
                    "description": "参数5；油量、料号、量等"
                  },
                  "param6": {
                    "type": "string",
                    "description": "参数6；单位，param6=null默认是g，param6=1表示是kg"
                  },
                  "param7": {
                    "type": "string",
                    "description": "参数7；预留"
                  },
                  "param8": {
                    "type": "string",
                    "description": "参数8；预留"
                  },
                  "param9": {
                    "type": "string",
                    "description": "参数9；预留"
                  },
                  "intervalTime": {
                    "type": "integer",
                    "description": "间隔搅拌时间；单位：秒"
                  },
                  "intervalStop": {
                    "type": "integer",
                    "description": "间隔停止时间；单位：秒"
                  },
                  "materialName": {
                    "type": "string",
                    "description": "N；原料名称"
                  },
                  "reserved1": {
                    "type": "string",
                    "description": "N；保留字段1"
                  },
                  "reserved2": {
                    "type": "string",
                    "description": "N；保留字段2"
                  }
                },
                "required": [
                  "id",
                  "dishName",
                  "dishCode",
                  "dishNameEnglish",
                  "dishDesc",
                  "picBig",
                  "dishStyleId",
                  "tasteTypeId",
                  "weight",
                  "unit",
                  "addr",
                  "developer",
                  "developTime",
                  "isOpen",
                  "deviceModelId",
                  "dishStatus",
                  "materialList",
                  "techList",
                  "programList",
                  "dishLabels",
                  "参数名",
                  "actionName",
                  "actionNo",
                  "fire",
                  "mixType",
                  "mixLevel",
                  "potPostion",
                  "mixTime"
                ]
              },
              "example": {
                "id": "example-id",
                "dishName": "红烧牛肉面",
                "dishCode": "100400000070",
                "dishNameEnglish": "Braised Beef Noodles in Brown Sauce",
                "dishDesc": "康师傅红烧牛肉面",
                "picBig": "http://localhost:8080/20323ddss4.jpg",
                "dishStyleId": "dishStyleId_2f7438c9c49c",
                "tasteTypeId": "tasteTypeId_1ba3955d150e",
                "weight": 0,
                "unit": "kg",
                "addr": "深圳",
                "developer": "15012523214",
                "developTime": "2023-11-24 15:48:44",
                "isOpen": 0,
                "deviceModelId": "example-id",
                "dishStatus": 1,
                "materialList": [
                  {
                    "maId": "example-id",
                    "typeNo": 0,
                    "bomMaterialWeight": 20,
                    "bomWeightUnit": "克",
                    "shapeId": "example-id",
                    "remark": "http://39.108.235.115/adminimgs/zgtc/dish_img/202311/20231110181213570241.png",
                    "dishMaDesc": "测试",
                    "reserved1": "reserved1_5e36c7d8de60",
                    "reserved2": "reserved2_13bab292b51b",
                    "sortOrder": 0
                  }
                ],
                "techList": [
                  {
                    "techId": "example-id",
                    "remark": "爆炒",
                    "techContents": "火力大，炒出香味"
                  }
                ],
                "programList": [
                  {
                    "actionName": "投料",
                    "actionNo": "82",
                    "fire": 4,
                    "mixType": 3,
                    "mixLevel": 3,
                    "potPostion": 6,
                    "mixTime": 30,
                    "param5": 2,
                    "param6": null,
                    "param7": null,
                    "param8": null,
                    "param9": null,
                    "intervalTime": 5,
                    "intervalStop": 10,
                    "reserved": "",
                    "remark": "需要勾芡",
                    "materialList": [
                      {
                        "id": 182,
                        "materialId": "example-id",
                        "materialName": "猪瘦肉d",
                        "weight": 500,
                        "unit": "g"
                      }
                    ]
                  }
                ],
                "dishLabels": [
                  {
                    "labelId": 3,
                    "dishId": "",
                    "reserved": "reservdfadfasdfasfa10"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": "2c20d5da52054cf493421fcfc0585f4c"
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5lu5ps56ic6lcx5lio5pio57ug-vWOaaxhDY6",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes/{dishId}/copy": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "复制菜谱",
        "description": "# 接口说明\n\n根据菜谱ID，将菜谱复制到用户当前组织下。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dishes/=={dishId}==/copy\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| dishId | String | Y | 要复制的菜谱ID |    |\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | N | 组织ID | 可以自行指定 |\n| shopId | String | N | 门店ID | 可以自行指定，如果同时传了组织ID和门店ID，则以门店ID为准 |\n| dishName | String | N | 新菜谱名称 |    |\n| dishNameEnglish | String | N | 新菜谱英文名称 |    |\n\n请求示例：\n\n```json\n// 要复制的菜谱ID：example-id\nhttp://ip:port/openapi/v1/dishes/example-id/copy\n\n{\n  \"dishName\": \"青椒炒肉-副本\"\n}\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 复制后新的菜谱ID |    |\n| dishCode | String | Y | 菜谱编码 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"d99f9c8c-e9fd-407c-8afe-107e9850c6be\",\n    \"data\": {\n        \"id\": \"example-id\",\n        \"dishCode\": \"102100000052\"\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5asn5yi26ic6lcx-TOnQsklL1A\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dishes_dishId_copy",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "dishId",
            "in": "path",
            "required": true,
            "description": "要复制的菜谱ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgId": {
                    "type": "string",
                    "description": "组织ID；可以自行指定"
                  },
                  "shopId": {
                    "type": "string",
                    "description": "门店ID；可以自行指定，如果同时传了组织ID和门店ID，则以门店ID为准"
                  },
                  "dishName": {
                    "type": "string",
                    "description": "新菜谱名称"
                  },
                  "dishNameEnglish": {
                    "type": "string",
                    "description": "新菜谱英文名称"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "复制后新的菜谱ID"
                        },
                        "dishCode": {
                          "type": "string",
                          "description": "菜谱编码"
                        }
                      },
                      "required": [
                        "id",
                        "dishCode"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": {
                    "id": "example-id",
                    "dishCode": "102100000052"
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5asn5yi26ic6lcx-TOnQsklL1A",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes/batch-delete": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "批量删除菜谱",
        "description": "# 接口说明\n\n支持批量删除菜谱，如果误操作可以通过[批量恢复菜谱](/doc/5om56yep5ogi5asn6ic6lcx-mqhS6gG3Ar)接口（类似回收站）找回。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dishes/batch-delete\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| ids | Array | N | 菜谱ID | 格式是数组，支持删除多个 |\n\n请求示例：\n\n```json\n请求体：\n[\n    \"example-id\",\n    \"example-id\"\n]\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| data | Integer | Y | 成功删除的菜谱数量 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"requestId\": \"60676487-e827-46f3-b236-bec0bb7931be\",\n    \"data\": 2\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5om56yep5yig6zmk6ic6lcx-ptWyclg4kk\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dishes_batch_delete",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "description": "菜谱ID；格式是数组，支持删除多个"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "requestId": "example-id",
                  "data": 2
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5om56yep5yig6zmk6ic6lcx-ptWyclg4kk",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/dishes/batch-restore": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "批量恢复菜谱",
        "description": "# 接口说明\n\n将删除的菜谱恢复。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/dishes/batch-restore\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| 无 | List | Y | 菜谱ID集合 |    |\n\n请求示例：\n\n```json\n[\n    \"example-id\"\n]\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| data | Integer | Y | 恢复的条数 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"cafcbd43-5cee-4d33-ad68-7f250b94e499\",\n    \"data\": 1\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5om56yep5ogi5asn6ic6lcx-mqhS6gG3Ar\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_dishes_batch_restore",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": 1
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5om56yep5ogi5asn6ic6lcx-mqhS6gG3Ar",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/shops/assign-dishes": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "门店分配菜谱",
        "description": "# 接口说明\n\n用于给门店分配菜谱，可以批量分配多条菜谱。\n\n分配菜谱后，服务器会通知门店下的设备，菜谱列表发生变化，设备会自动刷新菜谱列表。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/shops/assign-dishes\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| shopIds | List<String> | Y | 门店ID列表 |    |\n| dishIds | List<String> | Y | 菜谱ID列表 |    |\n\n请求示例：\n\n```json\n{\n    \"shopIds\": [\"example-id\"],\n    \"dishIds\": [\"example-id\", \"example-id\"]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"fc754537-0a07-476e-9251-76df82ac84f5\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/6zeo5bqx5yig6ywn6ic6lcx-X5dcHlH7qi\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_shops_assign_dishes",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shopIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "门店ID列表"
                  },
                  "dishIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "菜谱ID列表"
                  }
                },
                "required": [
                  "shopIds",
                  "dishIds"
                ]
              },
              "example": {
                "shopIds": [
                  "aa519c40853f4385a98eb25827689dc7"
                ],
                "dishIds": [
                  "8e711a912183494c84914728a68c0c44",
                  "8e711a912183494c84914728a68c0c45"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/6zeo5bqx5yig6ywn6ic6lcx-X5dcHlH7qi",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/shops/release-dishes": {
      "post": {
        "tags": [
          "菜谱管理/菜谱"
        ],
        "summary": "门店移除菜谱",
        "description": "# 接口说明\n\n门店移除菜谱，只能移除单个门店的多条菜谱，目前限制50条菜谱。\n\n移除菜谱后，服务器会通知门店下的设备，菜谱列表发生变化，设备会自动刷新菜谱列表。\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/shops/release-dishes\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| shopId | String | Y | 门店ID |    |\n| dishIds | String | Y | 菜谱ID列表 | 多个用逗号隔开 |\n\n请求示例：\n\n```json\n{\n    \"shopId\": \"example-id\",\n    \"dishIds\": [\n        \"example-id\",\n        \"example-id\"\n    ]\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"fc754537-0a07-476e-9251-76df82ac84f5\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/6zeo5bqx56e76zmk6ic6lcx-cbWgSk9wVF\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_shops_release_dishes",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shopId": {
                    "type": "string",
                    "description": "门店ID"
                  },
                  "dishIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "菜谱ID列表；多个用逗号隔开"
                  }
                },
                "required": [
                  "shopId",
                  "dishIds"
                ]
              },
              "example": {
                "shopId": "example-id",
                "dishIds": [
                  "c744b267a89148cf9dea626403d561b2",
                  "0c5730ec4600489280a994a153731961"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/6zeo5bqx56e76zmk6ic6lcx-cbWgSk9wVF",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "菜谱管理/菜谱",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/org/cook-count-summary": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "烹饪次数汇总",
        "description": "# 接口说明\n\n烹饪次数汇总，返回当前组织今天、近15天、近30天内的烹饪总次数。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/statistics/cooking/org/cook-count-summary\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| modelId | String | N | 机型ID |    |\n| devSn | String | N | 设备序列号 |    |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n[GET] http://[ip]:[port]/openapi/v1/statistics/cooking/org/cook-count-summary\n?orgId=example-id\n&shopId=example-id\n&modelId=example-id\n&devSn=86000000000\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| todayCount | Integer | Y | 今日烹饪总数 |    |\n| halfAMonthCount | Integer | Y | 近15日烹饪总数 |    |\n| monthCount | Integer | Y | 近30日烹饪总数 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"8990a854-7e12-4137-8b40-edf82bab4dc1\",\n    \"data\": {\n        \"todayCount\": 0,\n        \"halfAMonthCount\": 4,\n        \"monthCount\": 6\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/54o56awq5qyh5pww5rgh5oc7-PeroEfEXUi\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_org_cook_count_summary",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 2
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "example": "86000000000",
            "x-source-order": 3
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "todayCount": {
                          "type": "integer",
                          "description": "今日烹饪总数"
                        },
                        "halfAMonthCount": {
                          "type": "integer",
                          "description": "近15日烹饪总数"
                        },
                        "monthCount": {
                          "type": "integer",
                          "description": "近30日烹饪总数"
                        }
                      },
                      "required": [
                        "todayCount",
                        "halfAMonthCount",
                        "monthCount"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": {
                    "todayCount": 0,
                    "halfAMonthCount": 4,
                    "monthCount": 6
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/54o56awq5qyh5pww5rgh5oc7-PeroEfEXUi",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/shop/total-cook-count": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "各门店烹饪总次数",
        "description": "# 接口说明\n\n各门店烹饪总次数，结果按照烹饪次数从多到少倒序排序，==没有烹饪次数的门店也会返回==。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/statistics/cooking/shop/total-cook-count\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| modelId | String | N | 机型ID |    |\n| startTime | String | ==Y== | 开始时间 |    |\n| endTime | String | ==Y== | 结束时间 |    |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n[GET] http://[ip]:[port]/openapi/v1/statistics/cooking/shop/total-cook-count\n?startTime=2024-05-20 00:00:00\n&endTime=2024-05-20 23:59:59\n&modelId=example-id\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID | 如果设备没有绑定门店，则shopId为0 |\n| shopName | String | N | 门店名称 |    |\n| cookCount | Integer | N | 烹饪次数 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"13af235a-22ad-49a9-91cd-8c8ff56bb40f\",\n    \"data\": [\n        {\n            \"orgId\": \"example-id\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"万州体育路餐厅\",\n            \"cookCount\": 6\n        },\n        {\n            \"orgId\": \"example-id\",\n            \"shopId\": \"0\",\n            \"shopName\": \"万州体育路餐厅\",\n            \"cookCount\": 1\n        },\n        {\n            \"orgId\": \"example-id\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"万州三中店\",\n            \"cookCount\": 0\n        },\n        {\n            \"orgId\": \"example-id\",\n            \"shopId\": \"example-id\",\n            \"shopName\": \"大世界\",\n            \"cookCount\": 0\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 250,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 250\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5zce6zeo5bqx54o56awq5oc75qyh5pww-MVAyhZGQCy\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_shop_total_cook_count",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 2
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-20 00:00:00",
            "x-source-order": 3
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-20 23:59:59",
            "x-source-order": 4
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "shopId": {
                            "type": "string",
                            "description": "门店ID；如果设备没有绑定门店，则shopId为0"
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "cookCount": {
                            "type": "integer",
                            "description": "烹饪次数"
                          }
                        },
                        "required": [
                          "orgId",
                          "shopId",
                          "shopName",
                          "cookCount"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "orgId": "example-id",
                      "shopId": "example-id",
                      "shopName": "万州体育路餐厅",
                      "cookCount": 6
                    },
                    {
                      "orgId": "example-id",
                      "shopId": "0",
                      "shopName": "万州体育路餐厅",
                      "cookCount": 1
                    },
                    {
                      "orgId": "example-id",
                      "shopId": "example-id",
                      "shopName": "万州三中店",
                      "cookCount": 0
                    },
                    {
                      "orgId": "example-id",
                      "shopId": "example-id",
                      "shopName": "大世界",
                      "cookCount": 0
                    }
                  ],
                  "meta": {
                    "total": 250,
                    "pages": 1,
                    "page": 1,
                    "limit": 250
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5zce6zeo5bqx54o56awq5oc75qyh5pww-MVAyhZGQCy",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/shop/daily-cook-count": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "门店每日烹饪总数",
        "description": "# 接口说明\n\n门店每日烹饪总数，返回结果按照日期倒序排序\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/statistics/cooking/shop/daily-cook-count\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | ==Y== | 组织ID |    |\n| shopId | String | ==Y== | 门店ID |    |\n| devSn | String | N | 设备序列号 |    |\n| modelId | String | N | 机型ID |    |\n| startTime | String | ==Y== | 开始时间 |    |\n| endTime | String | ==Y== | 结束时间 |    |\n\n\n:::info\norgId 必须传，因为当shopId=0的时候如果没有传组织ID，会导致数据统计错误\n\n:::\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n[GET] http://[ip]:[port]/openapi/v1/statistics/cooking/shop/daily-cook-count\n?orgId=example-id\n&shopId=example-id\n&startTime=2024-05-02 00:00:00\n&endTime=2024-05-31 23:59:59\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| cookDate | String | N | 统计日期 |    |\n| cookCount | Integer | N | 烹饪次数 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"073114c1-6355-471b-8f1e-25217002a800\",\n    \"data\": [\n        {\n            \"cookDate\": \"2024-05-31\",\n            \"cookCount\": 5\n        },\n        {\n            \"cookDate\": \"2024-05-29\",\n            \"cookCount\": 2\n        },\n        {\n            \"cookDate\": \"2024-05-08\",\n            \"cookCount\": 1\n        }\n    ],\n    \"meta\": {\n        \"total\": 5,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 5\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/6zeo5bqx5qp5pel54o56awq5oc75pww-1DlRPq0YCd\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_shop_daily_cook_count",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": true,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": true,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-02 00:00:00",
            "x-source-order": 4
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-31 23:59:59",
            "x-source-order": 5
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "cookDate": {
                            "type": "string",
                            "description": "统计日期"
                          },
                          "cookCount": {
                            "type": "integer",
                            "description": "烹饪次数"
                          }
                        },
                        "required": [
                          "cookDate",
                          "cookCount"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "cookDate": "2024-05-31",
                      "cookCount": 5
                    },
                    {
                      "cookDate": "2024-05-29",
                      "cookCount": 2
                    },
                    {
                      "cookDate": "2024-05-08",
                      "cookCount": 1
                    }
                  ],
                  "meta": {
                    "total": 5,
                    "pages": 1,
                    "page": 1,
                    "limit": 5
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/6zeo5bqx5qp5pel54o56awq5oc75pww-1DlRPq0YCd",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/dish/total-cook-count": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "各菜谱烹饪总次数",
        "description": "# 接口说明\n\n各菜谱烹饪总次数，返回结果按照烹饪总次数倒序排序。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/statistics/cooking/dish/total-cook-count\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| devSn | String | N | 设备序列号 |    |\n| modelId | String | N | 机型ID |    |\n| startTime | String | Y | 开始时间 |    |\n| endTime | String | Y | 结束时间 |    |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n[GET] http://[ip]:[port]/openapi/v1/statistics/cooking/dish/total-cook-count\n?orgId=example-id\n&shopId=example-id\n&startTime=2024-05-02 00:00:00\n&endTime=2024-05-31 23:59:59\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| dishCode | String | N | 统计日期 |    |\n| dishName | String | N | 菜谱名称 |    |\n| cookCount | Integer | N | 烹饪次数 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"cf8afd7f-1dc7-459b-8819-a4932a2bb14a\",\n    \"data\": [\n        {\n            \"dishCode\": \"108500003699\",\n            \"dishName\": \"培根蛋炒饭7斤\",\n            \"cookCount\": 6\n        },\n        {\n            \"dishCode\": \"108500003690\",\n            \"dishName\": \"培根蛋炒饭7斤\",\n            \"cookCount\": 1\n        }\n    ],\n    \"meta\": {\n        \"total\": 2,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 2\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5zce6ic6lcx54o56awq5oc75qyh5pww-qh0MuazS0D\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_dish_total_cook_count",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-02 00:00:00",
            "x-source-order": 4
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-31 23:59:59",
            "x-source-order": 5
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "dishCode": {
                            "type": "string",
                            "description": "统计日期"
                          },
                          "dishName": {
                            "type": "string",
                            "description": "菜谱名称"
                          },
                          "cookCount": {
                            "type": "integer",
                            "description": "烹饪次数"
                          }
                        },
                        "required": [
                          "dishCode",
                          "dishName",
                          "cookCount"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "dishCode": "108500003699",
                      "dishName": "培根蛋炒饭7斤",
                      "cookCount": 6
                    },
                    {
                      "dishCode": "108500003690",
                      "dishName": "培根蛋炒饭7斤",
                      "cookCount": 1
                    }
                  ],
                  "meta": {
                    "total": 2,
                    "pages": 1,
                    "page": 1,
                    "limit": 2
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5zce6ic6lcx54o56awq5oc75qyh5pww-qh0MuazS0D",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/details": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "查询烹饪日志列表",
        "description": "# 接口说明\n\n查询烹饪日志列表\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/statistics/cooking/details\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| devSn | String | N | 设备序列号 |    |\n| modelId | String | N | 机型ID |    |\n| startTime | String | Y | 开始时间 |    |\n| endTime | String | Y | 结束时间 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/statistics/cooking/details\n?shopId=example-id\n&startTime=2024-03-11 00:00:00\n&endTime=2024-05-20 23:59:59\n&pageNum=1\n&pageSize=100\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | Integer | Y | 日志主键 |    |\n| coId | String | N | 公司ID |    |\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID | 未绑定门店则为0 |\n| shopName | String | N | 门店名称 |    |\n| devSn | String | N | 设备序列号 |    |\n| deviceName | String | N | 设备名称 |    |\n| cookingTime | String | N | 烹饪开始时间 |    |\n| cookingDuration | Integer | N | 烹饪时长 | 单位：秒 |\n| ==dishId== | ==String== | ==N== | ==菜谱ID== |    |\n| dishName | String | N | 菜谱名称 |    |\n| dishCode | String | N | 菜谱编码 |    |\n| dishSource | String | N | 菜谱来源 |    |\n| labelNames | String | N | 菜谱分组名称 | 多个用逗号隔开 |\n| powerConsumption | BigDecimal | N | 烹饪耗电量，单位w/h |    |\n| createtime | String | N | 创建时间 |    |\n| totalWeight | BigDecimal | N | 总重量 | 单位：g |\n\n响应示例：\n\n```json\n{\r\n    \"code\": \"00000\",\r\n    \"message\": \"Operation successful\",\r\n    \"requestId\": \"7c7d2176-669c-42c6-a28c-e3f0dde816e8\",\r\n    \"data\": [\r\n        {\r\n            \"id\": 15901768,\r\n            \"coId\": \"example-id\",\r\n            \"orgId\": \"example-id\",\r\n            \"orgName\": \"智谷天厨-菜肴部\",\r\n            \"shopId\": \"example-id\",\r\n            \"shopName\": \"福田店\",\r\n            \"devSn\": \"86000000000\",\r\n            \"deviceName\": \"10EA_09炒菜机\",\r\n            \"devVersion\": null,\r\n            \"modelId\": \"example-id\",\r\n            \"modelNo\": \"TC-10EA\",\r\n            \"cookingTime\": \"2025-12-19 18:14:42\",\r\n            \"cookingDuration\": 360,\r\n            \"dishId\": \"example-id\",\r\n            \"dishName\": \"尖椒干豆腐-10公斤\",\r\n            \"dishCode\": \"127700008306\",\r\n            \"dishSource\": \"21\",\r\n            \"labelNames\": \"1斤,4斤\",\r\n            \"categoryId\": null,\r\n            \"categoryName\": null,\r\n            \"totalWeight\": 670.00,\r\n            \"totalActualWeight\": 580.00,\r\n            \"exceptionCode\": \"0\",\r\n            \"tempComp\": null,\r\n            \"cardTemp\": null,\r\n            \"fireSet\": null,\r\n            \"powerConsumption\": 123.321,\r\n            \"reserve1\": \"\",\r\n            \"reserve2\": null,\r\n            \"status\": 1,\r\n            \"createtime\": \"2025-12-19 18:23:23\",\r\n            \"dishLabels\": null\r\n        },\n        ......\n    ],\r\n    \"meta\": {\r\n        \"total\": 2,\r\n        \"pages\": 1,\r\n        \"page\": 1,\r\n        \"limit\": 100\r\n    }\r\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki54o56awq5pio57ug5yix6kgo-UoD9qnaDLT\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_details",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 1
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-03-11 00:00:00",
            "x-source-order": 4
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-05-20 23:59:59",
            "x-source-order": 5
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 6
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "100",
            "x-source-order": 7
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "日志主键"
                          },
                          "coId": {
                            "type": "string",
                            "description": "公司ID"
                          },
                          "orgId": {
                            "type": "string",
                            "description": "组织ID"
                          },
                          "shopId": {
                            "type": "string",
                            "description": "门店ID；未绑定门店则为0"
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "devSn": {
                            "type": "string",
                            "description": "设备序列号"
                          },
                          "deviceName": {
                            "type": "string",
                            "description": "设备名称"
                          },
                          "cookingTime": {
                            "type": "string",
                            "description": "烹饪开始时间"
                          },
                          "cookingDuration": {
                            "type": "integer",
                            "description": "烹饪时长；单位：秒"
                          },
                          "dishId": {
                            "type": "string",
                            "description": "菜谱ID"
                          },
                          "dishName": {
                            "type": "string",
                            "description": "菜谱名称"
                          },
                          "dishCode": {
                            "type": "string",
                            "description": "菜谱编码"
                          },
                          "dishSource": {
                            "type": "string",
                            "description": "菜谱来源"
                          },
                          "labelNames": {
                            "type": "string",
                            "description": "菜谱分组名称；多个用逗号隔开"
                          },
                          "powerConsumption": {
                            "type": "number",
                            "description": "烹饪耗电量，单位w/h"
                          },
                          "createtime": {
                            "type": "string",
                            "description": "创建时间"
                          },
                          "totalWeight": {
                            "type": "number",
                            "description": "总重量；单位：g"
                          }
                        },
                        "required": [
                          "id"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki54o56awq5pio57ug5yix6kgo-UoD9qnaDLT",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/materials/summary": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "统计烹饪原料",
        "description": "# 接口说明\n\n统计烹饪过程中的原料使用情况。\n\n# 接口地址\n\n原料==汇总==地址：==【**GET**】== /openapi/v1/statistics/cooking/materials/summary\n\n原料==明细==地址：==【**GET**】== /openapi/v1/statistics/cooking/materials\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| modelId | String | N | 机型ID |    |\n| devSn | String | N | 设备序列号 |    |\n| materialName | String | N | 原料名称 |    |\n| startTime | String | Y | 开始时间 |    |\n| endTime | String | Y | 结束时间 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n{{base-api-url}}/openapi/v1/statistics/cooking/materials\n?orgId=example-id\n&startTime=2024-07-15 00:00:00\n&endTime=2024-07-21 23:59:59\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---:|\n| shopName | String | N | 门店名称 |    |\n| deviceName | String | Y | 设备名称 |    |\n| devSn | String | Y | 设备序列号 |    |\n| modelNo | String | N | 机型编号 |    |\n| materialName | String | N | 原料名称 |    |\n| feedCount | Integer | N | 投料次数 |    |\n| weight | Double | N | 总重量（设定值） |    |\n| actualWeight | Double | N | 总重量（实际值） |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"a1fece52-39ed-49f7-958f-01f5a6e28116\",\n    \"data\": [\n        {\n            \"summaryDate\": null,\n            \"shopName\": \"德化职校\",\n            \"deviceName\": \"46燃气煸炒机\",\n            \"devSn\": \"86000000000\",\n            \"modelNo\": \"TC-40GT\",\n            \"materialName\": \"加油\",\n            \"feedCount\": 2,\n            \"weight\": 400.00,\n            \"actualWeight\": 400.00\n        },\n        {\n            \"summaryDate\": null,\n            \"shopName\": \"德化职校\",\n            \"deviceName\": \"46燃气煸炒机\",\n            \"devSn\": \"86000000000\",\n            \"modelNo\": \"TC-40GT\",\n            \"materialName\": \"调味油\",\n            \"feedCount\": 2,\n            \"weight\": 40.00,\n            \"actualWeight\": 40.00\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 7,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/57uf6k6h54o56awq5y6f5paz-DkXJ066mjv\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_materials_summary",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "materialName",
            "in": "query",
            "required": false,
            "description": "原料名称",
            "schema": {
              "type": "string"
            },
            "x-source-order": 4
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-07-15 00:00:00",
            "x-source-order": 5
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-07-21 23:59:59",
            "x-source-order": 6
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 7
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "1000",
            "x-source-order": 8
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "summaryDate": {
                            "nullable": true
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "deviceName": {
                            "type": "string",
                            "description": "设备名称"
                          },
                          "devSn": {
                            "type": "string",
                            "description": "设备序列号"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "materialName": {
                            "type": "string",
                            "description": "原料名称"
                          },
                          "feedCount": {
                            "type": "integer",
                            "description": "投料次数"
                          },
                          "weight": {
                            "type": "integer",
                            "description": "总重量（设定值）"
                          },
                          "actualWeight": {
                            "type": "integer",
                            "description": "总重量（实际值）"
                          }
                        },
                        "required": [
                          "summaryDate",
                          "shopName",
                          "deviceName",
                          "devSn",
                          "modelNo",
                          "materialName",
                          "feedCount",
                          "weight",
                          "actualWeight"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "summaryDate": null,
                      "shopName": "德化职校",
                      "deviceName": "46燃气煸炒机",
                      "devSn": "86004600012",
                      "modelNo": "TC-40GT",
                      "materialName": "加油",
                      "feedCount": 2,
                      "weight": 400,
                      "actualWeight": 400
                    },
                    {
                      "summaryDate": null,
                      "shopName": "德化职校",
                      "deviceName": "46燃气煸炒机",
                      "devSn": "86004600012",
                      "modelNo": "TC-40GT",
                      "materialName": "调味油",
                      "feedCount": 2,
                      "weight": 40,
                      "actualWeight": 40
                    }
                  ],
                  "meta": {
                    "total": 7,
                    "pages": 1,
                    "page": 1,
                    "limit": 1000
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/57uf6k6h54o56awq5y6f5paz-DkXJ066mjv",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/statistics/cooking/materials": {
      "get": {
        "tags": [
          "数据统计"
        ],
        "summary": "统计烹饪原料（明细）",
        "description": "# 接口说明\n\n统计烹饪过程中的原料使用情况。\n\n# 接口地址\n\n原料==汇总==地址：==【**GET**】== /openapi/v1/statistics/cooking/materials/summary\n\n原料==明细==地址：==【**GET**】== /openapi/v1/statistics/cooking/materials\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---|\n| orgId | String | N | 组织ID |    |\n| shopId | String | N | 门店ID |    |\n| modelId | String | N | 机型ID |    |\n| devSn | String | N | 设备序列号 |    |\n| materialName | String | N | 原料名称 |    |\n| startTime | String | Y | 开始时间 |    |\n| endTime | String | Y | 结束时间 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认1000 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\n{{base-api-url}}/openapi/v1/statistics/cooking/materials\n?orgId=example-id\n&startTime=2024-07-15 00:00:00\n&endTime=2024-07-21 23:59:59\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|:---:|\n| shopName | String | N | 门店名称 |    |\n| deviceName | String | Y | 设备名称 |    |\n| devSn | String | Y | 设备序列号 |    |\n| modelNo | String | N | 机型编号 |    |\n| materialName | String | N | 原料名称 |    |\n| feedCount | Integer | N | 投料次数 |    |\n| weight | Double | N | 总重量（设定值） |    |\n| actualWeight | Double | N | 总重量（实际值） |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"Operation successful\",\n    \"requestId\": \"a1fece52-39ed-49f7-958f-01f5a6e28116\",\n    \"data\": [\n        {\n            \"summaryDate\": null,\n            \"shopName\": \"德化职校\",\n            \"deviceName\": \"46燃气煸炒机\",\n            \"devSn\": \"86000000000\",\n            \"modelNo\": \"TC-40GT\",\n            \"materialName\": \"加油\",\n            \"feedCount\": 2,\n            \"weight\": 400.00,\n            \"actualWeight\": 400.00\n        },\n        {\n            \"summaryDate\": null,\n            \"shopName\": \"德化职校\",\n            \"deviceName\": \"46燃气煸炒机\",\n            \"devSn\": \"86000000000\",\n            \"modelNo\": \"TC-40GT\",\n            \"materialName\": \"调味油\",\n            \"feedCount\": 2,\n            \"weight\": 40.00,\n            \"actualWeight\": 40.00\n        },\n        ...\n    ],\n    \"meta\": {\n        \"total\": 7,\n        \"pages\": 1,\n        \"page\": 1,\n        \"limit\": 1000\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/57uf6k6h54o56awq5y6f5paz-DkXJ066mjv\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_statistics_cooking_materials",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "orgId",
            "in": "query",
            "required": false,
            "description": "组织ID",
            "schema": {
              "type": "string"
            },
            "example": "example-id",
            "x-source-order": 0
          },
          {
            "name": "shopId",
            "in": "query",
            "required": false,
            "description": "门店ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 1
          },
          {
            "name": "modelId",
            "in": "query",
            "required": false,
            "description": "机型ID",
            "schema": {
              "type": "string"
            },
            "x-source-order": 2
          },
          {
            "name": "devSn",
            "in": "query",
            "required": false,
            "description": "设备序列号",
            "schema": {
              "type": "string"
            },
            "x-source-order": 3
          },
          {
            "name": "materialName",
            "in": "query",
            "required": false,
            "description": "原料名称",
            "schema": {
              "type": "string"
            },
            "x-source-order": 4
          },
          {
            "name": "startTime",
            "in": "query",
            "required": true,
            "description": "开始时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-07-15 00:00:00",
            "x-source-order": 5
          },
          {
            "name": "endTime",
            "in": "query",
            "required": true,
            "description": "结束时间",
            "schema": {
              "type": "string"
            },
            "example": "2024-07-21 23:59:59",
            "x-source-order": 6
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 7
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认1000",
            "schema": {
              "type": "integer"
            },
            "example": "1000",
            "x-source-order": 8
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "summaryDate": {
                            "nullable": true
                          },
                          "shopName": {
                            "type": "string",
                            "description": "门店名称"
                          },
                          "deviceName": {
                            "type": "string",
                            "description": "设备名称"
                          },
                          "devSn": {
                            "type": "string",
                            "description": "设备序列号"
                          },
                          "modelNo": {
                            "type": "string",
                            "description": "机型编号"
                          },
                          "materialName": {
                            "type": "string",
                            "description": "原料名称"
                          },
                          "feedCount": {
                            "type": "integer",
                            "description": "投料次数"
                          },
                          "weight": {
                            "type": "integer",
                            "description": "总重量（设定值）"
                          },
                          "actualWeight": {
                            "type": "integer",
                            "description": "总重量（实际值）"
                          }
                        },
                        "required": [
                          "summaryDate",
                          "shopName",
                          "deviceName",
                          "devSn",
                          "modelNo",
                          "materialName",
                          "feedCount",
                          "weight",
                          "actualWeight"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "requestId",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "Operation successful",
                  "requestId": "example-id",
                  "data": [
                    {
                      "summaryDate": null,
                      "shopName": "德化职校",
                      "deviceName": "46燃气煸炒机",
                      "devSn": "86004600012",
                      "modelNo": "TC-40GT",
                      "materialName": "加油",
                      "feedCount": 2,
                      "weight": 400,
                      "actualWeight": 400
                    },
                    {
                      "summaryDate": null,
                      "shopName": "德化职校",
                      "deviceName": "46燃气煸炒机",
                      "devSn": "86004600012",
                      "modelNo": "TC-40GT",
                      "materialName": "调味油",
                      "feedCount": 2,
                      "weight": 40,
                      "actualWeight": 40
                    }
                  ],
                  "meta": {
                    "total": 7,
                    "pages": 1,
                    "page": 1,
                    "limit": 1000
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/57uf6k6h54o56awq5y6f5paz-DkXJ066mjv",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "数据统计",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/materials/custom": {
      "get": {
        "tags": [
          "食材调料/食材管理"
        ],
        "summary": "查询食材列表",
        "description": "# 接口说明\n\n查询食材列表，结果中包含**公共常用的食材**和**用户自定义的食材**两部分，公共在前，自定义在后。\n\n# 接口地址\n\n请求地址：==【**GET**】== /openapi/v1/materials/custom\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| materialName | String | N | 食材名称 |    |\n| pageNum | Integer | N | 当前页码 | 默认1 |\n| pageSize | Integer | N | 每页记录数 | 默认10 |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/materials/custom?pageNum=1&pageSize=10&materialName=100\n```\n\n# 响应参数\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| id | String | Y | 食材ID |    |\n| materialName | String | Y | 食材名称 |    |\n| materialNo | String | N | 食材编号 |    |\n| materialDesc | String | N | 食材描述 |    |\n| picBig | String | N | 原图 |    |\n| picSmall | String | N | 缩略图 |    |\n| unit | String | N | 单位 |    |\n| isPrivate | Integer | N | 是否私有 | 0：公共食材1：私有食材(公司自定义)公共食材展示在前面 |\n| remark | String | N | 备注 |    |\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"data\": [\n        {\n            \"id\": \"example-id\",\n            \"materialNo\": \"0002\",\n            \"materialName\": \"猪瘦肉\",\n            \"materialDesc\": null,\n            \"picSmall\": null,\n            \"picBig\": null,\n            \"unit\": null,\n            \"isPrivate\": 1,\n            \"remark\": null\n        },\n        {\n            \"id\": \"example-id\",\n            \"materialNo\": \"1101\",\n            \"materialName\": \"猪瘦肉\",\n            \"materialDesc\": \"瘦肉指猪等家畜身上富含蛋白质的肉。各种瘦肉所含营养成分相近且较肥肉易于消化。虽然瘦肉口味鲜美，但也不宜多吃。\",\n            \"picSmall\": \"\",\n            \"picBig\": \"\",\n            \"unit\": \"克\",\n            \"isPrivate\": 0,\n            \"remark\": null\n        }\n    ],\n    \"meta\": {\n        \"total\": 20,\n        \"pages\": 10,\n        \"page\": 1,\n        \"limit\": 2\n    }\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5pl6ki5y6f5paz5yix6kgo-xQVOsL8vLJ\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_get_openapi_v1_materials_custom",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "materialName",
            "in": "query",
            "required": false,
            "description": "食材名称",
            "schema": {
              "type": "string"
            },
            "example": "100",
            "x-source-order": 0
          },
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "description": "当前页码；默认1",
            "schema": {
              "type": "integer"
            },
            "example": "1",
            "x-source-order": 1
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "description": "每页记录数；默认10",
            "schema": {
              "type": "integer"
            },
            "example": "10",
            "x-source-order": 2
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "食材ID"
                          },
                          "materialNo": {
                            "type": "string",
                            "description": "食材编号"
                          },
                          "materialName": {
                            "type": "string",
                            "description": "食材名称"
                          },
                          "materialDesc": {
                            "type": "string",
                            "nullable": true,
                            "description": "食材描述"
                          },
                          "picSmall": {
                            "type": "string",
                            "nullable": true,
                            "description": "缩略图"
                          },
                          "picBig": {
                            "type": "string",
                            "nullable": true,
                            "description": "原图"
                          },
                          "unit": {
                            "type": "string",
                            "nullable": true,
                            "description": "单位"
                          },
                          "isPrivate": {
                            "type": "integer",
                            "description": "是否私有；0：公共食材1：私有食材(公司自定义)公共食材展示在前面"
                          },
                          "remark": {
                            "type": "string",
                            "nullable": true,
                            "description": "备注"
                          }
                        },
                        "required": [
                          "id",
                          "materialNo",
                          "materialName",
                          "materialDesc",
                          "picSmall",
                          "picBig",
                          "unit",
                          "isPrivate",
                          "remark"
                        ]
                      }
                    },
                    "meta": {
                      "type": "object",
                      "properties": {
                        "total": {
                          "type": "integer"
                        },
                        "pages": {
                          "type": "integer"
                        },
                        "page": {
                          "type": "integer"
                        },
                        "limit": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "total",
                        "pages",
                        "page",
                        "limit"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "data",
                    "meta"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "data": [
                    {
                      "id": "example-id",
                      "materialNo": "0002",
                      "materialName": "猪瘦肉",
                      "materialDesc": null,
                      "picSmall": null,
                      "picBig": null,
                      "unit": null,
                      "isPrivate": 1,
                      "remark": null
                    },
                    {
                      "id": "example-id",
                      "materialNo": "1101",
                      "materialName": "猪瘦肉",
                      "materialDesc": "瘦肉指猪等家畜身上富含蛋白质的肉。各种瘦肉所含营养成分相近且较肥肉易于消化。虽然瘦肉口味鲜美，但也不宜多吃。",
                      "picSmall": "",
                      "picBig": "",
                      "unit": "克",
                      "isPrivate": 0,
                      "remark": null
                    }
                  ],
                  "meta": {
                    "total": 20,
                    "pages": 10,
                    "page": 1,
                    "limit": 2
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5pl6ki5y6f5paz5yix6kgo-xQVOsL8vLJ",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "食材调料/食材管理",
        "x-apifox-status": "released"
      },
      "post": {
        "tags": [
          "食材调料/食材管理"
        ],
        "summary": "添加食材",
        "description": "# 接口说明\n\n公司用户添加自定义食材\n\n# 接口地址\n\n请求地址：==【**POST**】== /openapi/v1/materials/custom\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n无\n\n* **Body**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|:---:|:---:|:---:|:---:|----|\n| materialName | String | Y | 食材名称 |    |\n| materialDesc | String | N | 食材说明 |    |\n| picture | String | N | 原图URL |    |\n| materialType | Integer | N | 食材类型 | 1-荤菜，2-素菜，3-其他 |\n\n请求示例：\n\n```json\n{\n    \"materialName\": \"腐竹\",\n    \"materialDesc\": \"腐竹又称腐皮，是一种汉族传统豆制食品，也是华人地区常见的食物原料，具有浓郁的豆香味，同时还有着其他豆制品所不具备的独特口感\",\n    \"picture\": \"http://www.baidu.com\",\n    \"materialType\": 2\n}\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5re75yqg6ieq5a6a5lmj5y6f5paz-JiLP0Xymp4\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_post_openapi_v1_materials_custom",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "materialName": {
                    "type": "string",
                    "description": "食材名称"
                  },
                  "materialDesc": {
                    "type": "string",
                    "description": "食材说明"
                  },
                  "picture": {
                    "type": "string",
                    "description": "原图URL"
                  },
                  "materialType": {
                    "type": "integer",
                    "description": "食材类型；1-荤菜，2-素菜，3-其他"
                  }
                },
                "required": [
                  "materialName",
                  "materialDesc",
                  "picture",
                  "materialType"
                ]
              },
              "example": {
                "materialName": "腐竹",
                "materialDesc": "腐竹又称腐皮，是一种汉族传统豆制食品，也是华人地区常见的食物原料，具有浓郁的豆香味，同时还有着其他豆制品所不具备的独特口感",
                "picture": "http://www.baidu.com",
                "materialType": 2
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5re75yqg6ieq5a6a5lmj5y6f5paz-JiLP0Xymp4",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "食材调料/食材管理",
        "x-apifox-status": "released"
      },
      "delete": {
        "tags": [
          "食材调料/食材管理"
        ],
        "summary": "删除食材",
        "description": "# 接口说明\n\n公司用户删除自定义食材\n\n# 接口地址\n\n请求地址：==【**DELETE**】== /openapi/v1/materials/custom\n\n# 请求参数\n\n* **Headers**\n\n| 参数名 | 值 | 说明 |\n|----|----|----|\n| `Content-Type` | application/json | 内容类型，默认JSON |\n| `Accept-Language` | zh-CN | 默认中文 |\n| `access-key` | {{tchef_access_key}} | ACCESS-KEY |\n| `sign` | {{tchef_sign}} | 生成的签名 |\n| `coid` | {{tchef_coid}} | 机构标识 |\n| `nonce` | {{tchef_nonce}} | 随机数 |\n| `time-stamp` | {{tchef_timestamp}} | 时间戳 |\n| `mobile` | {{tchef_mobile}} | 手机号 |\n\n* **Path**\n\n无\n\n* **Query**\n\n| 参数名 | 类型 | 必填 | 说明 | 备注 |\n|----|----|----|----|----|\n| id | String | Y | 食材ID |    |\n\n* **Body**\n\n无\n\n请求示例：\n\n```json\nhttp://[ip]:[port]/openapi/v1/materials/custom?id=1234565684\n```\n\n# 响应参数\n\n响应示例：\n\n```json\n{\n    \"code\": \"00000\",\n    \"message\": \"操作成功\",\n    \"data\": null\n}\n```\n\n# 错误码\n\n见公共错误码\n\n---\n来源：https://doc.t-chef.cn/doc/5yig6zmk6ieq5a6a5lmj5y6f5paz-jkHHouaFen\n同步说明：示例凭据已替换为 Apifox 变量；正式环境禁止用于本次自动测试。",
        "operationId": "tchef_delete_openapi_v1_materials_custom",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "食材ID",
            "schema": {
              "type": "string"
            },
            "example": "1234565684",
            "x-source-order": 0
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "data"
                  ]
                },
                "example": {
                  "code": "00000",
                  "message": "操作成功",
                  "data": null
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5yig6zmk6ieq5a6a5lmj5y6f5paz-jkHHouaFen",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-apifox-folder": "食材调料/食材管理",
        "x-apifox-status": "released"
      }
    },
    "/openapi/v1/condiments": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "分页查询调料列表（含官方+本公司自定义）",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "post": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "创建自定义调料",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_post_openapi_v1_condiments",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "put": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "更新调料信息",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_put_openapi_v1_condiments",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/{id}": {
      "delete": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "删除调料（有引用时不允许删除）",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/{id}` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_delete_openapi_v1_condiments_id",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/{id}",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/recent": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "获取最近使用的调料列表",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/recent` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments_recent",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/recent",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "post": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "记录一次调料使用",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/recent` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_post_openapi_v1_condiments_recent",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/recent",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "delete": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "清空最近使用记录",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/recent` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_delete_openapi_v1_condiments_recent",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/recent",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/action-mappings/{devSn}": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "查询设备的调料动作绑定关系",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/action-mappings/{devSn}` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments_action_mappings_devSn",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/action-mappings/{devSn}",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "post": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "绑定/修改设备的调料动作关系",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/action-mappings/{devSn}` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_post_openapi_v1_condiments_action_mappings_devSn",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/action-mappings/{devSn}",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      },
      "delete": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "重置设备方案（恢复到上级继承方案）",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/action-mappings/{devSn}` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_delete_openapi_v1_condiments_action_mappings_devSn",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/action-mappings/{devSn}",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/action-mappings/{devSn}/inherited": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "查询设备继承的上级绑定关系",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/action-mappings/{devSn}/inherited` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments_action_mappings_devSn_inherited",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/action-mappings/{devSn}/inherited",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/mode-configs": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "查询组织下所有机型的调料模式配置",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/mode-configs` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments_mode_configs",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/mode-configs",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/mode-configs/{modelId}": {
      "put": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "切换/保存调料模式配置",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/mode-configs/{modelId}` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_put_openapi_v1_condiments_mode_configs_modelId",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/mode-configs/{modelId}",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/schemas/{schemaId}/detail": {
      "get": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "查询方案详情（按液体/粉末/酱料分组返回）",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/schemas/{schemaId}/detail` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_get_openapi_v1_condiments_schemas_schemaId_detail",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "safe-read",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/schemas/{schemaId}/detail",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    },
    "/openapi/v1/condiments/schemas": {
      "post": {
        "tags": [
          "食材调料/新版调料管理"
        ],
        "summary": "保存方案",
        "description": "# 新版调料库功能说明\n\n## 背景\n\n旧版调料系统中（【[查询机型参数](/doc/5pl6ki5py65z6l5yc5pww-RjvWgGjkT6)】【[更新机型参数](/doc/5pu05paw5py65z6l5yc5pww-35eqoMvONt)】），菜谱步骤直接保存设备的物理动作码（actionNo），调料与设备液路强绑定，同一组织下所有设备的液路配置必须保持一致，灵活性较差。\n\n新版调料库对此进行了解耦：菜谱步骤改为保存调料编码（condimentCode），每台设备独立维护\"调料编码 → 动作码\"的映射关系。设备执行菜谱时，根据映射关系找到对应的物理液路进行出料；如果找不到映射，则提示操作人员手动投料。\n\n这样做的好处是：不同设备可以有不同的液路配置，菜谱不再受限于特定设备的物理布局。\n\n\n---\n\n## 调料类型\n\n设备支持三种调料类型：\n\n* 液体（condimentState=1）：酱油、醋、料酒等，通常位于设备前面\n* 粉末（condimentState=2）：盐、糖、味精等，通常位于锅上方\n* 酱料（condimentState=3）：豆瓣酱、辣椒酱等较稠的调料\n\n### 调料布局（condimentLayout）\n\n由于不同机型的物理结构差异，酱料的实际安装位置不同。系统通过机型的 condimentLayout 配置来处理这个差异，查询调料时后端会自动根据布局合并返回结果：\n\n* condimentLayout=1（酱料跟液体一起）：查液体时返回液体+酱料，查粉末时只返回粉末\n* condimentLayout=2（酱料跟粉末一起，默认）：查液体时只返回液体，查粉末时返回粉末+酱料\n* condimentLayout=3（三者都在一起）：查液体或粉末时都会附带酱料\n\n客户端查询调料列表时传入 condimentState 参数即可，后端会根据机型自动处理布局合并逻辑，客户端不需要额外处理。\n\n\n---\n\n## 调料管理\n\n### 调料分类\n\n* 官方调料：由平台预置，所有公司共享，支持多语言（国际化）\n* 自定义调料：由各公司自行创建，仅本公司可见，不能与官方调料或本公司已有调料重名\n\n### 调料编码规则\n\n* 官方调料编码：5位纯数字，从 10001 开始递增（如 10001=水、10002=酱油）\n* 自定义调料编码：公司编号（4位）+ 5位递增数字（如 100100001），由系统自动生成\n\n### 调料字段说明\n\n| 字段 | 类型 | 说明 |\n|----|----|----|\n| id | Long | 调料ID |\n| coId | String | 公司ID，\"0\"表示官方调料 |\n| condimentName | String | 调料名称 |\n| condimentCode | String | 调料编码 |\n| condimentState | Integer | 调料类型：1=液体，2=粉末，3=酱料 |\n| isAutoFeed | Integer | 是否自动投料：1=自动，0=手动（仅展示用途） |\n| isCustom | Integer | 是否自定义：1=是，0=否（官方） |\n\n### 删除限制\n\n以下情况调料不能删除：\n\n* 调料已被菜谱步骤引用\n* 调料已被设备绑定了动作映射\n\n\n---\n\n## 调料动作绑定\n\n调料动作绑定定义了\"调料编码 → 设备动作码\"的映射关系，告诉设备执行菜谱时某个调料应该从哪个物理液路出料。\n\n### 配置层级\n\n绑定关系支持多层级配置，查询时按优先级从高到低匹配，找到即返回：\n\n| 优先级 | 层级 | 说明 |\n|:---:|----|----|\n| 最高 | 设备级 | 针对单台设备的独立配置 |\n| 高 | 门店级 | 门店下所有设备共享 |\n| 中 | 组织级 | 组织下所有设备共享，逐级往上查找最近的父级 |\n| 最低 | 官方级 | 平台预置的默认配置 |\n\n### 首次修改机制\n\n设备第一次修改绑定关系时，如果还没有设备级配置，系统会自动从上级继承一份完整配置复制到设备级别，然后在副本上修改。此后该设备的配置独立于上级。\n\n### 锁定机制\n\n部分绑定关系可以被锁定（isLock=1），锁定后普通用户不能修改，只有管理员可以操作。\n\n### 默认绑定\n\n以下调料位有固定用途，系统会强制绑定并锁定：\n\n| 动作码 | 调料位 | 绑定调料 | 调料编码 |\n|----|----|----|----|\n| 83 | 勾芡 | 勾芡 | 10009 |\n| 86 | 水 | 水 | 10001 |\n\n\n---\n\n## 最近使用调料\n\n记录用户在 App 端创建菜谱时最近选择过的调料，方便快速选择。\n\n* 每个用户最多保留 20 条记录\n* 已存在的调料再次使用时，只更新使用时间，不会产生重复记录\n\n\n---\n\n## 调料模式配置（相关文档待补充）\n\n每个组织可以为不同机型选择使用旧版或新版调料库：\n\n* condimentMode=0：旧版模式，菜谱步骤直接使用动作码\n* condimentMode=1：新版模式，菜谱步骤使用调料编码，配合动作方案映射\n\n### 配置继承\n\n如果当前组织没有配置，会逐级向上查找父级组织的配置。如果整个组织链都没有配置，则根据机型的 enableNewCondiment 字段决定默认模式。\n\n### 模式切换\n\n切换调料模式时，之前的方案配置会保留，不会丢失。从新版切回旧版再切回新版时，之前关联的方案仍然有效。\n\n切换模式后，系统会通过 MQTT 向受影响的设备推送 condiment_mode_change 通知，设备收到后按新模式执行。\n\n\n---\n\n## 接口列表\n\n所有接口基础路径：`/condiments`\n\n### 调料管理\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments` | 分页查询调料列表（含官方+本公司自定义） |\n| POST | `/condiments` | 创建自定义调料 |\n| PUT | `/condiments` | 更新调料信息 |\n| DELETE | `/condiments/{id}` | 删除调料（有引用时不允许删除） |\n\n### 最近使用调料\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/recent` | 获取最近使用的调料列表 |\n| POST | `/condiments/recent` | 记录一次调料使用 |\n| DELETE | `/condiments/recent` | 清空最近使用记录 |\n\n### 调料动作绑定（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/action-mappings/{devSn}` | 查询设备的调料动作绑定关系 |\n| POST | `/condiments/action-mappings/{devSn}` | 绑定/修改设备的调料动作关系 |\n| DELETE | `/condiments/action-mappings/{devSn}` | 重置设备方案（恢复到上级继承方案） |\n| GET | `/condiments/action-mappings/{devSn}/inherited` | 查询设备继承的上级绑定关系 |\n\n### 调料模式与方案（相关文档待补充）\n\n| 方法 | 路径 | 说明 |\n|----|----|----|\n| GET | `/condiments/mode-configs` | 查询组织下所有机型的调料模式配置 |\n| PUT | `/condiments/mode-configs/{modelId}` | 切换/保存调料模式配置 |\n| GET | `/condiments/schemas/{schemaId}/detail` | 查询方案详情（按液体/粉末/酱料分组返回） |\n| POST | `/condiments/schemas` | 保存方案 |\n\n---\n来源：https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr\n路径说明：第三方表格中的 `/condiments/schemas` 是相对路径；测试环境验证需拼接开放接口前缀 `/openapi/v1`。\n注意：第三方原文标注部分参数文档待补充，因此保留为设计态契约。",
        "operationId": "tchef_post_openapi_v1_condiments_schemas",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "description": "内容类型，默认 JSON",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          },
          {
            "name": "Accept-Language",
            "in": "header",
            "required": false,
            "description": "响应语言，默认中文",
            "schema": {
              "type": "string"
            },
            "example": "zh-CN"
          },
          {
            "name": "access-key",
            "in": "header",
            "required": true,
            "description": "调用方身份标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_access_key}}"
          },
          {
            "name": "sign",
            "in": "header",
            "required": true,
            "description": "按平台规则动态生成的签名",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_sign}}"
          },
          {
            "name": "coid",
            "in": "header",
            "required": true,
            "description": "机构标识",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_coid}}"
          },
          {
            "name": "nonce",
            "in": "header",
            "required": true,
            "description": "随机数",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_nonce}}"
          },
          {
            "name": "time-stamp",
            "in": "header",
            "required": true,
            "description": "当前时间戳，平台要求 10 秒内有效",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_timestamp}}"
          },
          {
            "name": "mobile",
            "in": "header",
            "required": true,
            "description": "调用方手机号",
            "schema": {
              "type": "string"
            },
            "example": "{{tchef_mobile}}"
          }
        ],
        "responses": {
          "200": {
            "description": "第三方平台业务响应（原文参数待补充）",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "业务响应码"
                    },
                    "message": {
                      "type": "string",
                      "description": "响应消息"
                    },
                    "requestId": {
                      "type": "string",
                      "description": "请求追踪 ID"
                    },
                    "data": {},
                    "meta": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "分页或扩展元数据"
                    }
                  }
                }
              }
            }
          }
        },
        "x-tchef-source": "https://doc.t-chef.cn/doc/5paw54mi6lcd5paz566h55cg-NfCYgyduJr",
        "x-tchef-test-mode": "negative-validation-only",
        "x-tchef-contract-only": false,
        "x-tchef-source-relative-path": "/condiments/schemas",
        "x-apifox-folder": "食材调料/新版调料管理",
        "x-apifox-status": "designing"
      }
    }
  }
}
