feat(M08-C): 建立管理员房态运营入口

This commit is contained in:
Codex
2026-08-10 10:06:12 +08:00
parent 1160f16e8d
commit b70ada06a8
24 changed files with 699 additions and 15 deletions
@@ -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
);