008_sa_balance.sql 1.2 KB

12345678910111213141516171819202122232425
  1. -- 超级管理员余额管理
  2. -- 1. super_admin 表新增余额、手机号、预警标记字段
  3. ALTER TABLE domain_monitor.super_admin ADD COLUMN IF NOT EXISTS balance NUMERIC(20,4) DEFAULT 0;
  4. ALTER TABLE domain_monitor.super_admin ADD COLUMN IF NOT EXISTS phone VARCHAR(20);
  5. ALTER TABLE domain_monitor.super_admin ADD COLUMN IF NOT EXISTS balance_warning_sent BOOLEAN DEFAULT FALSE;
  6. ALTER TABLE domain_monitor.super_admin ADD COLUMN IF NOT EXISTS balance_depleted_sent BOOLEAN DEFAULT FALSE;
  7. -- 2. 超管余额变动日志表
  8. CREATE TABLE IF NOT EXISTS domain_monitor.super_admin_balance_log (
  9. id SERIAL PRIMARY KEY,
  10. super_admin_id INTEGER NOT NULL,
  11. change_amount NUMERIC(20,4) NOT NULL,
  12. balance_after NUMERIC(20,4) NOT NULL,
  13. biz_type VARCHAR(50) NOT NULL,
  14. biz_order_no VARCHAR(100),
  15. remark TEXT,
  16. created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
  17. );
  18. CREATE INDEX IF NOT EXISTS idx_sa_balance_log_sa_id
  19. ON domain_monitor.super_admin_balance_log(super_admin_id);
  20. CREATE UNIQUE INDEX IF NOT EXISTS idx_sa_balance_log_unique
  21. ON domain_monitor.super_admin_balance_log(super_admin_id, biz_type, biz_order_no)
  22. WHERE biz_order_no IS NOT NULL;