update_20261026_student_pwd_reset_menu.sql 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -- =============================================================================
  2. -- 重置学生密码:菜单 + 按钮权限
  3. -- 日期:2026-10-26
  4. -- 父菜单:学生管理 (1959499382894141441)
  5. -- Web 页面:xg/xsjcxx/studentMsg/studentPwdReset/index
  6. -- 移动端首页入口权限:student:pwdreset:listapp
  7. -- 重置密码固定值(服务端写死):Hzdyjsxs123456!@#
  8. -- 执行:开发/生产库均可幂等执行;执行后给角色勾选菜单或跑下方角色授权段
  9. -- =============================================================================
  10. -- 1. 菜单页(学生管理下级)
  11. INSERT INTO `sys_menu` (
  12. `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`,
  13. `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`,
  14. `create_dept`, `create_by`, `create_time`, `remark`
  15. )
  16. SELECT 2026102610000000101, '重置学生密码', 1959499382894141441, 16, 'studentPwdReset',
  17. 'xg/xsjcxx/studentMsg/studentPwdReset/index', NULL,
  18. 1, 0, 'C', '0', '0', 'studentMsg:studentPwdReset:list', 'password',
  19. 103, 1, NOW(), '按学号查询并重置学生登录密码'
  20. FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `menu_id` = 2026102610000000101);
  21. -- 2. 按钮:查询
  22. INSERT INTO `sys_menu` (
  23. `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`,
  24. `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`,
  25. `create_dept`, `create_by`, `create_time`, `remark`
  26. )
  27. SELECT 2026102610000000102, '查询学生', 2026102610000000101, 1, '#', '', NULL,
  28. 1, 0, 'F', '0', '0', 'studentMsg:studentPwdReset:query', '#',
  29. 103, 1, NOW(), '按学号查询学生信息'
  30. FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `menu_id` = 2026102610000000102);
  31. -- 3. 按钮:重置密码
  32. INSERT INTO `sys_menu` (
  33. `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`,
  34. `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`,
  35. `create_dept`, `create_by`, `create_time`, `remark`
  36. )
  37. SELECT 2026102610000000103, '确认重置', 2026102610000000101, 2, '#', '', NULL,
  38. 1, 0, 'F', '0', '0', 'studentMsg:studentPwdReset:reset', '#',
  39. 103, 1, NOW(), '确认重置学生密码'
  40. FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `menu_id` = 2026102610000000103);
  41. -- 4. 移动端首页入口权限(挂在同一菜单页下,供 hasPermi 控制入口可见)
  42. INSERT INTO `sys_menu` (
  43. `menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`,
  44. `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`,
  45. `create_dept`, `create_by`, `create_time`, `remark`
  46. )
  47. SELECT 2026102610000000104, '重置学生密码(移动端)', 2026102610000000101, 3, '', '', NULL,
  48. 1, 0, 'F', '0', '0', 'student:pwdreset:listapp', '#',
  49. 103, 1, NOW(), '移动端首页入口权限'
  50. FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `menu_id` = 2026102610000000104);
  51. -- 5. 给已有「学生信息」菜单权限的角色补授权(幂等)
  52. INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
  53. SELECT DISTINCT rm.role_id, m.menu_id
  54. FROM `sys_role_menu` rm
  55. CROSS JOIN (
  56. SELECT 2026102610000000101 AS menu_id UNION ALL
  57. SELECT 2026102610000000102 UNION ALL
  58. SELECT 2026102610000000103 UNION ALL
  59. SELECT 2026102610000000104
  60. ) m
  61. WHERE rm.menu_id = 1948289114628902914
  62. AND NOT EXISTS (
  63. SELECT 1 FROM `sys_role_menu` x
  64. WHERE x.role_id = rm.role_id AND x.menu_id = m.menu_id
  65. );
  66. -- 核对
  67. SELECT menu_id, menu_name, parent_id, path, component, perms, menu_type
  68. FROM sys_menu
  69. WHERE menu_id BETWEEN 2026102610000000101 AND 2026102610000000104
  70. ORDER BY menu_id;