# 1004 取餐等候服务动态

## content_json 定义

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| cur_status | 是 | int32 | 当前状态id |  |
| wxa_path_query | 是 | string | 卡片点击跳转路径与query |  |
| product_count | 参考状态要求 | uint32 | 商品数量 |  |
| product_list | 参考状态要求 | object | 商品信息 |  |
| queue_number | 参考状态要求 | string | 用户取餐号 | 最多可显示和输入10个可见字符 |
| current_number | 参考状态要求 | string | 当前叫号 | 会进行数字、字母与符号组合校验 |
| min_wait_time | 参考状态要求 | uint32 | 预计等待时长下限，展示规则可参考下文「预计等待时长展示说明」部分 | 单位为秒 |
| max_wait_time | 参考状态要求 | uint32 | 预计等待时长上限，展示规则可参考下文「预计等待时长展示说明」部分 | 单位为秒 |

**product_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| info_list | 是 | array<object> | 商品信息 |  |

**info_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| product_img | 是 | string | 商品图片 |  |
| product_name | 是 | string | 商品名称 |  |
| product_path_query | 是 | string | 商品路径与query |  |
| count | 否 | uint32 | 单品数量，默认为1 |  |
| single_price | 否 | uint32 | 商品单价 | 单位为分 |

**数字、字母与符号组合校验**

1. 最多32个可见字符
2. 所有字符均需要命中  [A-Z] [a-z] [0-9] "_~-/."

示例：A101、1234、a101、A-101

**预计等待时长展示说明**

1. 若 min_wait_time=max_wait_time 则表示：预计等待{max_wait_time/60}分钟
2. 若 max_wait_time=0 则表示：预计等待>{min_wait_time/60}分钟
3. 若 min_wait_time=0 则表示：预计等待<{max_wait_time/60}分钟
4. 若 min_wait_time=0 & max_wait_time=0 则表示：无法给出预计等待时长；不会向用户展示预计等待时长

## cur_status 传入状态 id 的含义，与不同状态 id 下的字段要求

| id | 激活时是否可为此状态 | 可变更自上一状态* | 状态描述 | 此状态下必填字段 | 此状态下选填字段 | content_json示例 |
| -------- | -------- | -------- | -------- | -------- | -------- | -------- |
| 1 | 是 | / | 用户已支付 | product_count
product_list
wxa_path_query |  | `"{\"cur_status\":1,\"product_count\": 1,\"product_list\":{\"info_list\":[{\"product_img\": \"https://res.wx.qq.com/op_res/DiSd8fVjXuHr5K9U73oRr-0imv0GklZrlRRj_mZmbnO0jT349XT-qIzT_DmjQsDLSO3xZbUTbOP--HA_BosOoA\",\"product_name\":\"momo\",\"product_path_query\":\"pages/index/index\",\"count\": 1,\"single_price\": 111}]},\"wxa_path_query\":\"pages/index/index\"}"` |
| 2 | 是 | 1, 2 | 制作中 | product_count
product_list
queue_number
min_wait_time
max_wait_time
wxa_path_query | current_number | `"{\"cur_status\":2,\"product_count\": 1,\"product_list\":{\"info_list\":[{\"product_img\": \"https://res.wx.qq.com/op_res/DiSd8fVjXuHr5K9U73oRr-0imv0GklZrlRRj_mZmbnO0jT349XT-qIzT_DmjQsDLSO3xZbUTbOP--HA_BosOoA\",\"product_name\":\"momo\",\"product_path_query\":\"pages/index/index\",\"count\": 1,\"single_price\": 111}]},\"queue_number\": \"S0121\",\"current_number\": \"S0101\",\"min_wait_time\": 600,\"max_wait_time\": 900,\"wxa_path_query\":\"pages/index/index\"}"` |
| 3 | 否 | 2 | 请领取 | queue_number
wxa_path_query |  | `"{\"cur_status\":3,\"queue_number\": \"S0121\",\"wxa_path_query\":\"pages/index/index\"}"` |
| 4 | 否 | 1, 2, 3 | 交易成功 | queue_number
wxa_path_query |  | `"{\"cur_status\":4,\"queue_number\": \"S0121\",\"wxa_path_query\":\"pages/index/index\"}"` |
| 5 | 否 | 1, 2, 3 | 订单已取消 | wxa_path_query |  | `"{\"cur_status\":5,\"wxa_path_query\":\"pages/index/index\"}"` |

**「可变更自上一状态」说明**

1. 此列中的数字表示当前状态只能由这些状态变更（激活时无此要求）
2. 需要注意的是当前状态变更为当前状态，也要求状态id在此列中：如当前为状态为1，只有当1也在此列中，才允许下一次更新时状态传入1
3. 在此列中不存在的状态id，意为结束态，后续不再可更新服务状态

## ext_json 定义

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| pay_info | 是 | object | 支付信息 |  |
| store_info | 否 | object | 门店信息 |  |
| product_additional_list | 是 | object | 商品附加信息，与product_list排序一一对应 | |

**pay_info 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| transaction_id | 是 | string | 微信支付订单号对于合单支付场景，目前仅支持使用传入第一个子单的订单号 | |
| pay_amount | 是 | uint32 | 订单实际支付金额，若订单有优惠，需传入优惠后金额
若为合单支付的第一个子订单，需传入合单支付的总实际支付金额 | 单位为分 |
| pay_time | 是 | uint32 | 支付时间 | 秒级时间戳 |

**store_info 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| store_name | 是 | string | 门店名称 |  |
| province | 是 | string | 所在省份/地区 |  |
| city | 是 | string | 所在城市 |  |
| county | 是 | string | 所在区/县 |  |
| store_address | 否 | string | 详细地址 |  |
| store_id | 否 | uint64 | 门店快送id |  如果已接入「[门店快送](https://docs.qq.com/doc/DSFpKY0drdEF3Q3BK)」，以上门店相关信息字段无需传入，可直接传“门店id（store_id）”，如果所有字段都传入，我们优先用门店快送的门店信息。 |

**product_additional_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| info_list | 是 | array<object> | 商品附加信息 |  |

**info_list 定义**

| 参数 | 是否必填 | 类型 | 说明 | 格式要求 |
| -------- | -------- | -------- | -------- | -------- |
| unit_price | 是 | uint32 | 商品单价 |  |
| number | 是 | uint32 | 商品数量 |  |
