实现支付商户池与微信授权配置
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 3m55s

新增收款商户、商户池轮询、微信授权配置独立管理;三类新支付
(C端套餐购买、C端资产钱包充值、代理在线预存款充值)无条件
经商户池选择并冻结路由,无旧综合配置回退。merchant_id 为空
历史支付继续按 payment_config_id 双读。凭证版本化加载与
ID+版本缓存保证轮换一致性。删除商户池新支付创建开关及全部
引用。
This commit is contained in:
2026-09-09 18:13:04 +08:00
parent ff25586dc9
commit 98c145fe70
39 changed files with 2718 additions and 415 deletions

View File

@@ -0,0 +1,32 @@
-- 回滚商户池支付路由 Schema。
-- 任一新路由支付、成功累计或新配置事实存在时均禁止破坏性回滚。
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM tb_payment WHERE merchant_id IS NOT NULL OR merchant_pool_id IS NOT NULL)
OR EXISTS (SELECT 1 FROM tb_payment_merchant_routing_success)
OR EXISTS (SELECT 1 FROM tb_payment_merchant)
OR EXISTS (SELECT 1 FROM tb_payment_merchant_pool)
OR EXISTS (SELECT 1 FROM tb_payment_merchant_pool_member)
OR EXISTS (SELECT 1 FROM tb_wechat_authorization) THEN
RAISE EXCEPTION '存在商户池支付路由业务事实,禁止回滚商户池支付路由迁移';
END IF;
END $$;
DROP INDEX IF EXISTS idx_payment_merchant_pool_route;
DROP INDEX IF EXISTS idx_payment_merchant_route;
ALTER TABLE tb_payment
DROP COLUMN IF EXISTS routing_epoch,
DROP COLUMN IF EXISTS routing_strategy_snapshot,
DROP COLUMN IF EXISTS merchant_pool_name_snapshot,
DROP COLUMN IF EXISTS merchant_provider_type_snapshot,
DROP COLUMN IF EXISTS merchant_payment_method_snapshot,
DROP COLUMN IF EXISTS merchant_name_snapshot,
DROP COLUMN IF EXISTS merchant_pool_id,
DROP COLUMN IF EXISTS merchant_id;
DROP TABLE IF EXISTS tb_payment_merchant_routing_success;
DROP TABLE IF EXISTS tb_wechat_authorization;
DROP TABLE IF EXISTS tb_payment_merchant_pool_member;
DROP TABLE IF EXISTS tb_payment_merchant_pool;
DROP TABLE IF EXISTS tb_payment_merchant;