feat(admin): 新增档案回流接口 POST /api/public/backflow #35
Reference in New Issue
Block a user
Delete Branch "devin/1782350840-backflow-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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照常新建/补全商品。