{
  "openapi": "3.0.3",
  "info": {
    "title": "国信消费机刷脸直付接口",
    "version": "2026-07-06",
    "description": "消费机刷脸直付接口。设备不传金额，服务端根据国信三类消费价格规则匹配餐别和价格，然后复用 /api/consume/orderPay 在线消费主流程。"
  },
  "servers": [
    {
      "url": "/",
      "description": "当前环境"
    }
  ],
  "tags": [
    {
      "name": "国信订餐/消费机人脸消费",
      "description": "国信设备端核销与消费接口"
    }
  ],
  "paths": {
    "/api/consume/guoxinFacePay": {
      "post": {
        "tags": [
          "国信订餐/消费机人脸消费"
        ],
        "summary": "国信消费机刷脸直付",
        "description": "消费机人脸识别后调用。接口不接收金额，服务端根据 staff_uuid 所属部门、create_time 对应刷餐时间，依次匹配特殊人群、酒店、集团三类消费机价格规则，得到餐别和金额后固定按 order_type=1 调用 /api/consume/orderPay 主流程。会复用在线消费限制、消费策略、余额校验、订单创建和扣款逻辑。",
        "operationId": "consumeGuoxinFacePay",
        "x-apifox-folder": "国信订餐/消费机人脸消费",
        "parameters": [
          {
            "name": "account",
            "in": "header",
            "required": true,
            "description": "API 授权账号。",
            "schema": {
              "type": "string"
            },
            "example": "api_account"
          },
          {
            "name": "pwd",
            "in": "header",
            "required": true,
            "description": "API 授权密码。",
            "schema": {
              "type": "string",
              "format": "password"
            },
            "example": "api_password"
          },
          {
            "name": "key",
            "in": "header",
            "required": true,
            "description": "API 授权密钥。",
            "schema": {
              "type": "string",
              "format": "password"
            },
            "example": "api_secret_key"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "staff_uuid",
                  "equipment_code",
                  "msgid"
                ],
                "properties": {
                  "staff_uuid": {
                    "type": "string",
                    "description": "人脸识别到的人员 UUID。",
                    "example": "BB0CC0DF-2341-3879-D8DC-E1D7DD7E513E"
                  },
                  "equipment_code": {
                    "type": "string",
                    "description": "消费机设备编号，用于解析订单归属档口。",
                    "example": "00001"
                  },
                  "msgid": {
                    "type": "string",
                    "description": "设备侧唯一消息号，建议使用设备编号加毫秒时间戳。",
                    "example": "000011783310400001"
                  },
                  "create_time": {
                    "type": "string",
                    "description": "消费时间。未传时服务端使用当前时间；价格规则按该时间的 HH:mm 匹配刷餐时间段。",
                    "example": "2026-07-06 11:45:00"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "lunchFacePay": {
                  "summary": "午餐刷脸直付",
                  "value": {
                    "staff_uuid": "BB0CC0DF-2341-3879-D8DC-E1D7DD7E513E",
                    "equipment_code": "00001",
                    "msgid": "000011783310400001",
                    "create_time": "2026-07-06 11:45:00"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "业务状态码由 code 表示，code=0 为支付成功。",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "description": "业务状态码，0=成功，其他=失败。",
                      "example": 0
                    },
                    "message": {
                      "type": "string",
                      "description": "业务提示。",
                      "example": "支付成功"
                    },
                    "data": {
                      "type": "object",
                      "description": "支付成功时返回订单信息；失败时通常为空数组。",
                      "properties": {
                        "order_no": {
                          "type": "string",
                          "description": "订单编号。",
                          "example": "260706114500001"
                        },
                        "staff_uuid": {
                          "type": "string",
                          "description": "支付人员 UUID。",
                          "example": "BB0CC0DF-2341-3879-D8DC-E1D7DD7E513E"
                        },
                        "staff_name": {
                          "type": "string",
                          "description": "支付人员姓名。",
                          "example": "张三"
                        },
                        "remain_balance": {
                          "type": "string",
                          "description": "支付后余额。",
                          "example": "88.00"
                        },
                        "pay_time": {
                          "type": "string",
                          "description": "支付时间。",
                          "example": "2026-07-06 11:45:01"
                        },
                        "total_price": {
                          "type": "string",
                          "description": "订单总金额，来自国信消费价格规则。",
                          "example": "30.00"
                        },
                        "pay_price": {
                          "type": "string",
                          "description": "实付金额。",
                          "example": "30.00"
                        },
                        "management_fee": {
                          "type": "string",
                          "description": "管理费。",
                          "example": "0.00"
                        },
                        "discount_amount": {
                          "type": "string",
                          "description": "优惠金额。",
                          "example": "0.00"
                        },
                        "marketing_strategy_id": {
                          "type": "integer",
                          "description": "命中的消费策略 ID，未命中时为 0。",
                          "example": 0
                        },
                        "guoxin_price_rule_key": {
                          "type": "string",
                          "description": "命中的国信消费价格配置 key。",
                          "example": "guoxin_group_consume_price_rule"
                        },
                        "guoxin_price_rule_name": {
                          "type": "string",
                          "description": "命中的国信消费价格配置名称。",
                          "example": "集团消费机消费价格"
                        }
                      },
                      "additionalProperties": true
                    },
                    "trace_id": {
                      "type": "string",
                      "description": "链路追踪 ID。",
                      "example": "6a2fe9d3b6705"
                    }
                  },
                  "additionalProperties": true
                },
                "examples": {
                  "success": {
                    "summary": "支付成功",
                    "value": {
                      "code": 0,
                      "message": "支付成功",
                      "data": {
                        "order_no": "260706114500001",
                        "staff_uuid": "BB0CC0DF-2341-3879-D8DC-E1D7DD7E513E",
                        "staff_name": "张三",
                        "remain_balance": "88.00",
                        "pay_time": "2026-07-06 11:45:01",
                        "card_id": "",
                        "total_price": "30.00",
                        "pay_price": "30.00",
                        "management_fee": "0.00",
                        "discount_amount": "0.00",
                        "marketing_strategy_id": 0,
                        "guoxin_price_rule_key": "guoxin_group_consume_price_rule",
                        "guoxin_price_rule_name": "集团消费机消费价格"
                      },
                      "trace_id": "6a2fe9d3b6705"
                    }
                  },
                  "missingParam": {
                    "summary": "缺少参数",
                    "value": {
                      "code": 1,
                      "message": "缺少参数",
                      "data": []
                    }
                  },
                  "authFail": {
                    "summary": "接口认证失败",
                    "value": {
                      "code": 1,
                      "message": "接口认证失败",
                      "data": []
                    }
                  },
                  "noDepartment": {
                    "summary": "人员未配置部门",
                    "value": {
                      "code": 1,
                      "message": "人员未配置部门，无法匹配消费价格规则",
                      "data": []
                    }
                  },
                  "noRule": {
                    "summary": "未匹配到价格规则",
                    "value": {
                      "code": 1,
                      "message": "当前刷餐时间未匹配消费价格规则：集团消费机消费价格",
                      "data": []
                    }
                  },
                  "balanceInsufficient": {
                    "summary": "余额不足",
                    "value": {
                      "code": 8001,
                      "message": "余额不足，请充值后再尝试！",
                      "data": [],
                      "trace_id": "690ebe193df10"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
