fix(selfop): discover warehouses with bounded validation and optimize queries

This commit is contained in:
2026-10-12 22:22:08 +08:00
parent e42d358e71
commit b71380de31
20 changed files with 419 additions and 53 deletions
@@ -15,6 +15,9 @@ paths:
BACKFILL 单片不超过一天。RETRY 使用 taskNo 和非空 reason 恢复原分仓逻辑任务,
保留半归并屏障及旧尝试,拒绝验证会话复活、账号共享任务伪装单仓、有效执行租约及上游未齐;
requestKey 同键异载荷拒绝。成功受理只表示排队,不表示采集或发布成功。
WAREHOUSE_DISCOVERY 仅允许 VALIDATION,只接受 requestKey/action,不要求已知仓码;
真实账号根最多一页10条、一次HTTP、60秒,读取后SAMPLE_DONE,不进入出库、详情、库存或正式发布。
普通 VALIDATION 冻结命令指定的单仓,每根独立最多300秒/40HTTP,账号预算、冷却与间隔仍共享。
security:
- bearerAuth: []
x-required-authorities:
@@ -39,7 +42,7 @@ paths:
type: object
properties:
taskNo: { type: string }
warehouseCode: { type: string }
warehouseCode: { type: string, nullable: true, description: 目录发现无仓库主体,其他命令为指定仓码 }
status: { type: string, enum: [ACCEPTED] }
'401': { description: 未认证 }
'403': { description: 非平台身份或无独立写权限 }
@@ -49,11 +52,26 @@ components:
schemas:
SyncCommand:
type: object
required: [requestKey, warehouseCode, action]
required: [requestKey, action]
oneOf:
- properties:
action: { type: string, enum: [WAREHOUSE_DISCOVERY] }
not:
anyOf:
- required: [warehouseCode]
- required: [taskNo]
- required: [sourceFrom]
- required: [sourceUntil]
- required: [customerCode]
- required: [deliveryNo]
- required: [reason]
- required: [warehouseCode]
properties:
action: { type: string, enum: [INVENTORY, BACKFILL, RECHECK, REBUILD, RETRY, VALIDATION] }
properties:
requestKey: { type: string, minLength: 1, maxLength: 100 }
warehouseCode: { type: string, minLength: 1, maxLength: 64 }
action: { type: string, enum: [INVENTORY, BACKFILL, RECHECK, REBUILD, RETRY, VALIDATION] }
action: { type: string, enum: [INVENTORY, BACKFILL, RECHECK, REBUILD, RETRY, VALIDATION, WAREHOUSE_DISCOVERY] }
taskNo: { type: string, minLength: 1, maxLength: 64, description: RETRY 必填,原始分仓业务任务号 }
reason: { type: string, minLength: 1, maxLength: 500, description: RETRY 必填,随操作人和原任务审计保存 }
sourceFrom: { type: string, example: '2026-10-11T00:00:00' }