Files
DishMatch/配比秤烹饪时长-设备端对接文档.md
T
mazengfei 94bcdb3d9b feat(ratio-scale): 新增烹饪时长采集及调料放置时间支持
- 配比秤采样提交接口新增字段 cookStart,传递烹饪开始时间
- 食材构成中调料项新增 putTime 字段,记录调料首次使用时间
- 设备端提交采样时食材构造调整,调料按名称匹配 putTime 填充
- 新增对烹饪时长的后端计算功能,时长单位为分钟自动向上取整
- 采样列表接口响应新增 cookStart 与 cookDuration 字段,用于显示烹饪时长
- 配比秤采样模式相关API文档同步更新,废弃制作模式接口及字段
- 烹饪完成接口要求强化传递 cookStart,后端基于此计算并更新烹饪时长
- 关联数据库迁移支持烹饪时长字段持久化及历史记录完善
2026-09-21 14:21:17 +08:00

4.1 KiB
Raw Blame History

配比秤烹饪时长 - 设备端对接文档

本次变更:配比秤新增「烹饪时长」采集与计算能力。设备端只需传烹饪开始时间调料放置时间,时长由后端自动计算落库,设备端不需要自己算。

部署依赖:数据库迁移 V21__nut_innovation_cook_duration.sql 需先于服务发布执行。


通用说明

  • 时间格式统一为 yyyy-MM-dd HH:mm:ss
  • 时长单位:分钟,由后端计算,规则:时长 = 接口调用时间 - 烹饪开始时间向上取整,正数至少 1 分钟(如 90 秒 → 2 分钟,30 秒 → 1 分钟)
  • 烹饪开始时间为空、或晚于当前时间(无效)时,后端跳过时长计算,接口正常成功

1. 提交采样(新增入参字段)

POST /nutrition/neglect/ratio-scale/constitute/save

请求参数(仅列出新增字段,其余字段不变)

字段 类型 必填 说明
cookStart string 建议 新增。烹饪开始时间,用于与提交时间计算烹饪时长(分钟)
items[].putTime string - 新增。调料放置时间,仅调料项(isMain=3)传,主材/辅材不传

完整请求示例

{
  "foodName": "低钠宫保鸡丁",
  "foodWeight": 1250.5,
  "cookStart": "2026-09-21 10:30:00",
  "items": [
    { "materId": 1001, "useWeight": 500, "isMain": 1 },
    { "materId": 1002, "useWeight": 200, "isMain": 2 },
    { "materId": 1003, "useWeight": 15,  "isMain": 3, "putTime": "2026-09-21 10:32:10" },
    { "materId": 1004, "useWeight": 8,   "isMain": 3, "putTime": "2026-09-21 10:35:40" }
  ]
}

后端行为

  • 烹饪开始时间落库 nut_innovation.cook_start,时长落库 nut_innovation.cook_duration,调料放置时间落库 nut_innovation_ing.put_time
  • 响应结构不变(Result<Void>

2. 烹饪完成(入参字段无变化,传值要求强化)

POST /nutrition/neglect/ratio-scale/cook-orders/complete

相关字段

字段 类型 必填 说明
cookOrderId long 烹制单 id(原有)
cookStart string 强烈建议 烹饪开始时间(字段原有)。本次开始烹饪时务必回传,否则不计算时长
seasonings[].putTime string - 调料放置时间(字段原有),继续按原逻辑传

后端行为(新增)

  • 每次完成按 本次 cookStart → 接口调用时间 计算时长,更新菜品烹饪工艺表 nut_food_cook.cook_duration
  • 多次烹饪时长不累计、各算各的:同一烹制单多次提交时,每次都用本次的时长覆盖菜品烹饪时长
  • 同时写一条餐品操作记录(后台可见):操作标题「配比秤烹饪餐品计算」,记录时长从 X 分钟更新为 Y 分钟
  • cookStart 为空时跳过以上更新,其余原有逻辑(流水、生熟比、累加)不受影响

3. 已提交采样列表(响应新增字段)

POST /nutrition/neglect/ratio-scale/sample-list

响应 data.list[] 新增字段

字段 类型 说明
cookStart string 新增。烹饪开始时间;提交时未传则为 null
cookDuration int 新增。烹饪时长(分钟);提交时未传 cookStart 则为 null

响应示例

{
  "code": "00000",
  "msg": "操作成功",
  "data": {
    "list": [
      {
        "innovId": 1930123456789,
        "innovNo": "INN-H-2026-041",
        "foodName": "低钠宫保鸡丁",
        "foodWeight": 1250.5,
        "cookStart": "2026-09-21 10:30:00",
        "cookDuration": 12,
        "status": 1,
        "statusName": "实验中",
        "createTime": "2026-09-21 10:42:03"
      }
    ],
    "total": 1
  }
}

设备端改动清单

接口 改动
constitute/save 请求新增 cookStart + 调料项 putTime(开始烹饪时记录时间,放调料时记录时间)
cook-orders/complete 字段无变化,确保每次提交回传 cookStartseasonings[].putTime 继续传
sample-list 响应新增 cookDuration,列表可展示「烹饪时长(分钟)」