1.
该模块用于离线文件信息的增删改查
2. 类与接口
① void getOfflineFile(uint32_t userId, listIM::BaseDefine::OfflineFileInfo& lsOffline)
从mysql IMTransmitFile获取发给userId的离线文件信息,将离线文件信息存入lsOffline
② void addOfflineFile(uint32_t fromId, uint32_t toId, string& taskId, string& fileName, uint32_t fileSize)
向mysql IMTransmitFile添加fromId发给toId的离线文件信息
③ void delOfflineFile(uint32_t fromId, uint32_t toId, string& taskId)
从mysql IMTransmitFile里删除fromId发给toId的离线文件信息
3. test_filegroup.cpp说明
源码ttopen.sql并未创建IMTransmitFile,这里可以参考下面创建该表:
CREATE TABLE `IMTransmitFile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fromId` int(11) unsigned NOT NULL COMMENT '发送者Id',
`toId` int(11) unsigned NOT NULL COMMENT '接收者Id',
`fileName` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '文件名',
`size` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文件大小',
`taskId` varchar(255) COLLATE utf8mb4_bin DEFAULT '' COMMENT '任务Id',
`status` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '状态',
`created` int(11) unsigned NOT NULL COMMENT '创建时间',
`updated` int(11) unsigned NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_fromId_toId` (`fromId`,`toId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
file_server监听两种连接FileClientConn和FileMsgServerConn,该用例使用FileMsgServerConn传输文件
test_addofflinefile模拟记录用户1给用户17发送离线文件tmp.txt
4. 源码
链接:TeamTalk_BlueBling
测试demo:tests/test_filemodel.cpp