feat:寄卖增加对接客服,db脚本迁移修复

This commit is contained in:
2026-10-27 13:39:48 +08:00
parent 0de0fd7b58
commit 622bd779dd
25 changed files with 1515 additions and 106 deletions
@@ -1,4 +1,4 @@
-- 115_work_order_share_cancel_reason_comment.sql
-- 111_work_order_share_cancel_reason_comment.sql
-- 「取消部分」把被撤销的份额标记为 admin_partial,校准 cancelled_reason 的枚举注释。
-- 纯注释变更,无结构/数据改动;重复执行无副作用。
@@ -0,0 +1,41 @@
-- 112_consignment_contact_supporter.sql
-- 原临时编号 116;108–115 已收敛为 108–111,本补丁顺延为 112。
-- 寄卖「对接客服」独立名单:发布寄卖时必选,后台按人统计提成与快速联系。
-- 该名单不复用 admin_users,避免后台账号变动影响历史寄卖归属。
-- 全部语句幂等,可重复执行。
CREATE TABLE IF NOT EXISTS consignment_contact_supporters (
id BIGSERIAL PRIMARY KEY,
name TEXT NOT NULL,
phone TEXT NOT NULL DEFAULT '',
wechat TEXT NOT NULL DEFAULT '',
note TEXT NOT NULL DEFAULT '',
enabled BOOLEAN NOT NULL DEFAULT TRUE,
sort_order INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- 打手端下拉只取启用项,按 sort_order、id 排序,正好走这条索引
CREATE INDEX IF NOT EXISTS idx_consignment_contact_supporters_order
ON consignment_contact_supporters (enabled, sort_order, id);
ALTER TABLE consignment_submissions
ADD COLUMN IF NOT EXISTS contact_supporter_id BIGINT
REFERENCES consignment_contact_supporters(id) ON DELETE SET NULL;
ALTER TABLE consignment_inventories
ADD COLUMN IF NOT EXISTS contact_supporter_id BIGINT
REFERENCES consignment_contact_supporters(id) ON DELETE SET NULL;
CREATE INDEX IF NOT EXISTS idx_consignment_submissions_contact_supporter
ON consignment_submissions (contact_supporter_id);
CREATE INDEX IF NOT EXISTS idx_consignment_inventories_contact_supporter
ON consignment_inventories (contact_supporter_id);
-- 首次部署给一个可用默认项:打手端「必填 + 默认选第一个」不会因名单为空而无法发布。
-- 后台可直接改名/补充联系方式,不会重复插入。
INSERT INTO consignment_contact_supporters (name, note, sort_order)
SELECT '默认客服', '系统初始化,请在「配置 - 对接客服」中修改', 0
WHERE NOT EXISTS (SELECT 1 FROM consignment_contact_supporters);