DATA INTEGRATION · SOLUTION V1.2

智谷天厨食材与菜品同步方案

以只读方式拉取食材目录和菜品配方,由康比特食物成分库计算营养。

只读拉取食材唯一匹配菜品与配方事务写入不接设备控制

智谷天厨食材与菜品同步方案

1. 结论

当前对接不需要管理或控制炒菜机器人,只把智谷天厨作为外部菜品与配方数据源:

厂家食材目录 → 康比特食物成分匹配
厂家菜品及原料重量 → 康比特菜品和配方
康比特食物成分营养值 → 重新计算菜品营养

必接3个只读接口:

  1. GET /openapi/v1/materials/custom
  2. GET /openapi/v1/dishes
  3. GET /openapi/v1/dishes/details/{dishId}

首次初始化可选使用GET /openapi/v1/dishes/details批量拉取完整明细,但不作为常规定时接口。

2. 厂家数据能力判断

厂家食材接口只返回食材ID、编号、名称、描述、图片、单位和公有/私有标识,不包含任何营养素数值。因此厂家数据只能帮助建立“菜品用了什么食材、用了多少克”,不能替代康比特食物成分库。

营养数据继续以ydy_foods_composition为真源。厂家食材未唯一匹配时,对应菜品保持阻断状态,不生成营养值全0或错误匹配的菜品。

3. 系统落点

store PC管理端
  食材匹配、菜品同步状态、失败处理
              ↓
ai_api 智谷天厨只读适配层
  签名、分页、字段解析、幂等和同步日志
              ↓
智谷天厨OpenAPI
  食材列表、菜品列表、菜品明细

前端不持有AccessKey或SecretKey。所有厂家访问由服务端完成。

4. 数据表对应

4.1 复用现有表

用途
ydy_foods_composition 康比特食物成分与营养数据,只读匹配
ydy_dishes 康比特菜品主表,通过现有菜品服务新增/更新
ydy_dish 菜品食材、重量和比例,通过现有菜品服务维护
yoshop_dishes及关联表 继续由现有菜品服务同步,不由适配器直接写

不写ydy_material和库存流水,因为厂家食材目录不是采购库存实物。

4.2 新增表

用途
ydy_tchef_config 厂家环境、调用身份、加密密钥引用和同步配置
ydy_tchef_material_map 厂家食材与ydy_foods_composition匹配关系
ydy_tchef_dish_map 厂家菜品与ydy_dishes关系、基础/明细快照和状态
ydy_tchef_sync_log 同步批次、数量、游标和失败原因

完整字段和唯一键见tchef-interface-scope.mdtchef-interface-business-table-map.csv

5. 同步业务规则

5.1 食材

5.2 菜品

5.3 配方和营养

6. 同步流程

同步食材目录并建立匹配
→ 同步菜品基础列表
→ 找出新增或变化菜品
→ 获取单条菜品明细
→ 解析原料、重量和单位
→ 校验所有食材映射
→ 调用现有菜品服务新增/更新菜品与配方
→ 写同步日志

一个菜品使用一个数据库事务;单个菜品失败不影响其他菜品,但必须保留错误原因。

7. 康比特内部接口

接口 用途
POST /api/tchef/config/test 验证签名和只读访问
POST /api/tchef/sync/materials 同步厂家食材
GET /api/tchef/materials 查询食材匹配状态
POST /api/tchef/materials/match 人工确认食材映射
POST /api/tchef/sync/dishes 同步菜品与配方
GET /api/tchef/dishes 查询同步状态和错误
POST /api/tchef/dishes/bind 决定复用已有菜品或新增
GET /api/tchef/sync/logs 查询同步批次

8. 明确不做

9. 待确认问题

  1. “食物成分”是指厂家食材及菜品配方,还是必须取得营养素数值;当前厂家接口不提供营养素。
  2. 顶层materialListprogramList[].materialList哪一份是最终配方真源,是否重复。
  3. materialNo是否稳定且唯一。
  4. 菜品列表是否支持按更新时间增量拉取。
  5. 厂家停用/删除后,本地菜品采用停用还是只解除映射。
  6. 厂家分类、味型、烹饪方式与康比特字段映射规则。
  7. 签名app_key/app-key和时间戳秒/毫秒仍需厂家Golden Test。

10. 验收标准

11. 证据边界

本方案已按用户最新范围覆盖旧版设备控制方案。当前只完成接口与数据设计,尚未开发、未调用厂家业务接口、未写数据库。