Some checks failed
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 5m7s
- 新增 9 张房屋相关数据表(社区/楼宇/房源/价格快照/交易/设施/社区设施/学区/偏好) - 添加菜单权限种子数据并绑定超级管理员角色 - 生成 DAO 层代码和实体对象 - 实现房屋模块 API 接口(社区/房源/看板)和控制器服务层 - 支持多平台软关联匹配、笋盘标记和低可信度标记功能 - 更新超级管理员账号为 xxcool/xxCool@2026 - 调整 RBAC 菜单结构,移除管理员管理功能,新增日志管理菜单 - 修复 RBAC 安全漏洞,确保禁用角色权限失效 - 重构认证模块,将登录相关接口迁移到统一包结构下 - 移除废弃的管理模块和工具类接口定义 - 为通用工具包添加中文注释和文档说明
59 lines
5.7 KiB
Go
59 lines
5.7 KiB
Go
-- 011_house_menu.sql
|
||
-- 看房系统(House)菜单 + API 权限种子。
|
||
-- 约定:type=1 菜单(component 指向 views/house/xxx/index.vue);type=2 API 权限(path 为完整 "METHOD /api/service/admin/...")。
|
||
-- 依赖:先执行 010_house_tables.sql(建表)+ 已存在 admin_menu/admin_role_menu 结构。
|
||
-- 幂等:INSERT ... ON DUPLICATE KEY UPDATE + INSERT IGNORE,可重复执行。
|
||
|
||
-- ============ 1) 看房中心菜单(type=1) ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(90, 0, '看房中心', 'mdi:home-city', 1, '/house', '', 'house:center', 6, 1, 0, NOW(), NOW()),
|
||
(91, 90, '小区管理', 'mdi:domain', 1, 'community', 'house/community/index', 'house:community', 1, 1, 0, NOW(), NOW()),
|
||
(92, 90, '房源管理', 'mdi:home-search', 1, 'listing', 'house/listing/index', 'house:listing', 2, 1, 0, NOW(), NOW()),
|
||
(93, 90, '数据看板', 'mdi:chart-box', 1, 'dashboard', 'house/dashboard/index', 'house:dashboard', 3, 1, 0, NOW(), NOW()),
|
||
(94, 90, '数据明细', 'mdi:database', 1, 'data', 'house/data/index', 'house:data', 4, 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) 小区管理按钮(type=2) ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(910, 91, '查询', '', 2, 'POST /api/service/admin/house/community/list', '', 'house:community:list', 1, 1, 0, NOW(), NOW()),
|
||
(911, 91, '新增', '', 2, 'POST /api/service/admin/house/community/create', '', 'house:community:create', 2, 1, 0, NOW(), NOW()),
|
||
(912, 91, '编辑', '', 2, 'POST /api/service/admin/house/community/update/{id}', '', 'house:community:update', 3, 1, 0, NOW(), NOW()),
|
||
(913, 91, '删除', '', 2, 'POST /api/service/admin/house/community/delete/{id}', '', 'house:community:delete', 4, 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;
|
||
|
||
-- ============ 3) 房源管理按钮(type=2) ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(920, 92, '查询', '', 2, 'POST /api/service/admin/house/listing/list', '', 'house:listing:list', 1, 1, 0, NOW(), NOW()),
|
||
(921, 92, '新增', '', 2, 'POST /api/service/admin/house/listing/create', '', 'house:listing:create', 2, 1, 0, NOW(), NOW()),
|
||
(922, 92, '编辑', '', 2, 'POST /api/service/admin/house/listing/update/{id}', '', 'house:listing:update', 3, 1, 0, NOW(), NOW()),
|
||
(923, 92, '删除', '', 2, 'POST /api/service/admin/house/listing/delete/{id}', '', 'house:listing:delete', 4, 1, 0, NOW(), NOW()),
|
||
(924, 92, '标记', '', 2, 'POST /api/service/admin/house/listing/batch-mark', '', 'house:listing:batchMark', 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;
|
||
|
||
-- ============ 4) 数据看板按钮(type=2) ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(930, 93, '概览', '', 2, 'POST /api/service/admin/house/dashboard/overview', '', 'house:dashboard:overview', 1, 1, 0, NOW(), NOW()),
|
||
(931, 93, '地图点', '', 2, 'POST /api/service/admin/house/dashboard/map-points', '', 'house:dashboard:mapPoints', 2, 1, 0, NOW(), NOW()),
|
||
(932, 93, '价格趋势', '', 2, 'POST /api/service/admin/house/dashboard/price-trend', '', 'house:dashboard:priceTrend', 3, 1, 0, NOW(), NOW()),
|
||
(933, 93, '区域聚合', '', 2, 'POST /api/service/admin/house/dashboard/aggregate-region', '', 'house:dashboard:aggregateRegion', 4, 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;
|
||
|
||
-- ============ 5) 数据明细按钮(type=2,快照/成交/配套/学区共用 list) ============
|
||
INSERT INTO admin_menu (id, parent_id, name, icon, type, path, component, permission, sort, status, hidden, created_at, updated_at) VALUES
|
||
(940, 94, '查询', '', 2, 'POST /api/service/admin/house/snapshot/list', '', 'house:data: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;
|
||
|
||
-- ============ 6) 超管角色绑定新菜单(role_id=1 超管) ============
|
||
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 (90,91,92,93,94,910,911,912,913,920,921,922,923,924,930,931,932,933,940);
|