feat: support merchant team roles and permissions
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
-- 商户自定义员工角色。role code 仅在所属商户内唯一,权限以逗号分隔保存。
|
||||
CREATE TABLE IF NOT EXISTS merchant_roles (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ,
|
||||
updated_at TIMESTAMPTZ,
|
||||
merchant_id BIGINT NOT NULL,
|
||||
code VARCHAR(64) NOT NULL,
|
||||
name VARCHAR(64) NOT NULL,
|
||||
permissions TEXT NOT NULL DEFAULT '',
|
||||
status BIGINT NOT NULL DEFAULT 1
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_merchant_role_code
|
||||
ON merchant_roles (merchant_id, code);
|
||||
CREATE INDEX IF NOT EXISTS idx_merchant_roles_merchant_id
|
||||
ON merchant_roles (merchant_id);
|
||||
@@ -0,0 +1,11 @@
|
||||
-- 为已有商户补齐可编辑的默认团队角色。负责人仍是系统保留角色,不落库。
|
||||
INSERT INTO merchant_roles (merchant_id, code, name, permissions, status)
|
||||
SELECT merchants.id, roles.code, roles.name, roles.permissions, 1
|
||||
FROM merchants
|
||||
CROSS JOIN (
|
||||
VALUES
|
||||
('operator', '运营', 'api:manage,callbacks:manage,orders:manage,products:manage,wallet:view'),
|
||||
('finance', '财务', 'recharge:manage,wallet:ledger,wallet:view'),
|
||||
('support', '客服', 'orders:manage')
|
||||
) AS roles(code, name, permissions)
|
||||
ON CONFLICT (merchant_id, code) DO NOTHING;
|
||||
Reference in New Issue
Block a user