新增数据迁移任务到定时任务白名单;优化默认收货时间范围逻辑

This commit is contained in:
wuweihua
2026-11-11 15:34:11 +08:00
parent f82d9c667f
commit 7869205afc
14 changed files with 1251 additions and 3 deletions
@@ -0,0 +1,85 @@
-- sys_data_migration + menu under tool (parent menu_id=3).
SET NAMES utf8mb4;
CREATE TABLE IF NOT EXISTS sys_data_migration (
migration_id bigint(20) NOT NULL AUTO_INCREMENT,
migration_name varchar(100) NOT NULL COMMENT '脚本名称',
sql_text mediumtext NOT NULL COMMENT 'SQL 文本',
cron_expression varchar(255) DEFAULT NULL COMMENT 'Quartz Cron 表达式',
status char(1) NOT NULL DEFAULT '1' COMMENT '0启用调度 1停用',
job_id bigint(20) DEFAULT NULL COMMENT '关联 sys_job.job_id',
last_run_time datetime DEFAULT NULL COMMENT '最近执行时间',
last_run_status char(1) DEFAULT NULL COMMENT '0成功 1失败',
last_run_message varchar(2000) DEFAULT NULL COMMENT '最近执行信息',
remark varchar(500) DEFAULT NULL,
create_by varchar(64) DEFAULT NULL,
create_time datetime DEFAULT NULL,
update_by varchar(64) DEFAULT NULL,
update_time datetime DEFAULT NULL,
PRIMARY KEY (migration_id),
KEY idx_data_migration_status (status),
KEY idx_data_migration_job (job_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据迁移脚本';
CREATE TABLE IF NOT EXISTS sys_data_migration_log (
log_id bigint(20) NOT NULL AUTO_INCREMENT,
migration_id bigint(20) NOT NULL,
trigger_type varchar(20) NOT NULL COMMENT 'MANUAL/手动 CRON/定时',
start_time datetime DEFAULT NULL,
end_time datetime DEFAULT NULL,
status char(1) DEFAULT NULL COMMENT '0成功 1失败',
affected_rows int(11) DEFAULT 0,
message varchar(2000) DEFAULT NULL,
create_by varchar(64) DEFAULT NULL,
PRIMARY KEY (log_id),
KEY idx_data_migration_log_mig (migration_id, start_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='数据迁移执行日志';
SET @toolParent := (
SELECT menu_id FROM sys_menu
WHERE menu_type = 'M' AND (menu_id = 3 OR path = 'tool')
ORDER BY CASE WHEN menu_id = 3 THEN 0 ELSE 1 END, menu_id
LIMIT 1
);
SET @toolParent := IFNULL(@toolParent, 3);
INSERT INTO sys_menu (
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark
)
SELECT 2490, N'数据迁移', @toolParent, 10,
'migration', 'tool/migration/index', NULL, 'DataMigration',
1, 0, 'C', '0', '0', 'tool:migration:list', 'example', 'admin', sysdate(), N'保存 SQL 并配置 Quartz 定时执行'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2490 OR perms = 'tool:migration:list');
UPDATE sys_menu
SET parent_id = @toolParent, order_num = 10, path = 'migration',
component = 'tool/migration/index', visible = '0', status = '0',
perms = 'tool:migration:list', menu_type = 'C', icon = 'example'
WHERE menu_id = 2490;
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2491, N'查询', 2490, 1, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:query', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2491);
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2492, N'新增', 2490, 2, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:add', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2492);
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2493, N'修改', 2490, 3, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:edit', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2493);
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2494, N'删除', 2490, 4, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:remove', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2494);
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2495, N'立即执行', 2490, 5, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:run', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2495);
INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time)
SELECT 2496, N'执行日志', 2490, 6, '#', '', 1, 0, 'F', '0', '0', 'tool:migration:log', '#', 'admin', sysdate()
FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE menu_id = 2496);
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, m.menu_id
FROM (SELECT 2490 AS menu_id UNION SELECT 2491 UNION SELECT 2492 UNION SELECT 2493
UNION SELECT 2494 UNION SELECT 2495 UNION SELECT 2496) m
WHERE NOT EXISTS (SELECT 1 FROM sys_role_menu rm WHERE rm.role_id = 1 AND rm.menu_id = m.menu_id);