add:新增同一个工单同一人可以多次拼单:抢单大厅优化

This commit is contained in:
2026-10-24 13:44:34 +08:00
parent f9aeece7ab
commit 25756901cc
10 changed files with 245 additions and 46 deletions
@@ -0,0 +1,13 @@
-- 106_work_order_hall_pinned_index.sql —— 抢单大厅置顶候选集索引。
--
-- 背景:大厅候选集 = FIFO 队首 N 个(idx_work_orders_hall_queue)+ 全部置顶单。
-- 旧实现漏了置顶分支:置顶单排在队列窗口之外时不在候选集里,列表端按 pinned_at
-- 排序仍会展示它,但抢单/拼单复核容量时被判「不可抢/不可拼单」(生产已复现)。
--
-- 置顶单数量由运营手工控制(通常个位数),用部分索引即可避免扫全表:
-- 只索引处于 open 且已置顶的工单 id。
CREATE INDEX IF NOT EXISTS idx_work_orders_hall_pinned
ON work_orders(id)
WHERE status = 'open' AND pinned_at IS NOT NULL;
COMMENT ON INDEX idx_work_orders_hall_pinned IS '抢单大厅置顶候选集:open 且 pinned_at 非空的工单 id';