merge: 合并 main 到 dev(含订单来源快照与寄售改名同步)

# Conflicts:
#	README.md
#	apps/backend/src/db/migrate.ts
This commit is contained in:
2026-11-12 15:35:42 +08:00
38 changed files with 860 additions and 289 deletions
@@ -332,11 +332,27 @@ test('打手 / 分类 / 工单号 / 创建日期筛选的证伪能力', () => {
}),
)!
// 指派给别的打手 → mismatch
// 指派给别的打手 → mismatch(consignmentWorkerId 明确指向别人,才能证伪)
assert.equal(
evaluateAdminWorkOrderRealtimeMatch(buildSnapshot({ worker: { workerId: 8 } }), filters),
evaluateAdminWorkOrderRealtimeMatch(
buildSnapshot({ worker: { workerId: 8 }, consignmentWorkerId: 8 }),
filters,
),
'mismatch',
)
// 寄售供货人是目标打手 → 命中(内部寄售直接履约没有 assigned_worker_id)
assert.equal(
evaluateAdminWorkOrderRealtimeMatch(
buildSnapshot({ consignmentWorkerId: 7, categoryId: 12 }),
filters,
),
'match',
)
// 旧快照没有 consignmentWorkerId、但有寄售标记 → 无法证伪,只能原地更新,不能删行
assert.equal(
evaluateAdminWorkOrderRealtimeMatch(buildSnapshot({ categoryId: 12 }), filters),
'unknown',
)
// 拼单参与者是目标打手 → 命中(后端 workerId 筛选也认拼单参与者)
assert.equal(
evaluateAdminWorkOrderRealtimeMatch(