devin/1782350840-backflow-api
main
进销存软件需要把"档案里还没收录的商品"回流到站点,经人工审核后收录。本 PR 新增 POST /api/public/backflow,复用现有 submission 审核队列 + ApproveSubmission 收录逻辑,不改数据库 schema、不影响公众投稿与 bypos 导入。
POST /api/public/backflow
submission
ApproveSubmission
鉴权复用现有公开 API Key(og_live_ 前缀,X-API-Key 或 Authorization: Bearer),按 GTIN 去重,批量入队。
og_live_
X-API-Key
Authorization: Bearer
POST /api/public/backflow Header: X-API-Key: og_live_xxx (或 Authorization: Bearer og_live_xxx) Body: [ SubmissionInput, ... ] // 与公众投稿同结构的数组,<=1000 条
逐条处理(互不影响,坏数据不回滚已入队项),返回汇总 counts + results。每条状态:
queued
exists
duplicate
invalid
APIKeyByHash
CreateBackflowSubmissions
SubmissionInput
SubmissionRow
Source
ListSubmissions
NULLIF(payload->>'source','')
Backflow
审核通过路径不变:管理员在后台审核队列 approve,ApproveSubmission 照常新建/补全商品。
进销存软件可用公开 API Key(og_live_) 批量回流未收录商品,进入现有审核 队列,审核通过后收录。按 GTIN 去重(已收录跳过 exists,已有待审跳过 duplicate),来源标记 source=backflow,在后台队列与公众投稿区分。 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
No dependencies set.
The note is not visible to the blocked user.
Summary
进销存软件需要把"档案里还没收录的商品"回流到站点,经人工审核后收录。本 PR 新增
POST /api/public/backflow,复用现有submission审核队列 +ApproveSubmission收录逻辑,不改数据库 schema、不影响公众投稿与 bypos 导入。鉴权复用现有公开 API Key(
og_live_前缀,X-API-Key或Authorization: Bearer),按 GTIN 去重,批量入队。接口
逐条处理(互不影响,坏数据不回滚已入队项),返回汇总 counts + results。每条状态:
queued— 入队成功,进入现有后台审核队列(pending)exists— 该 GTIN 已是已收录商品,跳过(回流只携带未收录商品)duplicate— 已有同 GTIN 的 pending 提交,跳过(避免自动回流反复刷队列)invalid— 名称为空等实现
APIKeyByHash复用公开 API Key 认证机器调用方;CreateBackflowSubmissions逐条按 GTIN 查 product(exists) -> 查 pending submission(duplicate) -> 否则标记 source="backflow" 写入 submission。SubmissionInput/SubmissionRow增加Source字段;ListSubmissions取NULLIF(payload->>'source',''),后台队列可区分回流/公众投稿(无 schema 变更)。Backflowhandler(API Key 校验 -> 解析数组 -> 调 store -> 返回汇总)。审核通过路径不变:管理员在后台审核队列 approve,
ApproveSubmission照常新建/补全商品。