Files
junhong_cmp_fiber/migrations/000172_add_role_default_credit.up.sql
2026-07-24 16:07:18 +08:00

47 lines
1.9 KiB
PL/PgSQL

BEGIN;
ALTER TABLE tb_role
ADD COLUMN IF NOT EXISTS default_credit_enabled boolean NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS default_credit_limit bigint NOT NULL DEFAULT 0;
COMMENT ON COLUMN tb_role.default_credit_enabled IS '是否启用新建代理默认信用模板;只影响未来新建店铺';
COMMENT ON COLUMN tb_role.default_credit_limit IS '新建代理默认信用额度,单位为分;不追溯修改既有钱包';
ALTER TABLE tb_role
DROP CONSTRAINT IF EXISTS chk_role_default_credit_config,
DROP CONSTRAINT IF EXISTS chk_role_default_credit_scope;
ALTER TABLE tb_role
ADD CONSTRAINT chk_role_default_credit_config CHECK (
(default_credit_enabled = false AND default_credit_limit = 0) OR
(default_credit_enabled = true AND default_credit_limit > 0)
),
ADD CONSTRAINT chk_role_default_credit_scope CHECK (
role_type = 2 OR (default_credit_enabled = false AND default_credit_limit = 0)
);
COMMENT ON CONSTRAINT chk_role_default_credit_config ON tb_role IS '保证角色默认信用开关和额度组合一致';
COMMENT ON CONSTRAINT chk_role_default_credit_scope ON tb_role IS '保证只有客户角色可以保存新建代理默认信用模板';
INSERT INTO tb_permission (
created_at, updated_at, creator, updater,
perm_name, perm_code, perm_type, platform,
available_for_role_types, url, parent_id, sort, status
)
VALUES (
NOW(), NOW(), 0, 0,
'配置角色默认信用', 'role:default-credit:manage', 2, 'web',
'1', '/api/admin/roles/:id/default-credit', NULL, 0, 1
)
ON CONFLICT (perm_code) WHERE deleted_at IS NULL
DO UPDATE SET
perm_name = EXCLUDED.perm_name,
perm_type = EXCLUDED.perm_type,
platform = EXCLUDED.platform,
available_for_role_types = EXCLUDED.available_for_role_types,
url = EXCLUDED.url,
status = EXCLUDED.status,
updated_at = NOW();
COMMIT;