| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # -*- coding: utf-8 -*-
- from pathlib import Path
- BASE = Path(__file__).resolve().parent
- ADMIN_SYS_MENU_JOB = (
- "-- =====================================================\n"
- "-- adminUI 总后台 sys_menu:定时任务菜单(归属「系统配置」分组)\n"
- "-- 前提:已执行 admin_menu_init.sql(系统配置 menu_id=2600)\n"
- "-- 可重复执行;固定 menu_id 区间 2613-2620\n"
- "-- =====================================================\n\n"
- "-- 1. 定时任务(页面)\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, icon, visible, status, is_frame, is_cache, perms, create_by, create_time, remark)\n"
- "SELECT 2613, '定时任务', m.menu_id, 13, 'job', 'monitor/job/index', 'C', 'job', '0', '0', 0, 0, 'monitor:job:list', 'admin', NOW(), 'Quartz 调度任务管理'\n"
- "FROM sys_menu m\n"
- "WHERE (m.menu_id = 2600 OR (m.menu_name = '系统配置' AND m.parent_id = 2000))\n"
- " AND NOT EXISTS (SELECT 1 FROM sys_menu x WHERE x.menu_id = 2613);\n\n"
- "-- 2. 调度日志(页面)\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, icon, visible, status, is_frame, is_cache, perms, create_by, create_time, remark)\n"
- "SELECT 2614, '调度日志', m.menu_id, 14, 'jobLog', 'monitor/job/log', 'C', 'log', '0', '0', 0, 0, 'monitor:job:list', 'admin', NOW(), 'Quartz 调度日志'\n"
- "FROM sys_menu m\n"
- "WHERE (m.menu_id = 2600 OR (m.menu_name = '系统配置' AND m.parent_id = 2000))\n"
- " AND NOT EXISTS (SELECT 1 FROM sys_menu x WHERE x.menu_id = 2614);\n\n"
- "-- 3. 按钮权限(挂在定时任务页面下)\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2615, '任务查询', 2613, 1, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:query', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2615);\n\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2616, '任务新增', 2613, 2, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:add', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2616);\n\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2617, '任务修改', 2613, 3, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:edit', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2617);\n\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2618, '任务删除', 2613, 4, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:remove', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2618);\n\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2619, '状态修改', 2613, 5, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:changeStatus', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2619);\n\n"
- "INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, menu_type, visible, status, is_frame, is_cache, perms, create_by, create_time)\n"
- "SELECT 2620, '任务导出', 2613, 6, '#', '', 'F', '0', '0', 0, 0, 'monitor:job:export', 'admin', NOW()\n"
- "FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2620);\n\n"
- "-- 4. 为超级管理员角色(role_id=1)授权;若角色 ID 不同请自行调整\n"
- "INSERT INTO sys_role_menu (role_id, menu_id)\n"
- "SELECT 1, m.menu_id\n"
- "FROM sys_menu m\n"
- "WHERE m.menu_id BETWEEN 2613 AND 2620\n"
- " AND NOT EXISTS (\n"
- " SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id\n"
- " );\n"
- )
- FS_TASK_SYS_JOB_SEED = (
- "-- fs-task 迁移后 sys_job 示例数据(status=0 启用,status=1 暂停)\n"
- "-- invoke_target 须与 fs-task / fs-service 中 Spring Bean 方法一致\n\n"
- "INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)\n"
- "SELECT '租户模块使用统计', 'DEFAULT', 'lobsterBridgeDataSyncService.executeModuleUsageStatistics()', '0 0 2 * * ?', '3', '1', '1', 'admin', NOW(), '原 LobsterBridge @Scheduled,每日凌晨2点'\n"
- "WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'lobsterBridgeDataSyncService.executeModuleUsageStatistics()');\n\n"
- "INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)\n"
- "SELECT '龙虾桥接数据同步', 'DEFAULT', 'lobsterBridgeDataSyncService.syncLobsterBridgeData()', '0 0/10 * * * ?', '3', '1', '1', 'admin', NOW(), '原 fixedDelay 10分钟,用 cron 近似'\n"
- "WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'lobsterBridgeDataSyncService.syncLobsterBridgeData()');\n\n"
- "INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)\n"
- "SELECT '平台统计-每小时', 'DEFAULT', 'platformStatisticsServiceImpl.executeHourlyStats()', '0 0 * * * ?', '3', '1', '1', 'admin', NOW(), '原 fs-service @Scheduled'\n"
- "WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'platformStatisticsServiceImpl.executeHourlyStats()');\n\n"
- "INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)\n"
- "SELECT '平台统计-每日', 'DEFAULT', 'platformStatisticsServiceImpl.executeDailySummary()', '0 0 1 * * ?', '3', '1', '1', 'admin', NOW(), '原 fs-service @Scheduled'\n"
- "WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'platformStatisticsServiceImpl.executeDailySummary()');\n\n"
- "INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)\n"
- "SELECT '聚水潭Token刷新', 'DEFAULT', 'jstTokenService.scheduleTokenRefresh()', '0 0 3 */28 * ?', '3', '1', '1', 'admin', NOW(), '原 fs-service @Scheduled'\n"
- "WHERE NOT EXISTS (SELECT 1 FROM sys_job WHERE invoke_target = 'jstTokenService.scheduleTokenRefresh()');\n"
- )
- def write(name, content):
- path = BASE / name
- path.write_text(content, encoding="utf-8")
- print("OK", path.name)
- if __name__ == "__main__":
- write("admin_sys_menu_job.sql", ADMIN_SYS_MENU_JOB)
- write("fs_task_sys_job_seed.sql", FS_TASK_SYS_JOB_SEED)
|