feat: 初始化 xj-oss-syn 项目
- OSS 文件同步核心功能:扫描业务表、上传文件、回写路径 - 业务文件映射配置表(BIZ_FILE_MAPPING),支持动态管理、启用/禁用、自定义 bizPath - 同步任务异步执行,前端实时轮询进度 - 全局异常过滤器,统一错误日志输出 - 文件日志/任务历史清理接口 - 管理页面:同步管理 + 映射配置 Tab Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
-- ============================================================
|
||||
-- QH_OSS_FILE_LOG 文件转换日志表
|
||||
-- 数据源1(本项目数据库)
|
||||
-- ============================================================
|
||||
CREATE TABLE IF NOT EXISTS `QH_OSS_FILE_LOG` (
|
||||
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID)',
|
||||
`OSS_PATH` VARCHAR(512) DEFAULT NULL COMMENT 'OSS路径(上传成功后填入)',
|
||||
`BIZ_TAB_NAME` VARCHAR(128) NOT NULL COMMENT '业务表名',
|
||||
`BIZ_TAB_ID` VARCHAR(64) NOT NULL COMMENT '业务表主键值',
|
||||
`BIZ_COL_NAME` VARCHAR(128) NOT NULL COMMENT '业务表列名(文件路径字段)',
|
||||
`BIZ_TAB_PATH` VARCHAR(512) DEFAULT NULL COMMENT '业务表中原始文件路径',
|
||||
`BIZ_HANDLE_STATUS` TINYINT NOT NULL DEFAULT 0 COMMENT '处理状态:0=待处理,1=上传成功,2=上传失败,3=文件不存在,4=已回写',
|
||||
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `idx_biz_tab` (`BIZ_TAB_NAME`, `BIZ_TAB_ID`),
|
||||
INDEX `idx_status` (`BIZ_HANDLE_STATUS`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件转换日志表';
|
||||
|
||||
-- ============================================================
|
||||
-- SYNC_TASK 同步任务记录表
|
||||
-- 记录每次触发的同步任务进度,供前端轮询展示
|
||||
-- ============================================================
|
||||
CREATE TABLE IF NOT EXISTS `SYNC_TASK` (
|
||||
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID)',
|
||||
`TASK_TYPE` VARCHAR(32) NOT NULL COMMENT '任务类型:all/scan/upload/write-back',
|
||||
`STATUS` TINYINT NOT NULL DEFAULT 0 COMMENT '0=进行中,1=完成,2=失败',
|
||||
`TOTAL` INT NOT NULL DEFAULT 0 COMMENT '总处理条数',
|
||||
`SUCCESS` INT NOT NULL DEFAULT 0 COMMENT '成功条数',
|
||||
`FAIL` INT NOT NULL DEFAULT 0 COMMENT '失败条数',
|
||||
`MESSAGE` VARCHAR(512) DEFAULT NULL COMMENT '备注/错误信息',
|
||||
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `idx_status` (`STATUS`),
|
||||
INDEX `idx_create_time` (`CREATE_TIME`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='同步任务记录表';
|
||||
|
||||
-- ============================================================
|
||||
-- BIZ_FILE_MAPPING 业务文件映射配置表
|
||||
-- 替代 app.yml 中的 biz-file-mappings 配置,支持动态管理
|
||||
-- ============================================================
|
||||
CREATE TABLE IF NOT EXISTS `BIZ_FILE_MAPPING` (
|
||||
`ID` BIGINT NOT NULL COMMENT '主键(雪花ID)',
|
||||
`DB_NAME` VARCHAR(128) NOT NULL COMMENT '数据库名',
|
||||
`TABLE_NAME` VARCHAR(128) NOT NULL COMMENT '业务表名',
|
||||
`ID_COL` VARCHAR(64) NOT NULL DEFAULT 'id' COMMENT '主键列名',
|
||||
`FILE_COL` VARCHAR(128) NOT NULL COMMENT '文件路径列名',
|
||||
`BIZ_PATH` VARCHAR(128) DEFAULT NULL COMMENT 'OSS上传业务路径(不填则降级用表名)',
|
||||
`ENABLED` TINYINT NOT NULL DEFAULT 0 COMMENT '是否有效:0=无效,1=有效',
|
||||
`REMARK` VARCHAR(256) DEFAULT NULL COMMENT '备注',
|
||||
`CREATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`UPDATE_TIME` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `idx_enabled` (`ENABLED`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务文件映射配置表';
|
||||
Reference in New Issue
Block a user