853f3c3f5b
教师名册来自开放平台全量同步,只用于检索与选人(教师不建登录账号,ADR-0001), 因此不提供认领类接口,也没有可写字段。 - GET /api/gxmu/teacher/page:学院/教工号/姓名/状态筛选,默认只返回启用 - POST /api/gxmu/teacher/export:导出用列表,带操作日志 - 权限拆成 gxmu:teacher:list 与 gxmu:teacher:export - 手机号按 spec §5.2 落盘但不进任何列表接口,返回前一律清空(hideSensitive) - 菜单与按钮权限见 sql/20260915_add_teacher_roster_menu.sql,可重复执行
51 lines
2.5 KiB
SQL
51 lines
2.5 KiB
SQL
-- ============================================================================
|
|
-- 教师名册:后台菜单与按钮权限
|
|
-- 参见 .scratch/openplat-sync/issues/19-admin-teacher-roster.md
|
|
-- 可重复执行
|
|
--
|
|
-- 说明:后台菜单是动态从 sys_menu 读取的(GET /auth/user -> formatMenus -> addRoute)。
|
|
-- menu_type=1 的记录不生成路由,只作按钮权限。
|
|
-- path 与 component 填相同值,组件按 import.meta.glob('/src/views/**/index.vue') 解析。
|
|
--
|
|
-- 教师名册只是查看(分页 + 导出),没有任何写操作,因此按钮只有查询与导出两个。
|
|
-- ============================================================================
|
|
|
|
-- 菜单:教师名册
|
|
INSERT INTO `sys_menu`
|
|
(`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`,
|
|
`authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`)
|
|
SELECT 14405, 8574, '教师名册', '/gxmu/teacherRoster', '/gxmu/teacherRoster', 0, 106,
|
|
'', 0, 0, 0, '', 10049
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14405);
|
|
|
|
-- 按钮:名册查询
|
|
INSERT INTO `sys_menu`
|
|
(`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`,
|
|
`authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`)
|
|
SELECT 14406, 14405, '名册查询', '', '', 1, 1,
|
|
'gxmu:teacher:list', 0, 0, 0, '', 10049
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14406);
|
|
|
|
-- 按钮:名册导出(泄露风险最高,单独授权)
|
|
INSERT INTO `sys_menu`
|
|
(`menu_id`, `parent_id`, `title`, `path`, `component`, `menu_type`, `sort_number`,
|
|
`authority`, `hide`, `app_id`, `deleted`, `merchant_code`, `tenant_id`)
|
|
SELECT 14407, 14405, '名册导出', '', '', 1, 2,
|
|
'gxmu:teacher:export', 0, 0, 0, '', 10049
|
|
FROM DUAL
|
|
WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` m WHERE m.`menu_id` = 14407);
|
|
|
|
-- ---------------------------------------------------------------------------
|
|
-- 给超级管理员授权(其它角色请按需在后台「角色管理」里勾选)
|
|
-- ---------------------------------------------------------------------------
|
|
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`, `tenant_id`)
|
|
SELECT r.`role_id`, m.`menu_id`, 10049
|
|
FROM `sys_role` r
|
|
JOIN `sys_menu` m ON m.`menu_id` IN (14405, 14406, 14407)
|
|
LEFT JOIN `sys_role_menu` rm ON rm.`role_id` = r.`role_id` AND rm.`menu_id` = m.`menu_id`
|
|
WHERE r.`role_code` = 'superAdmin'
|
|
AND r.`tenant_id` = 10049
|
|
AND rm.`id` IS NULL;
|