Some checks failed
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 5m7s
- 新增 9 张房屋相关数据表(社区/楼宇/房源/价格快照/交易/设施/社区设施/学区/偏好) - 添加菜单权限种子数据并绑定超级管理员角色 - 生成 DAO 层代码和实体对象 - 实现房屋模块 API 接口(社区/房源/看板)和控制器服务层 - 支持多平台软关联匹配、笋盘标记和低可信度标记功能 - 更新超级管理员账号为 xxcool/xxCool@2026 - 调整 RBAC 菜单结构,移除管理员管理功能,新增日志管理菜单 - 修复 RBAC 安全漏洞,确保禁用角色权限失效 - 重构认证模块,将登录相关接口迁移到统一包结构下 - 移除废弃的管理模块和工具类接口定义 - 为通用工具包添加中文注释和文档说明
45 lines
4.2 KiB
Go
45 lines
4.2 KiB
Go
-- 009_menu_rbac_v5.sql
|
||
-- 2026-08-26 RBAC 菜单结构调整(二期):
|
||
-- 1) 系统管理下新增"人员管理"(id=8,组件 system/admin/index,复用管理员接口),按钮 81-85(system:personnel:*,映射原 /admin/* 接口);
|
||
-- 2) 日志管理(id=7)改为目录,下拆"操作日志"(id=71,组件 system/log/index)与"登录日志"(id=72,组件 system/login-log/index);
|
||
-- 原按钮 63(system:log:list)改挂到 71 下;新增 721(system:login-log:list,POST /api/service/admin/system/login-log);
|
||
-- 注意:admin_menu.permission 有唯一索引,菜单行与按钮行权限码必须不同
|
||
-- (操作日志菜单=system:operation-log,查询按钮=system:log:list;登录日志菜单=system:login-log,查询按钮=system:login-log:list)。
|
||
-- 3) 菜单管理(id=4)图标由 mdi:menu-outline 改为 mdi:file-tree-outline(原图标渲染异常);
|
||
-- 4) 超管角色绑定新菜单。
|
||
-- 依赖:先执行 004_seed.sql + 007_menu_permissions_v3.sql + 008_menu_rbac_v4.sql。
|
||
-- 幂等性:INSERT ... ON DUPLICATE KEY UPDATE + UPDATE,可重复执行。
|
||
|
||
-- ============ 1) 人员管理菜单 + 按钮 ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(8, 1, '人员管理', 'mdi:account-outline', 1, 'personnel', 'system/admin/index', 'system:personnel', 4, 1, 0, NOW(), NOW()),
|
||
(81, 8, '查询', '', 2, 'POST /api/service/admin/admin/list', '', 'system:personnel:list', 1, 1, 0, NOW(), NOW()),
|
||
(82, 8, '新增', '', 2, 'POST /api/service/admin/admin/create', '', 'system:personnel:create', 2, 1, 0, NOW(), NOW()),
|
||
(83, 8, '编辑', '', 2, 'POST /api/service/admin/admin/update/{id}', '', 'system:personnel:update', 3, 1, 0, NOW(), NOW()),
|
||
(84, 8, '删除', '', 2, 'POST /api/service/admin/admin/delete/{id}', '', 'system:personnel:delete', 4, 1, 0, NOW(), NOW()),
|
||
(85, 8, '重置密码', '', 2, 'POST /api/service/admin/admin/resetPwd/{id}', '', 'system:personnel:resetPwd', 5, 1, 0, NOW(), NOW())
|
||
ON DUPLICATE KEY UPDATE parent_id=VALUES(parent_id), name=VALUES(name), icon=VALUES(icon), type=VALUES(type),
|
||
path=VALUES(path), component=VALUES(component), permission=VALUES(permission), sort=VALUES(sort), status=VALUES(status), hidden=VALUES(hidden), deleted_at=NULL;
|
||
|
||
-- ============ 2) 日志管理改目录 + 操作日志/登录日志 ============
|
||
UPDATE admin_menu SET path='/log', component='', sort=5, deleted_at=NULL WHERE id=7;
|
||
|
||
-- 操作日志菜单(permission=system:operation-log,与按钮 63 的 system:log:list 区分,避免唯一索引冲突)
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(71, 7, '操作日志', 'mdi:clipboard-text-outline', 1, 'operation', 'system/log/index', 'system:operation-log', 1, 1, 0, NOW(), NOW()),
|
||
(72, 7, '登录日志', 'mdi:login', 1, 'login', 'system/login-log/index', 'system:login-log', 2, 1, 0, NOW(), NOW()),
|
||
(721, 72, '查询', '', 2, 'POST /api/service/admin/system/login-log', '', 'system:login-log:list', 1, 1, 0, NOW(), NOW())
|
||
ON DUPLICATE KEY UPDATE parent_id=VALUES(parent_id), name=VALUES(name), icon=VALUES(icon), type=VALUES(type),
|
||
path=VALUES(path), component=VALUES(component), permission=VALUES(permission), sort=VALUES(sort), status=VALUES(status), hidden=VALUES(hidden), deleted_at=NULL;
|
||
|
||
-- 原按钮 63(system:log:list)恢复为按钮行并挂到操作日志菜单(71)下
|
||
UPDATE admin_menu SET parent_id=71, name='查询', type=2, icon='', path='POST /api/service/admin/system/log',
|
||
component='', permission='system:log:list', sort=1, status=1, hidden=0, deleted_at=NULL WHERE id=63;
|
||
|
||
-- ============ 3) 菜单管理图标修正 ============
|
||
UPDATE admin_menu SET icon='mdi:file-tree-outline' WHERE id=4;
|
||
|
||
-- ============ 4) 超管绑定新菜单 ============
|
||
INSERT IGNORE INTO admin_role_menu (role_id, menu_id, created_at, updated_at)
|
||
SELECT 1, id, NOW(), NOW() FROM admin_menu WHERE id IN (8,81,82,83,84,85,71,72,721);
|