-- 允许佣金(commission)钱包出现负余额:退款佣金回扣优先于提现, -- 回扣后店铺佣金可能倒欠平台,负余额由回扣流程显式允许。 -- 提现冻结仍受 frozen_balance <= GREATEST(balance, 0) 约束:负余额时不允许冻结新提现。 ALTER TABLE tb_agent_wallet DROP CONSTRAINT chk_agent_wallet_available_balance; ALTER TABLE tb_agent_wallet ADD CONSTRAINT chk_agent_wallet_available_balance CHECK ( (wallet_type = 'main' AND (balance::numeric - frozen_balance::numeric + CASE WHEN credit_enabled THEN credit_limit::numeric ELSE 0::numeric END) >= 0::numeric) OR (wallet_type = 'commission' AND frozen_balance <= GREATEST(balance, 0)) );