feat(M08-C): 建立管理员房态运营入口
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
SELECT COUNT(*) AS expected_columns
|
||||
SELECT column_name
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'qipai_recharge_orders'
|
||||
@@ -10,7 +10,7 @@ WHERE table_schema = DATABASE()
|
||||
'raw_notify'
|
||||
);
|
||||
|
||||
SELECT COUNT(*) AS expected_indexes
|
||||
SELECT index_name
|
||||
FROM information_schema.statistics
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'qipai_recharge_orders'
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
DELETE rp FROM qipai_role_permissions rp
|
||||
INNER JOIN qipai_roles r
|
||||
ON r.tenant_id = rp.tenant_id AND r.id = rp.role_id
|
||||
INNER JOIN qipai_permissions p ON p.id = rp.permission_id
|
||||
WHERE r.code = 'STAFF'
|
||||
AND p.code IN ('profile.read', 'store.operation.read');
|
||||
|
||||
DELETE FROM qipai_schema_migrations
|
||||
WHERE version = '2026081001';
|
||||
@@ -0,0 +1,11 @@
|
||||
INSERT IGNORE INTO qipai_role_permissions (tenant_id, role_id, permission_id)
|
||||
SELECT r.tenant_id, r.id, p.id
|
||||
FROM qipai_roles r
|
||||
INNER JOIN qipai_permissions p
|
||||
ON p.code IN ('profile.read', 'store.operation.read')
|
||||
WHERE r.code = 'STAFF'
|
||||
AND r.status = 'ACTIVE'
|
||||
AND r.deleted_at IS NULL;
|
||||
|
||||
INSERT IGNORE INTO qipai_schema_migrations (version, name)
|
||||
VALUES ('2026081001', 'm08c_staff_management_access');
|
||||
@@ -0,0 +1,19 @@
|
||||
SELECT COUNT(*) AS staff_role_count
|
||||
FROM qipai_roles r
|
||||
WHERE r.code = 'STAFF' AND r.status = 'ACTIVE' AND r.deleted_at IS NULL
|
||||
HAVING COUNT(*) = (
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT granted_role.tenant_id, granted_role.id
|
||||
FROM qipai_roles granted_role
|
||||
INNER JOIN qipai_role_permissions rp
|
||||
ON rp.tenant_id = granted_role.tenant_id AND rp.role_id = granted_role.id
|
||||
INNER JOIN qipai_permissions p ON p.id = rp.permission_id
|
||||
WHERE granted_role.code = 'STAFF'
|
||||
AND granted_role.status = 'ACTIVE'
|
||||
AND granted_role.deleted_at IS NULL
|
||||
AND p.code IN ('profile.read', 'store.operation.read')
|
||||
GROUP BY granted_role.tenant_id, granted_role.id
|
||||
HAVING COUNT(DISTINCT p.code) = 2
|
||||
) fully_granted_staff_roles
|
||||
);
|
||||
Reference in New Issue
Block a user