Files
hfb_sys/backend/migrations/000070_distribution_chat_wallet_isolation.sql
T
yml2213 e024319860 feat(distribution): 分销站点消息中心与钱包提现多租户独立分支隔离
- 新增 000070 数据库迁移:支持 chat_conversations、wallet_accounts、wallet_ledger、withdrawal_requests 按 distribution_site_id 隔离
- 消息中心:会话列表、未读数统计、站点专属客服及订单群聊与主站实现双向完全隔离
- 资金账户与提现:独立按 (user_id, distribution_site_id) 建账,分销订单自动结算至对应分站钱包,提现与流水相互独立
- 前台界面:Axios 自动透传 X-Distribution-Site-Code,钱包、提现与消息页面呈现分站专属标牌与独立说明
2026-09-07 18:11:27 +08:00

42 lines
1.6 KiB
SQL

-- +goose Up
-- 1. chat_conversations 表新增 distribution_site_id
ALTER TABLE chat_conversations
ADD COLUMN distribution_site_id BIGINT UNSIGNED NULL AFTER listing_id,
ADD KEY idx_chat_conversations_distribution_site (distribution_site_id, status);
-- 2. wallet_accounts 表新增 distribution_site_id 并将唯一键变更为 (user_id, distribution_site_id)
ALTER TABLE wallet_accounts
ADD COLUMN distribution_site_id BIGINT UNSIGNED NOT NULL DEFAULT 0 AFTER user_id,
DROP KEY uk_wallet_accounts_user_id,
ADD UNIQUE KEY uk_wallet_accounts_user_site (user_id, distribution_site_id);
-- 3. wallet_ledger 表新增 distribution_site_id 列与联合索引
ALTER TABLE wallet_ledger
ADD COLUMN distribution_site_id BIGINT UNSIGNED NOT NULL DEFAULT 0 AFTER user_id,
ADD KEY idx_wallet_ledger_user_site (user_id, distribution_site_id);
-- 4. withdrawal_requests 表新增 distribution_site_id 列与联合索引
ALTER TABLE withdrawal_requests
ADD COLUMN distribution_site_id BIGINT UNSIGNED NOT NULL DEFAULT 0 AFTER user_id,
ADD KEY idx_withdrawal_user_site (user_id, distribution_site_id);
-- +goose Down
ALTER TABLE withdrawal_requests
DROP KEY idx_withdrawal_user_site,
DROP COLUMN distribution_site_id;
ALTER TABLE wallet_ledger
DROP KEY idx_wallet_ledger_user_site,
DROP COLUMN distribution_site_id;
ALTER TABLE wallet_accounts
DROP KEY uk_wallet_accounts_user_site,
ADD UNIQUE KEY uk_wallet_accounts_user_id (user_id),
DROP COLUMN distribution_site_id;
ALTER TABLE chat_conversations
DROP KEY idx_chat_conversations_distribution_site,
DROP COLUMN distribution_site_id;