-- +goose Up -- 分销后台权限:站点、规则、订单、账号展示、支付通道、结算批次。 INSERT INTO permissions (code, name, resource, action) VALUES ('distribution:site_view', '查看分销网站', 'distribution_site', 'view'), ('distribution:site_manage', '管理分销网站', 'distribution_site', 'manage'), ('distribution:rule_view', '查看分销规则', 'distribution_rule', 'view'), ('distribution:rule_manage', '管理分销规则', 'distribution_rule', 'manage'), ('distribution:order_view', '查看分销订单', 'distribution_order', 'view'), ('distribution:account_view', '查看分销账号展示', 'distribution_account', 'view'), ('distribution:account_display', '管理分销账号展示', 'distribution_account', 'display'), ('distribution:payment_view', '查看分销支付通道', 'distribution_payment', 'view'), ('distribution:payment_manage', '管理分销支付通道', 'distribution_payment', 'manage'), ('distribution:settlement_view', '查看分销结算', 'distribution_settlement', 'view'), ('distribution:settlement_manage', '管理分销结算', 'distribution_settlement', 'manage') ON DUPLICATE KEY UPDATE name = VALUES(name), resource = VALUES(resource), action = VALUES(action); INSERT IGNORE INTO role_permissions (role_id, permission_id) SELECT r.id, p.id FROM roles r JOIN permissions p ON p.code LIKE 'distribution:%' WHERE r.code IN ('super_admin', 'ops', 'finance'); -- +goose Down DELETE rp FROM role_permissions rp JOIN permissions p ON p.id = rp.permission_id WHERE p.code LIKE 'distribution:%'; DELETE FROM permissions WHERE code LIKE 'distribution:%';