此提交实现了完整的腾讯云COS存储集成方案: 1. 新增COS配置管理页面与后端接口,支持配置的增改查、连接测试和历史文件批量迁移 2. 新增COS配置实体、Mapper和VO类,完善数据库表结构初始化脚本 3. 改造媒体下载接口,优先返回COS重定向链接,失败则回退本地读取 4. 新增自动上传逻辑,新产生的媒体文件会自动同步到COS 5. 新增未上传COS的历史媒体文件查询接口,支持批量迁移本地存量文件 6. 引入腾讯云COS SDK依赖,添加侧边栏COS配置菜单入口
30 lines
2.0 KiB
SQL
30 lines
2.0 KiB
SQL
CREATE TABLE IF NOT EXISTS `cos_config` (
|
||
`id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',
|
||
`secret_id` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretId',
|
||
`secret_key` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretKey',
|
||
`bucket` VARCHAR(255) NOT NULL COMMENT '存储桶名称',
|
||
`region` VARCHAR(64) NOT NULL COMMENT '地域,如 ap-shanghai',
|
||
`path_prefix` VARCHAR(255) DEFAULT 'archive/media/' COMMENT 'COS 路径前缀',
|
||
`domain` VARCHAR(255) DEFAULT NULL COMMENT '自定义访问域名(可选)',
|
||
`enabled` TINYINT(1) DEFAULT 0 COMMENT '是否启用:0-停用 1-启用',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
INDEX `idx_enabled` (`enabled`) COMMENT '启用状态索引'
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='腾讯云 COS 配置表';
|
||
|
||
CREATE TABLE IF NOT EXISTS `archive_media_files` (
|
||
`id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',
|
||
`msg_id` VARCHAR(255) NOT NULL COMMENT '企微消息 msgid',
|
||
`archive_message_id` BIGINT(20) NOT NULL COMMENT 'archive_messages.id',
|
||
`sdkfileid` VARCHAR(512) DEFAULT NULL COMMENT '企微媒体文件 sdkfileid',
|
||
`cos_url` VARCHAR(1024) NOT NULL COMMENT 'COS 文件访问 URL',
|
||
`file_size` BIGINT(20) DEFAULT 0 COMMENT '文件大小(字节)',
|
||
`file_type` VARCHAR(32) DEFAULT NULL COMMENT '文件类型:image/voice/video/file',
|
||
`status` TINYINT(1) DEFAULT 1 COMMENT '状态:1-有效 0-无效',
|
||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
UNIQUE KEY `uk_archive_msg_id` (`archive_message_id`) COMMENT '消息ID唯一',
|
||
UNIQUE KEY `uk_msg_id` (`msg_id`) COMMENT '企微消息ID唯一',
|
||
INDEX `idx_status` (`status`) COMMENT '状态索引'
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会话存档媒体文件 COS 映射表';
|