feat:拼单明细管理加一个撤份额的功能,指定数量

This commit is contained in:
2026-10-25 13:44:34 +08:00
parent a7a8634a96
commit 9c620d39cb
16 changed files with 627 additions and 3 deletions
@@ -0,0 +1,11 @@
-- 107_work_order_share_cancel_note.sql
-- 目标:后台「拼单明细」列表要能直接看到撤销原因。
-- 1. cancelled_reason 仍保留枚举口径(admin/timeout/worker_request/problem/settlement),
-- 用于状态标签与既有逻辑判断,不塞自由文本;
-- 2. cancel_note 存运营在「单人撤单 / 撤份额」弹窗里填写的原因(选填),只做展示;
-- 3. 未填写时保持空串,列表显示为「-」;历史数据不做回填(原因只存在于事件流里)。
ALTER TABLE work_order_shares
ADD COLUMN IF NOT EXISTS cancel_note TEXT NOT NULL DEFAULT '';
COMMENT ON COLUMN work_order_shares.cancel_note IS '后台撤单/撤份额时填写的原因(自由文本,选填),仅用于展示';
@@ -0,0 +1,12 @@
-- 108_work_order_share_cancel_quantity.sql
-- 目标:拼单明细的「撤销原因」要带上撤销份数(列表显示为「撤 4 份 · 原因」)。
-- 1. cancel_quantity 记录这一份份额被撤掉的份数:
-- - 撤份额:每次累加 reduceQuantity(同一份额多次撤则累计);
-- - 单人撤单:等于撤销时该份额的全部份数;
-- 2. 0 = 从未撤过;超时 / 打手退单 / 问题单处置不写这一列,原因仍由状态标签表达;
-- 3. 不做历史回填:改动前的撤单没有份数记录,列表保持「-」。
ALTER TABLE work_order_shares
ADD COLUMN IF NOT EXISTS cancel_quantity INTEGER NOT NULL DEFAULT 0;
COMMENT ON COLUMN work_order_shares.cancel_quantity IS '被撤掉的份数(撤份额累计 / 单人撤单为整份份数;0 = 未撤过),仅用于展示';