agent_9art/deploy_cos_tables.sql
jqb 32d9cbc09c feat: 新增腾讯云COS存储支持功能
此提交实现了完整的腾讯云COS存储集成方案:
1. 新增COS配置管理页面与后端接口,支持配置的增改查、连接测试和历史文件批量迁移
2. 新增COS配置实体、Mapper和VO类,完善数据库表结构初始化脚本
3. 改造媒体下载接口,优先返回COS重定向链接,失败则回退本地读取
4. 新增自动上传逻辑,新产生的媒体文件会自动同步到COS
5. 新增未上传COS的历史媒体文件查询接口,支持批量迁移本地存量文件
6. 引入腾讯云COS SDK依赖,添加侧边栏COS配置菜单入口
2026-06-25 09:42:22 +08:00

30 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 映射表';