{
  "result": {
    "stats": {
      "steps": {
        "total": 2,
        "passed": 1,
        "failed": 1
      },
      "iterations": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "items": {},
      "scripts": {
        "total": 4,
        "pending": 0,
        "failed": 0
      },
      "prerequests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "requests": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "socketRequests": {
        "total": 0,
        "pending": 0,
        "failed": 0
      },
      "tests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "assertions": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "testScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "prerequestScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      }
    },
    "timings": {
      "responseTime": 622,
      "responseAverage": 184.5,
      "responseMin": 116,
      "responseMax": 506,
      "responseSd": 191.56395798792633,
      "dnsAverage": 0,
      "dnsMin": 0,
      "dnsMax": 0,
      "dnsSd": 0,
      "firstByteAverage": 0,
      "firstByteMin": 0,
      "firstByteMax": 0,
      "firstByteSd": 0,
      "started": 1783576772321,
      "completed": 1783576773113
    },
    "transfers": {
      "responseTotal": 170
    },
    "failures": [
      {
        "error": {
          "name": "AssertionError",
          "index": 0,
          "test": "$.message Equals 支付成功",
          "message": "expected '接口认证失败' to deeply equal '支付成功'",
          "expected": "支付成功",
          "actual": "接口认证失败",
          "stack": "AssertionError: expected '接口认证失败' to deeply equal '支付成功'\n   at Object.eval sandbox-script.js:1:1)",
          "isNotPlainError": true
        },
        "at": "assertion:0 in test-script",
        "cursor": {
          "position": 0,
          "iteration": 0,
          "length": 2,
          "cycles": 1,
          "empty": false,
          "eof": false,
          "bof": true,
          "cr": false,
          "ref": "1bd91186-eab2-4bcd-80ff-25fe4e5292a4",
          "requestIndex": 0,
          "httpRequestId": "4aad3581-893f-4cf8-9c9b-588dd2877150",
          "scriptId": "postProcessors.0.assertion",
          "execution": "8d54cec0-0f45-4662-91ba-f7d564146b5c"
        }
      }
    ],
    "stepTree": [
      {
        "ref": "1bd91186-eab2-4bcd-80ff-25fe4e5292a4",
        "type": "http"
      },
      {
        "ref": "a8fcb231-e7a1-44f6-b20f-d9431b058562",
        "type": "http"
      }
    ],
    "error": null
  },
  "isTestFlowControl": false,
  "run": {
    "stats": {
      "steps": {
        "total": 2,
        "passed": 1,
        "failed": 1
      },
      "iterations": {
        "total": 1,
        "pending": 0,
        "failed": 1
      },
      "items": {},
      "scripts": {
        "total": 4,
        "pending": 0,
        "failed": 0
      },
      "prerequests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "requests": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "socketRequests": {
        "total": 0,
        "pending": 0,
        "failed": 0
      },
      "tests": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "assertions": {
        "total": 2,
        "pending": 0,
        "failed": 1
      },
      "testScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      },
      "prerequestScripts": {
        "total": 2,
        "pending": 0,
        "failed": 0
      }
    },
    "timings": {
      "responseTime": 622,
      "responseAverage": 184.5,
      "responseMin": 116,
      "responseMax": 506,
      "responseSd": 191.56395798792633,
      "dnsAverage": 0,
      "dnsMin": 0,
      "dnsMax": 0,
      "dnsSd": 0,
      "firstByteAverage": 0,
      "firstByteMin": 0,
      "firstByteMax": 0,
      "firstByteSd": 0,
      "started": 1783576772321,
      "completed": 1783576773113
    },
    "transfers": {
      "responseTotal": 170
    },
    "failures": [
      {
        "error": {
          "name": "AssertionError",
          "index": 0,
          "test": "$.message Equals 支付成功",
          "message": "expected '接口认证失败' to deeply equal '支付成功'",
          "expected": "支付成功",
          "actual": "接口认证失败",
          "stack": "AssertionError: expected '接口认证失败' to deeply equal '支付成功'\n   at Object.eval sandbox-script.js:1:1)",
          "isNotPlainError": true
        },
        "at": "assertion:0 in test-script",
        "source": {
          "id": "e5d10096-ee8e-4e2e-bd1a-32dce17357a0",
          "name": "订单结算",
          "request": {
            "url": {
              "protocol": "https",
              "path": [
                "",
                "api",
                "consume",
                "orderPay"
              ],
              "host": [
                "zhctdev",
                "yyangpt",
                "cn"
              ],
              "query": [],
              "variable": []
            },
            "header": [
              {
                "key": "User-Agent",
                "value": "app/1.0.0"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "method": "POST",
            "baseUrl": "https://zhctdev.yyangpt.cn/",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"dishes\": [\n    {\n      \"uuid\": \"9E6D1350-142B-D475-6292-147215B524B2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    },\n    {\n      \"uuid\": \"2E72EE3C-4D99-BAB4-A613-A85F4FAC28A2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    }\n  ],\n  \"staff_uuid\": \"76965FD2-4316-0AA8-7ABE-664C34E85A63\",\n  \"paycode\": \"\",\n  \"money\": \"1\",\n  \"equipment_code\": \"0001\"\n}",
              "generateMode": "normal",
              "type": "application/json"
            }
          },
          "response": [],
          "event": [
            {
              "listen": "prerequest",
              "script": {
                "id": "commonScript.assertion",
                "type": "text/javascript",
                "exec": [
                  "",
                  "  ____string2Array = function(value) {",
                  "    if(typeof value === 'object'){",
                  "      return value;",
                  "    }",
                  "    try {",
                  "      return JSON.parse(value);",
                  "    } catch (e) {",
                  "      return value;",
                  "    }",
                  "  }",
                  "  ____string2Number = function(value, errorMsg) {",
                  "   if(typeof value !== 'string'){",
                  "     return value;",
                  "   }",
                  "   if (/^\\-?\\d+$/.test(value)) {",
                  "       return parseInt(value);",
                  "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                  "       return parseFloat(value);",
                  "   } else {",
                  "       throw new Error(errorMsg || 'Data type mismatch')",
                  "   }",
                  " }",
                  "",
                  "  ____formatValues = function(value, stringCompareValue, comparison) {",
                  "   try{",
                  "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                  "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                  "     let compareValue;",
                  "     switch (typeof value) {",
                  "         case 'string':",
                  "             if (isNumberComparisons) {",
                  "                value = ____string2Number(value);",
                  "                compareValue = ____string2Number(stringCompareValue);",
                  "             } else if (isCollectionComparisons) {",
                  "                compareValue = ____string2Array(stringCompareValue);",
                  "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                  "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                  "             } else {",
                  "                compareValue = stringCompareValue;",
                  "             }",
                  "             break;",
                  "         case 'object':",
                  "             const isArray = value instanceof Array;",
                  "             if (isNumberComparisons) {",
                  "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                  "             } else if (isCollectionComparisons && isArray) {",
                  "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                  "            } else if (",
                  "              isArray &&",
                  "              comparison === 'include' &&",
                  "              value.includes(stringCompareValue)",
                  "            ) {",
                  "              compareValue = stringCompareValue;",
                  "            } else {",
                  "              try {",
                  "                  compareValue = JSON.parse(stringCompareValue);",
                  "              } catch (e) {",
                  "                  compareValue = stringCompareValue;",
                  "              }",
                  "            }",
                  "             break;",
                  "         case 'boolean':",
                  "             if (isNumberComparisons || isCollectionComparisons) {",
                  "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                  "             }",
                  "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                  "             break;",
                  "           case 'bigint':",
                  "           case 'number':",
                  "             if (isNumberComparisons) {",
                  "               compareValue = ____string2Number(stringCompareValue);",
                  "             } else if (isCollectionComparisons) {",
                  "              compareValue = ____string2Array(stringCompareValue);",
                  "              value = '' + value;",
                  "            } else {",
                  "               compareValue = stringCompareValue;",
                  "               value = '' + value;",
                  "             }",
                  "             break;",
                  "         case 'null':",
                  "             if (isNumberComparisons) {",
                  "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                  "             }",
                  "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                  "             break;",
                  "         default:",
                  "            if (isCollectionComparisons) {",
                  "              compareValue = ____string2Array(stringCompareValue);",
                  "            } else {",
                  "              compareValue = stringCompareValue;",
                  "            }",
                  "            break;",
                  "     }",
                  "     return { compareValue, value };",
                  "   } catch(e) {",
                  "     console.log(e);",
                  "     throw e;",
                  "   }",
                  " }",
                  " "
                ],
                "_lastExecutionId": "513069fc-e342-49f4-b1a8-4d529b3faa82"
              }
            },
            {
              "listen": "test",
              "script": {
                "id": "postProcessors.0.assertion",
                "type": "text/javascript",
                "exec": [
                  "",
                  "        if (JSON.setEnableBigInt) {",
                  "          JSON.setEnableBigInt(undefined);",
                  "        }",
                  "        ",
                  "  async function ____replaceIn(value) {",
                  "    if (typeof pm.variables.replaceInAsync === 'function') {",
                  "      return await pm.variables.replaceInAsync(value);",
                  "    }",
                  "    return pm.variables.replaceIn(value);",
                  "  };",
                  "",
                  "  ;(async () => {",
                  "    try {",
                  "      const formattedName = await ____replaceIn(`$.message Equals 支付成功`);",
                  "      pm.test(formattedName, async function(done) {",
                  "        try {",
                  "          ",
                  "          const expression = await ____replaceIn(`$.message`);",
                  "          const JSONPath = require('jsonpath-plus').JSONPath;",
                  "          let jsonData;",
                  "          try {",
                  "            jsonData = pm.response.json();",
                  "          } catch(e) {",
                  "            let text = pm.response.text();",
                  "            const xml2js = require('xml2js');",
                  "            function removeXmlUselessPrefixAndSuffix(text) {",
                  "              const start = text.indexOf('<');",
                  "              const end = text.lastIndexOf('>');",
                  "              if (start === -1 || end === -1) {",
                  "                return text;",
                  "              }",
                  "              return text.substring(start, end + 1);",
                  "            }",
                  "            text = removeXmlUselessPrefixAndSuffix(text);",
                  "            let json;",
                  "            let xmlParseOptions = {",
                  "                explicitArray: false,",
                  "                trim: true,",
                  "                ignoreAttrs: true,",
                  "            };",
                  "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                  "                jsonData = result;",
                  "            });",
                  "          }",
                  "          let value = JSONPath({",
                  "            json: jsonData,",
                  "            path: expression,",
                  "            wrap: false",
                  "          });",
                  "",
                  "          if (false && undefined !== undefined) {",
                  "            if (Array.isArray(value)) {",
                  "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                  "            } else {",
                  "              value = undefined;",
                  "            }",
                  "          }",
                  "",
                  "          ",
                  "          ",
                  "    const compareValue = await ____replaceIn(`支付成功`);",
                  "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                  "  ",
                  "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                  "          done();",
                  "        } catch (err) {",
                  "          done(err);",
                  "        }",
                  "      });",
                  "    } catch(e) {",
                  "      setImmediate(() => { throw e });",
                  "    }",
                  "  })();",
                  "      "
                ],
                "_lastExecutionId": "8d54cec0-0f45-4662-91ba-f7d564146b5c"
              }
            }
          ],
          "protocolProfileBehavior": {
            "useWhatWGUrlParser": false,
            "disableUrlEncoding": false,
            "disabledSystemHeaders": {},
            "disableCookies": false
          },
          "type": "http",
          "responseDefinition": {
            "id": "599581808",
            "name": "成功",
            "code": 200,
            "contentType": "json",
            "jsonSchema": {
              "type": "object",
              "properties": {},
              "x-apifox-orders": []
            },
            "itemSchema": {},
            "description": "",
            "mediaType": "",
            "headers": [],
            "oasExtensions": "",
            "schemaDefinitions": {}
          },
          "requestDefinition": {
            "jsonSchema": {
              "type": "object",
              "properties": {},
              "x-apifox-orders": []
            },
            "examples": [
              {
                "value": "{\n\t\"dishes\": [\n\t\t{\n\t\t\t\"uuid\": \"106C6E48-491C-2C5B-17E8-5D39109EEC75\",\n\t\t\t\"number\": \"1\",\n\t\t\t\"money\": \"0.1\"\n\t\t}\n\t],\n\t\"staff_uuid\": \"\",\n\t\"paycode\":\"\", \n\t\"card_id\":\"2000001\",\n\t\"money\":\"0.1\",\n\t\"equipment_code\":\"wb-xfj1\",\n    \"order_type\":\"1\",\n    \"action\":\"consume\",\n    \"create_time\": \"2026-03-26 18:48:04\",\n    \"msgid\": \"wb-xfj117702776843271000\",\n    \"publish_topic\": \"zhct/zhct/p2p/GID_zhct@@@consume_work_0\",\n    \"subscribe_topic\": \"zhct/zhct/p2p/GID_zhct@@@wb-xfj1\",\n\t\"fauthAccount\":\"admin\",\n\t\"fauthKey\":\"b5z3w7x9t1s4p6m8n2h0d7f3j1k9q5v2r8\",\n\t\"authPwd\":\"Nutr@Syst2026#Mng&82\"\n}",
                "mediaType": "application/json",
                "description": ""
              }
            ]
          },
          "overrideRequesterOptions": {
            "strictSSL": false
          },
          "metaInfo": {
            "blockId": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
            "id": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
            "type": "http",
            "name": "订单结算",
            "projectId": 5737553,
            "relatedId": 7246041,
            "environmentId": 31641910,
            "blockNumber": 1,
            "tags": [],
            "httpApiId": 252596584,
            "httpApiCaseId": 299813741,
            "httpApiName": "订单结算",
            "httpApiPath": "/api/consume/orderPay",
            "httpApiMethod": "post",
            "httpApiCaseName": "订单结算",
            "moduleId": 4788005,
            "serverId": "default"
          },
          "scope": {
            "blockId": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
            "id": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
            "type": "http",
            "name": "订单结算",
            "projectId": 5737553,
            "relatedId": 7246041,
            "environmentId": 31641910,
            "blockNumber": 1,
            "tags": [],
            "httpApiId": 252596584,
            "httpApiCaseId": 299813741,
            "httpApiName": "订单结算",
            "httpApiPath": "/api/consume/orderPay",
            "httpApiMethod": "post",
            "httpApiCaseName": "订单结算",
            "moduleId": 4788005,
            "serverId": "default"
          },
          "resolveResponsePassed": {},
          "responseValidation": {
            "schema": {
              "valid": true,
              "message": "",
              "errors": null
            },
            "responseCode": {
              "valid": true
            }
          }
        },
        "cursor": {
          "position": 0,
          "iteration": 0,
          "length": 2,
          "cycles": 1,
          "empty": false,
          "eof": false,
          "bof": true,
          "cr": false,
          "ref": "1bd91186-eab2-4bcd-80ff-25fe4e5292a4",
          "requestIndex": 0,
          "httpRequestId": "4aad3581-893f-4cf8-9c9b-588dd2877150",
          "scriptId": "postProcessors.0.assertion",
          "execution": "8d54cec0-0f45-4662-91ba-f7d564146b5c"
        }
      }
    ],
    "stepTree": [
      {
        "ref": "1bd91186-eab2-4bcd-80ff-25fe4e5292a4",
        "type": "http"
      },
      {
        "ref": "a8fcb231-e7a1-44f6-b20f-d9431b058562",
        "type": "http"
      }
    ],
    "error": null
  },
  "options": {
    "accessToken": "afxp_b1d5f2P6pF4rgO0gfdfOM5ACs4HJwauEi57o",
    "apiBaseUrl": "https://api.apifox.com",
    "testSuite": [
      2108
    ],
    "environment": 45671644,
    "reporters": [
      "cli",
      "json",
      "junit",
      "html"
    ],
    "outDir": "work_store/apifox/2026-07-09-full-automation-run/reports/suite-2108",
    "outFile": "suite-2108",
    "originalOutFile": "suite-2108",
    "onError": "continue",
    "envVar": [],
    "globalVar": [],
    "color": "off",
    "delayRequest": 0,
    "timeoutRequest": 30000,
    "timeoutScript": 30000,
    "enableBigInt": false,
    "disableRejectUnauthorized": false,
    "maxRetries": 3,
    "allowSecuritySensitiveActions": true,
    "reporterOptions": {
      "name": "消费机自动化",
      "runnerId": "e800d80e-e850-4233-a422-8c3016e10ac8",
      "testSuiteId": 2108,
      "executionCount": 1
    },
    "isUploadReportSummary": false,
    "apifoxVersion": "2.2.6",
    "globals": {},
    "teamGlobals": {}
  },
  "collection": {
    "apifoxCli": "1.1.0",
    "item": [
      {
        "item": [
          {
            "id": "e5d10096-ee8e-4e2e-bd1a-32dce17357a0",
            "name": "订单结算",
            "request": {
              "url": {
                "protocol": "https",
                "path": [
                  "",
                  "api",
                  "consume",
                  "orderPay"
                ],
                "host": [
                  "zhctdev",
                  "yyangpt",
                  "cn"
                ],
                "query": [],
                "variable": []
              },
              "header": [
                {
                  "key": "User-Agent",
                  "value": "app/1.0.0"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "method": "POST",
              "baseUrl": "https://zhctdev.yyangpt.cn/",
              "body": {
                "mode": "raw",
                "raw": "{\n  \"dishes\": [\n    {\n      \"uuid\": \"9E6D1350-142B-D475-6292-147215B524B2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    },\n    {\n      \"uuid\": \"2E72EE3C-4D99-BAB4-A613-A85F4FAC28A2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    }\n  ],\n  \"staff_uuid\": \"76965FD2-4316-0AA8-7ABE-664C34E85A63\",\n  \"paycode\": \"\",\n  \"money\": \"1\",\n  \"equipment_code\": \"0001\"\n}",
                "generateMode": "normal",
                "type": "application/json"
              },
              "type": "http"
            },
            "response": [],
            "event": [
              {
                "listen": "prerequest",
                "script": {
                  "id": "commonScript.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "  ____string2Array = function(value) {",
                    "    if(typeof value === 'object'){",
                    "      return value;",
                    "    }",
                    "    try {",
                    "      return JSON.parse(value);",
                    "    } catch (e) {",
                    "      return value;",
                    "    }",
                    "  }",
                    "  ____string2Number = function(value, errorMsg) {",
                    "   if(typeof value !== 'string'){",
                    "     return value;",
                    "   }",
                    "   if (/^\\-?\\d+$/.test(value)) {",
                    "       return parseInt(value);",
                    "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                    "       return parseFloat(value);",
                    "   } else {",
                    "       throw new Error(errorMsg || 'Data type mismatch')",
                    "   }",
                    " }",
                    "",
                    "  ____formatValues = function(value, stringCompareValue, comparison) {",
                    "   try{",
                    "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                    "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                    "     let compareValue;",
                    "     switch (typeof value) {",
                    "         case 'string':",
                    "             if (isNumberComparisons) {",
                    "                value = ____string2Number(value);",
                    "                compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "                compareValue = ____string2Array(stringCompareValue);",
                    "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                    "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                    "             } else {",
                    "                compareValue = stringCompareValue;",
                    "             }",
                    "             break;",
                    "         case 'object':",
                    "             const isArray = value instanceof Array;",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                    "             } else if (isCollectionComparisons && isArray) {",
                    "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                    "            } else if (",
                    "              isArray &&",
                    "              comparison === 'include' &&",
                    "              value.includes(stringCompareValue)",
                    "            ) {",
                    "              compareValue = stringCompareValue;",
                    "            } else {",
                    "              try {",
                    "                  compareValue = JSON.parse(stringCompareValue);",
                    "              } catch (e) {",
                    "                  compareValue = stringCompareValue;",
                    "              }",
                    "            }",
                    "             break;",
                    "         case 'boolean':",
                    "             if (isNumberComparisons || isCollectionComparisons) {",
                    "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                    "             break;",
                    "           case 'bigint':",
                    "           case 'number':",
                    "             if (isNumberComparisons) {",
                    "               compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "              value = '' + value;",
                    "            } else {",
                    "               compareValue = stringCompareValue;",
                    "               value = '' + value;",
                    "             }",
                    "             break;",
                    "         case 'null':",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                    "             break;",
                    "         default:",
                    "            if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "            } else {",
                    "              compareValue = stringCompareValue;",
                    "            }",
                    "            break;",
                    "     }",
                    "     return { compareValue, value };",
                    "   } catch(e) {",
                    "     console.log(e);",
                    "     throw e;",
                    "   }",
                    " }",
                    " "
                  ]
                }
              },
              {
                "listen": "test",
                "script": {
                  "id": "postProcessors.0.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "        if (JSON.setEnableBigInt) {",
                    "          JSON.setEnableBigInt(undefined);",
                    "        }",
                    "        ",
                    "  async function ____replaceIn(value) {",
                    "    if (typeof pm.variables.replaceInAsync === 'function') {",
                    "      return await pm.variables.replaceInAsync(value);",
                    "    }",
                    "    return pm.variables.replaceIn(value);",
                    "  };",
                    "",
                    "  ;(async () => {",
                    "    try {",
                    "      const formattedName = await ____replaceIn(`$.message Equals 支付成功`);",
                    "      pm.test(formattedName, async function(done) {",
                    "        try {",
                    "          ",
                    "          const expression = await ____replaceIn(`$.message`);",
                    "          const JSONPath = require('jsonpath-plus').JSONPath;",
                    "          let jsonData;",
                    "          try {",
                    "            jsonData = pm.response.json();",
                    "          } catch(e) {",
                    "            let text = pm.response.text();",
                    "            const xml2js = require('xml2js');",
                    "            function removeXmlUselessPrefixAndSuffix(text) {",
                    "              const start = text.indexOf('<');",
                    "              const end = text.lastIndexOf('>');",
                    "              if (start === -1 || end === -1) {",
                    "                return text;",
                    "              }",
                    "              return text.substring(start, end + 1);",
                    "            }",
                    "            text = removeXmlUselessPrefixAndSuffix(text);",
                    "            let json;",
                    "            let xmlParseOptions = {",
                    "                explicitArray: false,",
                    "                trim: true,",
                    "                ignoreAttrs: true,",
                    "            };",
                    "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                    "                jsonData = result;",
                    "            });",
                    "          }",
                    "          let value = JSONPath({",
                    "            json: jsonData,",
                    "            path: expression,",
                    "            wrap: false",
                    "          });",
                    "",
                    "          if (false && undefined !== undefined) {",
                    "            if (Array.isArray(value)) {",
                    "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                    "            } else {",
                    "              value = undefined;",
                    "            }",
                    "          }",
                    "",
                    "          ",
                    "          ",
                    "    const compareValue = await ____replaceIn(`支付成功`);",
                    "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                    "  ",
                    "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                    "          done();",
                    "        } catch (err) {",
                    "          done(err);",
                    "        }",
                    "      });",
                    "    } catch(e) {",
                    "      setImmediate(() => { throw e });",
                    "    }",
                    "  })();",
                    "      "
                  ]
                }
              }
            ],
            "type": "http",
            "metaInfo": {
              "blockId": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
              "id": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
              "type": "http",
              "name": "订单结算",
              "projectId": 5737553,
              "relatedId": 7246041,
              "environmentId": 31641910,
              "blockNumber": 1,
              "tags": [],
              "httpApiId": 252596584,
              "httpApiCaseId": 299813741,
              "httpApiName": "订单结算",
              "httpApiPath": "/api/consume/orderPay",
              "httpApiMethod": "post",
              "httpApiCaseName": "订单结算",
              "moduleId": 4788005,
              "serverId": "default"
            },
            "protocolProfileBehavior": {
              "useWhatWGUrlParser": false,
              "disableUrlEncoding": false,
              "disabledSystemHeaders": {},
              "disableCookies": false
            },
            "responseDefinition": {
              "id": "599581808",
              "name": "成功",
              "code": 200,
              "contentType": "json",
              "jsonSchema": {
                "type": "object",
                "properties": {},
                "x-apifox-orders": []
              },
              "itemSchema": {},
              "description": "",
              "mediaType": "",
              "headers": [],
              "oasExtensions": "",
              "schemaDefinitions": {}
            },
            "requestDefinition": {
              "jsonSchema": {
                "type": "object",
                "properties": {},
                "x-apifox-orders": []
              },
              "examples": [
                {
                  "value": "{\n\t\"dishes\": [\n\t\t{\n\t\t\t\"uuid\": \"106C6E48-491C-2C5B-17E8-5D39109EEC75\",\n\t\t\t\"number\": \"1\",\n\t\t\t\"money\": \"0.1\"\n\t\t}\n\t],\n\t\"staff_uuid\": \"\",\n\t\"paycode\":\"\", \n\t\"card_id\":\"2000001\",\n\t\"money\":\"0.1\",\n\t\"equipment_code\":\"wb-xfj1\",\n    \"order_type\":\"1\",\n    \"action\":\"consume\",\n    \"create_time\": \"2026-03-26 18:48:04\",\n    \"msgid\": \"wb-xfj117702776843271000\",\n    \"publish_topic\": \"zhct/zhct/p2p/GID_zhct@@@consume_work_0\",\n    \"subscribe_topic\": \"zhct/zhct/p2p/GID_zhct@@@wb-xfj1\",\n\t\"fauthAccount\":\"admin\",\n\t\"fauthKey\":\"b5z3w7x9t1s4p6m8n2h0d7f3j1k9q5v2r8\",\n\t\"authPwd\":\"Nutr@Syst2026#Mng&82\"\n}",
                  "mediaType": "application/json",
                  "description": ""
                }
              ]
            },
            "overrideRequesterOptions": {
              "strictSSL": false
            }
          },
          {
            "id": "da5e19ee-f9d4-4af6-bd6b-70fcefb8b98a",
            "name": "获取当餐菜谱",
            "request": {
              "url": {
                "protocol": "https",
                "path": [
                  "",
                  "p",
                  "api",
                  "getMeal"
                ],
                "host": [
                  "zhctdev",
                  "yyangpt",
                  "cn"
                ],
                "query": [],
                "variable": []
              },
              "header": [
                {
                  "key": "Access-Token",
                  "value": "{{terminal_token}}"
                },
                {
                  "key": "User-Agent",
                  "value": "app/1.0.0"
                }
              ],
              "method": "POST",
              "baseUrl": "https://zhctdev.yyangpt.cn/",
              "body": {
                "mode": "formdata",
                "formdata": [
                  {
                    "disabled": false,
                    "key": "category",
                    "value": "false",
                    "type": "string"
                  },
                  {
                    "disabled": false,
                    "key": "code",
                    "value": "xiaofeiji1",
                    "type": "string"
                  },
                  {
                    "disabled": false,
                    "key": "keyword",
                    "value": "",
                    "type": "string"
                  }
                ]
              },
              "type": "http"
            },
            "response": [],
            "event": [
              {
                "listen": "prerequest",
                "script": {
                  "id": "commonScript.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "  ____string2Array = function(value) {",
                    "    if(typeof value === 'object'){",
                    "      return value;",
                    "    }",
                    "    try {",
                    "      return JSON.parse(value);",
                    "    } catch (e) {",
                    "      return value;",
                    "    }",
                    "  }",
                    "  ____string2Number = function(value, errorMsg) {",
                    "   if(typeof value !== 'string'){",
                    "     return value;",
                    "   }",
                    "   if (/^\\-?\\d+$/.test(value)) {",
                    "       return parseInt(value);",
                    "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                    "       return parseFloat(value);",
                    "   } else {",
                    "       throw new Error(errorMsg || 'Data type mismatch')",
                    "   }",
                    " }",
                    "",
                    "  ____formatValues = function(value, stringCompareValue, comparison) {",
                    "   try{",
                    "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                    "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                    "     let compareValue;",
                    "     switch (typeof value) {",
                    "         case 'string':",
                    "             if (isNumberComparisons) {",
                    "                value = ____string2Number(value);",
                    "                compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "                compareValue = ____string2Array(stringCompareValue);",
                    "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                    "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                    "             } else {",
                    "                compareValue = stringCompareValue;",
                    "             }",
                    "             break;",
                    "         case 'object':",
                    "             const isArray = value instanceof Array;",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                    "             } else if (isCollectionComparisons && isArray) {",
                    "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                    "            } else if (",
                    "              isArray &&",
                    "              comparison === 'include' &&",
                    "              value.includes(stringCompareValue)",
                    "            ) {",
                    "              compareValue = stringCompareValue;",
                    "            } else {",
                    "              try {",
                    "                  compareValue = JSON.parse(stringCompareValue);",
                    "              } catch (e) {",
                    "                  compareValue = stringCompareValue;",
                    "              }",
                    "            }",
                    "             break;",
                    "         case 'boolean':",
                    "             if (isNumberComparisons || isCollectionComparisons) {",
                    "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                    "             break;",
                    "           case 'bigint':",
                    "           case 'number':",
                    "             if (isNumberComparisons) {",
                    "               compareValue = ____string2Number(stringCompareValue);",
                    "             } else if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "              value = '' + value;",
                    "            } else {",
                    "               compareValue = stringCompareValue;",
                    "               value = '' + value;",
                    "             }",
                    "             break;",
                    "         case 'null':",
                    "             if (isNumberComparisons) {",
                    "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                    "             }",
                    "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                    "             break;",
                    "         default:",
                    "            if (isCollectionComparisons) {",
                    "              compareValue = ____string2Array(stringCompareValue);",
                    "            } else {",
                    "              compareValue = stringCompareValue;",
                    "            }",
                    "            break;",
                    "     }",
                    "     return { compareValue, value };",
                    "   } catch(e) {",
                    "     console.log(e);",
                    "     throw e;",
                    "   }",
                    " }",
                    " "
                  ]
                }
              },
              {
                "listen": "test",
                "script": {
                  "id": "postProcessors.0.assertion",
                  "type": "text/javascript",
                  "exec": [
                    "",
                    "        if (JSON.setEnableBigInt) {",
                    "          JSON.setEnableBigInt(undefined);",
                    "        }",
                    "        ",
                    "  async function ____replaceIn(value) {",
                    "    if (typeof pm.variables.replaceInAsync === 'function') {",
                    "      return await pm.variables.replaceInAsync(value);",
                    "    }",
                    "    return pm.variables.replaceIn(value);",
                    "  };",
                    "",
                    "  ;(async () => {",
                    "    try {",
                    "      const formattedName = await ____replaceIn(`$.message Equals 获取成功`);",
                    "      pm.test(formattedName, async function(done) {",
                    "        try {",
                    "          ",
                    "          const expression = await ____replaceIn(`$.message`);",
                    "          const JSONPath = require('jsonpath-plus').JSONPath;",
                    "          let jsonData;",
                    "          try {",
                    "            jsonData = pm.response.json();",
                    "          } catch(e) {",
                    "            let text = pm.response.text();",
                    "            const xml2js = require('xml2js');",
                    "            function removeXmlUselessPrefixAndSuffix(text) {",
                    "              const start = text.indexOf('<');",
                    "              const end = text.lastIndexOf('>');",
                    "              if (start === -1 || end === -1) {",
                    "                return text;",
                    "              }",
                    "              return text.substring(start, end + 1);",
                    "            }",
                    "            text = removeXmlUselessPrefixAndSuffix(text);",
                    "            let json;",
                    "            let xmlParseOptions = {",
                    "                explicitArray: false,",
                    "                trim: true,",
                    "                ignoreAttrs: true,",
                    "            };",
                    "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                    "                jsonData = result;",
                    "            });",
                    "          }",
                    "          let value = JSONPath({",
                    "            json: jsonData,",
                    "            path: expression,",
                    "            wrap: false",
                    "          });",
                    "",
                    "          if (false && undefined !== undefined) {",
                    "            if (Array.isArray(value)) {",
                    "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                    "            } else {",
                    "              value = undefined;",
                    "            }",
                    "          }",
                    "",
                    "          ",
                    "          ",
                    "    const compareValue = await ____replaceIn(`获取成功`);",
                    "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                    "  ",
                    "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                    "          done();",
                    "        } catch (err) {",
                    "          done(err);",
                    "        }",
                    "      });",
                    "    } catch(e) {",
                    "      setImmediate(() => { throw e });",
                    "    }",
                    "  })();",
                    "      "
                  ]
                }
              }
            ],
            "type": "http",
            "metaInfo": {
              "blockId": "f5e1910f-9234-4f9b-9bf9-dec9c8f11f2f",
              "id": "f5e1910f-9234-4f9b-9bf9-dec9c8f11f2f",
              "type": "http",
              "name": "获取当餐菜谱",
              "projectId": 5737553,
              "relatedId": 7246041,
              "environmentId": 31641910,
              "blockNumber": 2,
              "tags": [],
              "httpApiId": 252596574,
              "httpApiCaseId": 299813896,
              "httpApiName": "获取当餐菜谱",
              "httpApiPath": "/p/api/getMeal",
              "httpApiMethod": "post",
              "httpApiCaseName": "获取当餐菜谱",
              "moduleId": 4788005,
              "serverId": "default"
            },
            "protocolProfileBehavior": {
              "useWhatWGUrlParser": false,
              "disableUrlEncoding": false,
              "disabledSystemHeaders": {},
              "disableCookies": false
            },
            "responseDefinition": {
              "id": 599581798,
              "name": "成功",
              "code": 200,
              "contentType": "json",
              "jsonSchema": {
                "type": "object",
                "properties": {},
                "x-apifox-orders": []
              },
              "description": "",
              "mediaType": "",
              "headers": [],
              "schemaDefinitions": {}
            },
            "requestDefinition": {
              "jsonSchema": {},
              "examples": []
            },
            "overrideRequesterOptions": {
              "strictSSL": false
            }
          }
        ],
        "name": "消费机自动化支付"
      }
    ],
    "info": {
      "name": "消费机自动化支付",
      "folderName": "根目录"
    },
    "dataSchemas": {},
    "mockRules": {
      "rules": [],
      "enableSystemRule": true
    },
    "environment": {
      "id": 31641910,
      "name": "ai智慧餐厅dev",
      "type": "normal",
      "baseUrls": {
        "default": "https://zhctdev.yyangpt.cn/"
      },
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "https://zhctdev.yyangpt.cn/",
      "variable": {
        "id": "77b82f38-7a58-45c4-bfda-4a1b1eab02ab",
        "name": "ai智慧餐厅dev",
        "baseUrl": "https://zhctdev.yyangpt.cn/",
        "baseUrls": {
          "default": "https://zhctdev.yyangpt.cn/"
        },
        "values": []
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      },
      "advancedSettings": {
        "default": {
          "requestProxySetting": {
            "type": "default",
            "agentId": 2
          }
        }
      }
    },
    "globals": {
      "baseUrls": {},
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "",
      "variable": {
        "id": "a84e920c-7542-4e0a-941f-ca428964446a",
        "baseUrl": "",
        "baseUrls": {},
        "values": [
          {
            "type": "any",
            "value": "",
            "key": "uuid",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "提取菜品uuid",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "提取菜品名称",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "to",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "shijian",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "dateFromTempVariable",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "cee",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "",
            "key": "sh",
            "isBindInitial": true,
            "initialValue": ""
          },
          {
            "type": "any",
            "value": "onlineshopmall",
            "key": "account-dev",
            "isBindInitial": true,
            "initialValue": "onlineshopmall"
          },
          {
            "type": "any",
            "value": "Shop@2025#Mall&88",
            "key": "pwd-dev",
            "isBindInitial": true,
            "initialValue": "Shop@2025#Mall&88"
          },
          {
            "type": "any",
            "value": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q",
            "key": "key-dev",
            "isBindInitial": true,
            "initialValue": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q"
          }
        ]
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      }
    },
    "teamGlobals": {
      "baseUrls": {},
      "websocketBaseUrls": {},
      "socketioBaseUrls": {},
      "baseUrl": "",
      "variable": {
        "id": "822ef345-27e7-4d36-ae13-cfc6fa183f85",
        "baseUrl": "",
        "baseUrls": {},
        "values": []
      },
      "parameter": {
        "header": [],
        "query": [],
        "body": [],
        "cookie": []
      }
    },
    "moduleVariablesMap": {
      "4788005": []
    },
    "isServerBuild": true,
    "isTestFlowControl": false,
    "collectionDefinition": {
      "apifoxCli": "1.1.0",
      "item": [
        {
          "item": [
            {
              "id": "e5d10096-ee8e-4e2e-bd1a-32dce17357a0",
              "name": "订单结算",
              "request": {
                "url": {
                  "protocol": "https",
                  "path": [
                    "",
                    "api",
                    "consume",
                    "orderPay"
                  ],
                  "host": [
                    "zhctdev",
                    "yyangpt",
                    "cn"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "User-Agent",
                    "value": "app/1.0.0"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "method": "POST",
                "baseUrl": "https://zhctdev.yyangpt.cn/",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"dishes\": [\n    {\n      \"uuid\": \"9E6D1350-142B-D475-6292-147215B524B2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    },\n    {\n      \"uuid\": \"2E72EE3C-4D99-BAB4-A613-A85F4FAC28A2\",\n      \"number\": \"1\",\n      \"money\": \"20\"\n    }\n  ],\n  \"staff_uuid\": \"76965FD2-4316-0AA8-7ABE-664C34E85A63\",\n  \"paycode\": \"\",\n  \"money\": \"1\",\n  \"equipment_code\": \"0001\"\n}",
                  "generateMode": "normal",
                  "type": "application/json"
                },
                "type": "http"
              },
              "response": [],
              "event": [
                {
                  "listen": "prerequest",
                  "script": {
                    "id": "commonScript.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "  ____string2Array = function(value) {",
                      "    if(typeof value === 'object'){",
                      "      return value;",
                      "    }",
                      "    try {",
                      "      return JSON.parse(value);",
                      "    } catch (e) {",
                      "      return value;",
                      "    }",
                      "  }",
                      "  ____string2Number = function(value, errorMsg) {",
                      "   if(typeof value !== 'string'){",
                      "     return value;",
                      "   }",
                      "   if (/^\\-?\\d+$/.test(value)) {",
                      "       return parseInt(value);",
                      "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                      "       return parseFloat(value);",
                      "   } else {",
                      "       throw new Error(errorMsg || 'Data type mismatch')",
                      "   }",
                      " }",
                      "",
                      "  ____formatValues = function(value, stringCompareValue, comparison) {",
                      "   try{",
                      "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                      "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                      "     let compareValue;",
                      "     switch (typeof value) {",
                      "         case 'string':",
                      "             if (isNumberComparisons) {",
                      "                value = ____string2Number(value);",
                      "                compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "                compareValue = ____string2Array(stringCompareValue);",
                      "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                      "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                      "             } else {",
                      "                compareValue = stringCompareValue;",
                      "             }",
                      "             break;",
                      "         case 'object':",
                      "             const isArray = value instanceof Array;",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                      "             } else if (isCollectionComparisons && isArray) {",
                      "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                      "            } else if (",
                      "              isArray &&",
                      "              comparison === 'include' &&",
                      "              value.includes(stringCompareValue)",
                      "            ) {",
                      "              compareValue = stringCompareValue;",
                      "            } else {",
                      "              try {",
                      "                  compareValue = JSON.parse(stringCompareValue);",
                      "              } catch (e) {",
                      "                  compareValue = stringCompareValue;",
                      "              }",
                      "            }",
                      "             break;",
                      "         case 'boolean':",
                      "             if (isNumberComparisons || isCollectionComparisons) {",
                      "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                      "             break;",
                      "           case 'bigint':",
                      "           case 'number':",
                      "             if (isNumberComparisons) {",
                      "               compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "              value = '' + value;",
                      "            } else {",
                      "               compareValue = stringCompareValue;",
                      "               value = '' + value;",
                      "             }",
                      "             break;",
                      "         case 'null':",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                      "             break;",
                      "         default:",
                      "            if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "            } else {",
                      "              compareValue = stringCompareValue;",
                      "            }",
                      "            break;",
                      "     }",
                      "     return { compareValue, value };",
                      "   } catch(e) {",
                      "     console.log(e);",
                      "     throw e;",
                      "   }",
                      " }",
                      " "
                    ]
                  }
                },
                {
                  "listen": "test",
                  "script": {
                    "id": "postProcessors.0.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "        if (JSON.setEnableBigInt) {",
                      "          JSON.setEnableBigInt(undefined);",
                      "        }",
                      "        ",
                      "  async function ____replaceIn(value) {",
                      "    if (typeof pm.variables.replaceInAsync === 'function') {",
                      "      return await pm.variables.replaceInAsync(value);",
                      "    }",
                      "    return pm.variables.replaceIn(value);",
                      "  };",
                      "",
                      "  ;(async () => {",
                      "    try {",
                      "      const formattedName = await ____replaceIn(`$.message Equals 支付成功`);",
                      "      pm.test(formattedName, async function(done) {",
                      "        try {",
                      "          ",
                      "          const expression = await ____replaceIn(`$.message`);",
                      "          const JSONPath = require('jsonpath-plus').JSONPath;",
                      "          let jsonData;",
                      "          try {",
                      "            jsonData = pm.response.json();",
                      "          } catch(e) {",
                      "            let text = pm.response.text();",
                      "            const xml2js = require('xml2js');",
                      "            function removeXmlUselessPrefixAndSuffix(text) {",
                      "              const start = text.indexOf('<');",
                      "              const end = text.lastIndexOf('>');",
                      "              if (start === -1 || end === -1) {",
                      "                return text;",
                      "              }",
                      "              return text.substring(start, end + 1);",
                      "            }",
                      "            text = removeXmlUselessPrefixAndSuffix(text);",
                      "            let json;",
                      "            let xmlParseOptions = {",
                      "                explicitArray: false,",
                      "                trim: true,",
                      "                ignoreAttrs: true,",
                      "            };",
                      "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                      "                jsonData = result;",
                      "            });",
                      "          }",
                      "          let value = JSONPath({",
                      "            json: jsonData,",
                      "            path: expression,",
                      "            wrap: false",
                      "          });",
                      "",
                      "          if (false && undefined !== undefined) {",
                      "            if (Array.isArray(value)) {",
                      "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                      "            } else {",
                      "              value = undefined;",
                      "            }",
                      "          }",
                      "",
                      "          ",
                      "          ",
                      "    const compareValue = await ____replaceIn(`支付成功`);",
                      "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                      "  ",
                      "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                      "          done();",
                      "        } catch (err) {",
                      "          done(err);",
                      "        }",
                      "      });",
                      "    } catch(e) {",
                      "      setImmediate(() => { throw e });",
                      "    }",
                      "  })();",
                      "      "
                    ]
                  }
                }
              ],
              "type": "http",
              "metaInfo": {
                "blockId": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
                "id": "a2cd96f8-fe00-4100-bcdd-651170746bbd",
                "type": "http",
                "name": "订单结算",
                "projectId": 5737553,
                "relatedId": 7246041,
                "environmentId": 31641910,
                "blockNumber": 1,
                "tags": [],
                "httpApiId": 252596584,
                "httpApiCaseId": 299813741,
                "httpApiName": "订单结算",
                "httpApiPath": "/api/consume/orderPay",
                "httpApiMethod": "post",
                "httpApiCaseName": "订单结算",
                "moduleId": 4788005,
                "serverId": "default"
              },
              "protocolProfileBehavior": {
                "useWhatWGUrlParser": false,
                "disableUrlEncoding": false,
                "disabledSystemHeaders": {},
                "disableCookies": false
              },
              "responseDefinition": {
                "id": "599581808",
                "name": "成功",
                "code": 200,
                "contentType": "json",
                "jsonSchema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": []
                },
                "itemSchema": {},
                "description": "",
                "mediaType": "",
                "headers": [],
                "oasExtensions": "",
                "schemaDefinitions": {}
              },
              "requestDefinition": {
                "jsonSchema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": []
                },
                "examples": [
                  {
                    "value": "{\n\t\"dishes\": [\n\t\t{\n\t\t\t\"uuid\": \"106C6E48-491C-2C5B-17E8-5D39109EEC75\",\n\t\t\t\"number\": \"1\",\n\t\t\t\"money\": \"0.1\"\n\t\t}\n\t],\n\t\"staff_uuid\": \"\",\n\t\"paycode\":\"\", \n\t\"card_id\":\"2000001\",\n\t\"money\":\"0.1\",\n\t\"equipment_code\":\"wb-xfj1\",\n    \"order_type\":\"1\",\n    \"action\":\"consume\",\n    \"create_time\": \"2026-03-26 18:48:04\",\n    \"msgid\": \"wb-xfj117702776843271000\",\n    \"publish_topic\": \"zhct/zhct/p2p/GID_zhct@@@consume_work_0\",\n    \"subscribe_topic\": \"zhct/zhct/p2p/GID_zhct@@@wb-xfj1\",\n\t\"fauthAccount\":\"admin\",\n\t\"fauthKey\":\"b5z3w7x9t1s4p6m8n2h0d7f3j1k9q5v2r8\",\n\t\"authPwd\":\"Nutr@Syst2026#Mng&82\"\n}",
                    "mediaType": "application/json",
                    "description": ""
                  }
                ]
              },
              "overrideRequesterOptions": {
                "strictSSL": false
              }
            },
            {
              "id": "da5e19ee-f9d4-4af6-bd6b-70fcefb8b98a",
              "name": "获取当餐菜谱",
              "request": {
                "url": {
                  "protocol": "https",
                  "path": [
                    "",
                    "p",
                    "api",
                    "getMeal"
                  ],
                  "host": [
                    "zhctdev",
                    "yyangpt",
                    "cn"
                  ],
                  "query": [],
                  "variable": []
                },
                "header": [
                  {
                    "key": "Access-Token",
                    "value": "{{terminal_token}}"
                  },
                  {
                    "key": "User-Agent",
                    "value": "app/1.0.0"
                  }
                ],
                "method": "POST",
                "baseUrl": "https://zhctdev.yyangpt.cn/",
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "disabled": false,
                      "key": "category",
                      "value": "false",
                      "type": "string"
                    },
                    {
                      "disabled": false,
                      "key": "code",
                      "value": "xiaofeiji1",
                      "type": "string"
                    },
                    {
                      "disabled": false,
                      "key": "keyword",
                      "value": "",
                      "type": "string"
                    }
                  ]
                },
                "type": "http"
              },
              "response": [],
              "event": [
                {
                  "listen": "prerequest",
                  "script": {
                    "id": "commonScript.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "  ____string2Array = function(value) {",
                      "    if(typeof value === 'object'){",
                      "      return value;",
                      "    }",
                      "    try {",
                      "      return JSON.parse(value);",
                      "    } catch (e) {",
                      "      return value;",
                      "    }",
                      "  }",
                      "  ____string2Number = function(value, errorMsg) {",
                      "   if(typeof value !== 'string'){",
                      "     return value;",
                      "   }",
                      "   if (/^\\-?\\d+$/.test(value)) {",
                      "       return parseInt(value);",
                      "   } else if (/^\\-?\\d+\\.\\d+$/.test(value)) {",
                      "       return parseFloat(value);",
                      "   } else {",
                      "       throw new Error(errorMsg || 'Data type mismatch')",
                      "   }",
                      " }",
                      "",
                      "  ____formatValues = function(value, stringCompareValue, comparison) {",
                      "   try{",
                      "     const isNumberComparisons = ['isBelow', 'isAtMost', 'isAbove', 'isAtLeast'].includes(comparison);",
                      "     const isCollectionComparisons = ['isOneOf', 'notOneOf'].includes(comparison);",
                      "     let compareValue;",
                      "     switch (typeof value) {",
                      "         case 'string':",
                      "             if (isNumberComparisons) {",
                      "                value = ____string2Number(value);",
                      "                compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "                compareValue = ____string2Array(stringCompareValue);",
                      "             } else if (comparison === 'exists' || comparison === 'notExist') {",
                      "                value = /^({%.*%})|({{.*}})$/.test(value) ? undefined : value;",
                      "             } else {",
                      "                compareValue = stringCompareValue;",
                      "             }",
                      "             break;",
                      "         case 'object':",
                      "             const isArray = value instanceof Array;",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type object cannot be compared using the ' + comparison + ' method')",
                      "             } else if (isCollectionComparisons && isArray) {",
                      "              throw new Error('Values of type array cannot be compared using the ' + comparison + ' method')",
                      "            } else if (",
                      "              isArray &&",
                      "              comparison === 'include' &&",
                      "              value.includes(stringCompareValue)",
                      "            ) {",
                      "              compareValue = stringCompareValue;",
                      "            } else {",
                      "              try {",
                      "                  compareValue = JSON.parse(stringCompareValue);",
                      "              } catch (e) {",
                      "                  compareValue = stringCompareValue;",
                      "              }",
                      "            }",
                      "             break;",
                      "         case 'boolean':",
                      "             if (isNumberComparisons || isCollectionComparisons) {",
                      "                 throw new Error('Values of type boolean cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'true' ? true : (stringCompareValue === 'false' ? false : stringCompareValue);",
                      "             break;",
                      "           case 'bigint':",
                      "           case 'number':",
                      "             if (isNumberComparisons) {",
                      "               compareValue = ____string2Number(stringCompareValue);",
                      "             } else if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "              value = '' + value;",
                      "            } else {",
                      "               compareValue = stringCompareValue;",
                      "               value = '' + value;",
                      "             }",
                      "             break;",
                      "         case 'null':",
                      "             if (isNumberComparisons) {",
                      "                 throw new Error('Values of type null cannot be compared using the ' + comparison + ' method')",
                      "             }",
                      "             compareValue = stringCompareValue === 'null' ? null : stringCompareValue;",
                      "             break;",
                      "         default:",
                      "            if (isCollectionComparisons) {",
                      "              compareValue = ____string2Array(stringCompareValue);",
                      "            } else {",
                      "              compareValue = stringCompareValue;",
                      "            }",
                      "            break;",
                      "     }",
                      "     return { compareValue, value };",
                      "   } catch(e) {",
                      "     console.log(e);",
                      "     throw e;",
                      "   }",
                      " }",
                      " "
                    ]
                  }
                },
                {
                  "listen": "test",
                  "script": {
                    "id": "postProcessors.0.assertion",
                    "type": "text/javascript",
                    "exec": [
                      "",
                      "        if (JSON.setEnableBigInt) {",
                      "          JSON.setEnableBigInt(undefined);",
                      "        }",
                      "        ",
                      "  async function ____replaceIn(value) {",
                      "    if (typeof pm.variables.replaceInAsync === 'function') {",
                      "      return await pm.variables.replaceInAsync(value);",
                      "    }",
                      "    return pm.variables.replaceIn(value);",
                      "  };",
                      "",
                      "  ;(async () => {",
                      "    try {",
                      "      const formattedName = await ____replaceIn(`$.message Equals 获取成功`);",
                      "      pm.test(formattedName, async function(done) {",
                      "        try {",
                      "          ",
                      "          const expression = await ____replaceIn(`$.message`);",
                      "          const JSONPath = require('jsonpath-plus').JSONPath;",
                      "          let jsonData;",
                      "          try {",
                      "            jsonData = pm.response.json();",
                      "          } catch(e) {",
                      "            let text = pm.response.text();",
                      "            const xml2js = require('xml2js');",
                      "            function removeXmlUselessPrefixAndSuffix(text) {",
                      "              const start = text.indexOf('<');",
                      "              const end = text.lastIndexOf('>');",
                      "              if (start === -1 || end === -1) {",
                      "                return text;",
                      "              }",
                      "              return text.substring(start, end + 1);",
                      "            }",
                      "            text = removeXmlUselessPrefixAndSuffix(text);",
                      "            let json;",
                      "            let xmlParseOptions = {",
                      "                explicitArray: false,",
                      "                trim: true,",
                      "                ignoreAttrs: true,",
                      "            };",
                      "            xml2js.parseString(text, xmlParseOptions, function (_, result) {",
                      "                jsonData = result;",
                      "            });",
                      "          }",
                      "          let value = JSONPath({",
                      "            json: jsonData,",
                      "            path: expression,",
                      "            wrap: false",
                      "          });",
                      "",
                      "          if (false && undefined !== undefined) {",
                      "            if (Array.isArray(value)) {",
                      "              value = Number(undefined) >= 0 ? value[undefined] : value[value.length + Number(undefined)];",
                      "            } else {",
                      "              value = undefined;",
                      "            }",
                      "          }",
                      "",
                      "          ",
                      "          ",
                      "    const compareValue = await ____replaceIn(`获取成功`);",
                      "    const formattedValues = ____formatValues(value, compareValue, 'equal');",
                      "  ",
                      "          pm.expect(formattedValues.value).to.eql(formattedValues.compareValue);",
                      "          done();",
                      "        } catch (err) {",
                      "          done(err);",
                      "        }",
                      "      });",
                      "    } catch(e) {",
                      "      setImmediate(() => { throw e });",
                      "    }",
                      "  })();",
                      "      "
                    ]
                  }
                }
              ],
              "type": "http",
              "metaInfo": {
                "blockId": "f5e1910f-9234-4f9b-9bf9-dec9c8f11f2f",
                "id": "f5e1910f-9234-4f9b-9bf9-dec9c8f11f2f",
                "type": "http",
                "name": "获取当餐菜谱",
                "projectId": 5737553,
                "relatedId": 7246041,
                "environmentId": 31641910,
                "blockNumber": 2,
                "tags": [],
                "httpApiId": 252596574,
                "httpApiCaseId": 299813896,
                "httpApiName": "获取当餐菜谱",
                "httpApiPath": "/p/api/getMeal",
                "httpApiMethod": "post",
                "httpApiCaseName": "获取当餐菜谱",
                "moduleId": 4788005,
                "serverId": "default"
              },
              "protocolProfileBehavior": {
                "useWhatWGUrlParser": false,
                "disableUrlEncoding": false,
                "disabledSystemHeaders": {},
                "disableCookies": false
              },
              "responseDefinition": {
                "id": 599581798,
                "name": "成功",
                "code": 200,
                "contentType": "json",
                "jsonSchema": {
                  "type": "object",
                  "properties": {},
                  "x-apifox-orders": []
                },
                "description": "",
                "mediaType": "",
                "headers": [],
                "schemaDefinitions": {}
              },
              "requestDefinition": {
                "jsonSchema": {},
                "examples": []
              },
              "overrideRequesterOptions": {
                "strictSSL": false
              }
            }
          ],
          "name": "消费机自动化支付"
        }
      ],
      "info": {
        "name": "消费机自动化支付",
        "folderName": "根目录"
      },
      "dataSchemas": {},
      "mockRules": {
        "rules": [],
        "enableSystemRule": true
      },
      "environment": {
        "id": 31641910,
        "name": "ai智慧餐厅dev",
        "type": "normal",
        "baseUrls": {
          "default": "https://zhctdev.yyangpt.cn/"
        },
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "https://zhctdev.yyangpt.cn/",
        "variable": {
          "id": "77b82f38-7a58-45c4-bfda-4a1b1eab02ab",
          "name": "ai智慧餐厅dev",
          "baseUrl": "https://zhctdev.yyangpt.cn/",
          "baseUrls": {
            "default": "https://zhctdev.yyangpt.cn/"
          },
          "values": []
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        },
        "advancedSettings": {
          "default": {
            "requestProxySetting": {
              "type": "default",
              "agentId": 2
            }
          }
        }
      },
      "globals": {
        "baseUrls": {},
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "",
        "variable": {
          "id": "a84e920c-7542-4e0a-941f-ca428964446a",
          "baseUrl": "",
          "baseUrls": {},
          "values": [
            {
              "type": "any",
              "value": "",
              "key": "uuid",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "提取菜品uuid",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "提取菜品名称",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "to",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "shijian",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "dateFromTempVariable",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "cee",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "",
              "key": "sh",
              "isBindInitial": true,
              "initialValue": ""
            },
            {
              "type": "any",
              "value": "onlineshopmall",
              "key": "account-dev",
              "isBindInitial": true,
              "initialValue": "onlineshopmall"
            },
            {
              "type": "any",
              "value": "Shop@2025#Mall&88",
              "key": "pwd-dev",
              "isBindInitial": true,
              "initialValue": "Shop@2025#Mall&88"
            },
            {
              "type": "any",
              "value": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q",
              "key": "key-dev",
              "isBindInitial": true,
              "initialValue": "7E3A9D2C5F8B1E4G6H0J2K9L4M1N3P5Q"
            }
          ]
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        }
      },
      "teamGlobals": {
        "baseUrls": {},
        "websocketBaseUrls": {},
        "socketioBaseUrls": {},
        "baseUrl": "",
        "variable": {
          "id": "822ef345-27e7-4d36-ae13-cfc6fa183f85",
          "baseUrl": "",
          "baseUrls": {},
          "values": []
        },
        "parameter": {
          "header": [],
          "query": [],
          "body": [],
          "cookie": []
        }
      },
      "moduleVariablesMap": {
        "4788005": []
      },
      "defaultModuleId": 4788005,
      "isServerBuild": true,
      "isTestFlowControl": false,
      "databaseConnectionMap": {
        "124921": {
          "id": 124921,
          "createdAt": "2025-11-18T01:30:01.000Z",
          "updatedAt": "2025-11-18T01:30:01.000Z",
          "deletedAt": null,
          "name": "麒麟系统瀚高数据库",
          "type": "postgresql",
          "projectId": 5737553,
          "description": "麒麟系统瀚高数据库",
          "configs": {
            "default": {
              "port": "5866"
            }
          }
        }
      }
    },
    "runOptions": {
      "environmentId": 31641910,
      "useDataSetId": -1,
      "iterationCount": 1,
      "threadCount": 1,
      "onError": "ignore",
      "delayItem": 0,
      "saveReportDetail": "all",
      "saveVariables": true,
      "readGlobalCookie": false,
      "saveGlobalCookie": false,
      "runnerId": 0,
      "variableValue": "INITIAL_VALUE"
    },
    "projectOptions": {
      "enableJsonc": true,
      "enableBigint": false,
      "responseValidate": true,
      "isDefaultUrlEncoding": 2,
      "enableTestScenarioSetting": false,
      "enableYAPICompatScript": false,
      "publishedDocUrlRules": {
        "defaultRule": "RESOURCE_KEY_ONLY",
        "resourceKeyStandard": "LEGACY"
      },
      "folderShareExpandModeSettings": {
        "expandId": [],
        "mode": "AUTO"
      },
      "mockSettings": {},
      "language": "zh-CN"
    },
    "ciRunningOptions": {
      "environmentId": 31641910,
      "useDataSetId": -1,
      "iterationCount": 1,
      "threadCount": 1,
      "onError": "ignore",
      "delayItem": 0,
      "saveReportDetail": "all",
      "saveVariables": true,
      "readGlobalCookie": false,
      "saveGlobalCookie": false,
      "runnerId": 0,
      "variableValue": "INITIAL_VALUE"
    },
    "projectId": 5737553,
    "databaseConnectionMap": {
      "124921": {
        "id": 124921,
        "createdAt": "2025-11-18T01:30:01.000Z",
        "updatedAt": "2025-11-18T01:30:01.000Z",
        "deletedAt": null,
        "name": "麒麟系统瀚高数据库",
        "type": "postgresql",
        "projectId": 5737553,
        "description": "麒麟系统瀚高数据库",
        "configs": {
          "default": {
            "port": "5866"
          }
        }
      }
    },
    "reportUrlTemplate": "https://app.apifox.com/link/project/{{projectId}}/api-test/test-report/{{id}}",
    "reportExtra": {
      "runOptions": {
        "environmentId": 31641910,
        "useDataSetId": -1,
        "iterationCount": 1,
        "threadCount": 1,
        "onError": "ignore",
        "delayItem": 0,
        "saveReportDetail": "all",
        "saveVariables": true,
        "readGlobalCookie": false,
        "saveGlobalCookie": false,
        "runnerId": 0,
        "variableValue": "INITIAL_VALUE"
      },
      "testScenario": {
        "id": 7246041,
        "name": "消费机自动化支付"
      },
      "branch": {
        "id": 5420249,
        "name": "main"
      }
    },
    "runnerId": "8da043c0-9231-4357-ac36-b3bfa6a2aa28",
    "name": "消费机自动化支付"
  }
}