<?php /** * 应用的数据表结构文件 * structure.php * $Author$ */ return " SET NAMES utf8; SET time_zone = '+00:00'; SET foreign_key_checks = 0; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; SET NAMES utf8mb4; CREATE TABLE IF NOT EXISTS `oa_live_cron` ( `lc_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `lm_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '直播活动 ID', `cron_id` char(32) NOT NULL DEFAULT '' COMMENT '计划任务 ID', `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '任务类型 1: 直播前X分钟推送消息 2: 直播开始时 3: 录制任务(腾讯云) 4: 直播聊天室历史记录拉取 5: 结束直播活动 6: 结束直播后 文件转码 7: 获取腾讯云在线人数', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '数据状态(1=新创建;2=已更新;3=已删除)', `created` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(20) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lc_id`), KEY `lm_id` (`lm_id`), KEY `type` (`type`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播计划任务表'; CREATE TABLE IF NOT EXISTS `oa_live_im` ( `li_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播活动 ID', `group_id` char(32) NOT NULL DEFAULT '' COMMENT '聊天室 ID', `domain` varchar(120) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '记录状态, 1初始化,2=已更新, 3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`li_id`), KEY `lm_id` (`lm_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播聊天室表'; CREATE TABLE IF NOT EXISTS `oa_live_im_record` ( `ir_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `time_batch` char(16) NOT NULL DEFAULT '' COMMENT '时间批次 比如: 2018011812', `from_account` char(32) NOT NULL DEFAULT '' COMMENT '发送人 ID', `group_id` char(32) NOT NULL DEFAULT '' COMMENT '聊天室群组 ID', `msg_seq` int(10) NOT NULL DEFAULT '0' COMMENT '顺序', `msg_timestamp` int(10) NOT NULL DEFAULT '0' COMMENT '发送消息时间', `msg_type` char(32) NOT NULL DEFAULT '' COMMENT '消息类型 TIMTextElem(文本消息),TIMFaceElem(表情消息),TIMLocationElem(位置消息),TIMCustomElem(自定义消息)', `msg_content` text NOT NULL COMMENT '消息内容', `domain` char(128) NOT NULL DEFAULT '' COMMENT '企业标识', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`ir_id`), KEY `group_id` (`group_id`), KEY `time_batch` (`time_batch`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='聊天室消息记录表 (数据不指定企业)'; CREATE TABLE IF NOT EXISTS `oa_live_main` ( `lm_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` char(128) NOT NULL DEFAULT '' COMMENT '房间名称', `start_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '开始时间', `end_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '结束时间', `estimated_duration` smallint(5) NOT NULL DEFAULT '0' COMMENT '预计时长 (分)', `desc` text NOT NULL COMMENT '直播简介', `pic` char(32) NOT NULL DEFAULT '' COMMENT '封面图片 ID', `notice_posting` tinyint(1) NOT NULL DEFAULT '2' COMMENT '发布时推送消息提醒 (2: 推送 1: 不推送)', `notice_will_start` smallint(5) NOT NULL DEFAULT '0' COMMENT '直播开始前(分钟)推送消息提醒', `notice_start` tinyint(1) NOT NULL DEFAULT '2' COMMENT '直播开始时推送消息提醒 (2: 推送 1: 不推送)', `recomend` tinyint(1) NOT NULL DEFAULT '2' COMMENT '移动端首页推荐 (2: 推荐 1: 不推荐)', `watched_total` smallint(5) NOT NULL DEFAULT '0' COMMENT '观看总人数', `range_total` smallint(5) NOT NULL DEFAULT '0' COMMENT '可观看总人数', `live_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '直播活动状态 (1: 草稿 2: 已发布 3: 已结束)', `push_total_time` int(10) NOT NULL DEFAULT '0' COMMENT '推流总时长', `online_peak` int(10) NOT NULL DEFAULT '0' COMMENT '同时在线人数峰值 (消耗并发人数)', `end_concurrent_member_number` int(10) NOT NULL DEFAULT '-1' COMMENT '结束时企业还剩余并发人数 (-1 为还未统计)', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lm_id`), KEY `name` (`name`), KEY `start_time` (`start_time`), KEY `live_status` (`live_status`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播主表'; CREATE TABLE IF NOT EXISTS `oa_live_msg_log` ( `ml_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播活动 ID', `obj_id` text NOT NULL COMMENT '消息对象 500 条数据上限 -1 为全公司 或者 人员 ID 以 '','' 拼接', `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '消息类型 1: 直播前X分钟推送消息 2: 发布时推送消息提醒', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`ml_id`), KEY `lm_id` (`lm_id`), KEY `type` (`type`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播消息通知记录表 (防止重复推送)'; CREATE TABLE IF NOT EXISTS `oa_live_participate` ( `lp_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播 ID', `obj_id` char(32) NOT NULL DEFAULT '' COMMENT '对象 (UC)ID', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lp_id`), KEY `lm_id` (`lm_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播参与表'; CREATE TABLE IF NOT EXISTS `oa_live_range` ( `lr_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播 ID', `obj_id` char(32) NOT NULL DEFAULT '' COMMENT '对象 (UC)ID (-1 为所有)', `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '对象类型 (-1: 所有 1: 人员 2: 部门 3: 岗位 4: 角色 5: 标签)', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lr_id`), KEY `lm_id` (`lm_id`), KEY `type` (`type`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播对象范围表'; CREATE TABLE IF NOT EXISTS `oa_live_role` ( `lr_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播 ID', `obj_id` char(32) NOT NULL DEFAULT '' COMMENT '对象 ID', `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '对象类型 (1: 讲师)', `title` char(32) NOT NULL DEFAULT '' COMMENT '头衔', `desc` text NOT NULL COMMENT '简介', `password` char(32) NOT NULL DEFAULT '' COMMENT '密令', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lr_id`), KEY `lm_id` (`lm_id`), KEY `type` (`type`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播角色表'; CREATE TABLE IF NOT EXISTS `oa_live_studio` ( `ls_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播 ID', `stream_id` char(128) NOT NULL DEFAULT '' COMMENT '推流唯一标识', `stream_url` char(128) NOT NULL DEFAULT '' COMMENT '推流 URL', `stream_name` char(128) NOT NULL DEFAULT '' COMMENT '推流名称', `stream_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '直播室状态 0: 禁用 1: 允许推流 2: 断流', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`ls_id`), KEY `lm_id` (`lm_id`), KEY `stream_id` (`stream_id`), KEY `stream_status` (`stream_status`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='腾讯云直播表'; CREATE TABLE IF NOT EXISTS `oa_live_studio_file` ( `sf_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播 ID', `task_id` char(32) NOT NULL DEFAULT '' COMMENT '直播录制任务 ID', `video_id` char(64) NOT NULL DEFAULT '' COMMENT '点播用 vid,在点播平台可以唯一定位一个点播视频文件 ', `video_url` char(128) NOT NULL DEFAULT '' COMMENT '点播视频的下载地址', `file_format` char(8) NOT NULL DEFAULT '' COMMENT '文件格式', `file_id` char(32) NOT NULL DEFAULT '' COMMENT '文件 ID', `file_size` bigint(19) NOT NULL DEFAULT '0' COMMENT '文件大小', `record_file_id` char(32) NOT NULL DEFAULT '' COMMENT '点播 2.0 开启时,才会有这个字段', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`sf_id`), KEY `lm_id` (`lm_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播录制文件消息回调记录表'; CREATE TABLE IF NOT EXISTS `oa_live_studio_log` ( `sl_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `errcode` char(10) NOT NULL DEFAULT '0' COMMENT '断流错误码', `errmsg` char(32) NOT NULL DEFAULT '' COMMENT '断流错误信息', `event_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '消息类型 0: 断流 1: 推流 100: 新的录制文件已生成 200: 新的截图文件已生成', `sequence` char(32) NOT NULL DEFAULT '' COMMENT '消息序列号,标识一次推流活动,一次推流活动会产生相同序列号的推流和断流消息', `stream_id` char(128) NOT NULL DEFAULT '' COMMENT '推流唯一标识', `params_json` text NOT NULL COMMENT '推流消息(所有)内容', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`sl_id`), KEY `stream_id` (`stream_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='腾讯云直播消息回调日志记录表'; CREATE TABLE IF NOT EXISTS `oa_live_studio_stat` ( `ss_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `stream_id` char(128) NOT NULL DEFAULT '' COMMENT '直播码', `bandwidth` int(10) NOT NULL DEFAULT '0' COMMENT '直播流的瞬时带宽占用 (单位:Kbps)', `online` int(10) NOT NULL DEFAULT '0' COMMENT '直播流的瞬时在线人数', `client_ip` char(32) NOT NULL DEFAULT '0.0.0.0' COMMENT '推流客户端 IP', `server_ip` char(32) NOT NULL DEFAULT '0.0.0.0' COMMENT '接流服务器 IP', `fps` int(10) NOT NULL DEFAULT '0' COMMENT '瞬时推流帧率', `speed` int(10) NOT NULL DEFAULT '0' COMMENT '瞬时推流码率 (单位: bps)', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`ss_id`), KEY `stream_id` (`stream_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='直播推流数据瞬时统计表'; CREATE TABLE IF NOT EXISTS `oa_live_syscache` ( `name` varchar(255) CHARACTER SET utf8 NOT NULL COMMENT '缓存文件名', `domain` varchar(120) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '企业域名', `type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '缓存类型, 0:非数组, 1:数组', `data` mediumblob NOT NULL COMMENT '数据', `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '记录状态, 1初始化,2=已更新, 3=已删除', `created` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `oa_live_studio_playback` ( `sp_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `lm_id` int(10) NOT NULL DEFAULT '0' COMMENT '直播活动 ID', `file_id` char(32) NOT NULL DEFAULT '' COMMENT '文件 ID', `number` bigint(13) NOT NULL DEFAULT '0' COMMENT '视频顺序 (这里本质上是没有顺序来源的, 那么用的是视频的落地时间, 理论上先落地的是前面一段视频)', `cover_url` char(250) NOT NULL DEFAULT '' COMMENT '封面', `default` char(128) NOT NULL DEFAULT '' COMMENT '原来的视频地址', `sd` char(128) NOT NULL DEFAULT '' COMMENT '回放地址', `callback_data` text NOT NULL COMMENT 'UC转码回调数据(序列化存储)', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业标识', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`sp_id`), KEY `lm_id` (`lm_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='直播间回放表'; /**---------------------------------迭代新增表--------------------------------------------------**/ CREATE TABLE IF NOT EXISTS `oa_live_vh_msg_log` ( `ml_id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `vh_id` VARCHAR(255) NOT NULL DEFAULT '0' COMMENT '直播活动 ID', `obj_id` TEXT NOT NULL COMMENT '消息对象 500 条数据上限 -1 为全公司 或者 人员 ID 以 '','' 拼接', `type` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '消息类型 1: 直播前X分钟推送消息 2: 发布时推送消息提醒', `domain` CHAR(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` BIGINT(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` BIGINT(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` BIGINT(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`ml_id`), KEY `vh_id` (`vh_id`), KEY `type` (`type`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='微吼直播消息通知记录表 (防止重复推送)'; CREATE TABLE IF NOT EXISTS `oa_live_vhall` ( `lm_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键', `vh_id` char(32) NOT NULL DEFAULT '' COMMENT '微吼直播ID', `teacher_id` char(32) NOT NULL DEFAULT '' COMMENT '讲师ID', `teacher_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '讲师类型 (1: 内部;2: 外部)', `teacher_name` char(32) NOT NULL DEFAULT '' COMMENT '讲师姓名', `teacher_face` varchar(255) NOT NULL DEFAULT '' COMMENT '外部讲师头像', `teacher_desc` text NOT NULL DEFAULT '' COMMENT '主持人简介', `notice_posting` tinyint(1) NOT NULL DEFAULT '2' COMMENT '发布时推送消息提醒 (2: 推送 1: 不推送)', `notice_will_type` tinyint(1) NOT NULL DEFAULT '2' COMMENT '直播开始前分钟数开关是否选中 (2: 是 1: 否)', `notice_will_start` smallint(5) NOT NULL DEFAULT '0' COMMENT '直播开始前(分钟)推送消息提醒', `notice_start` tinyint(1) NOT NULL DEFAULT '2' COMMENT '直播开始时推送消息提醒 (2: 推送 1: 不推送)', `recomend` tinyint(1) NOT NULL DEFAULT '2' COMMENT '移动端首页推荐 (2: 推荐 1: 不推荐)', `notice_will_start_cron_id` char(32) NOT NULL DEFAULT '' COMMENT '直播开始前定时任务ID', `notice_notice_start_cron_id` char(32) NOT NULL DEFAULT '' COMMENT '直播开始时定时任务ID', `domain` char(32) NOT NULL DEFAULT '' COMMENT '企业域名', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态, 1=初始化,2=已更新,3=已删除', `created` bigint(13) NOT NULL DEFAULT '0' COMMENT '创建时间', `updated` bigint(13) NOT NULL DEFAULT '0' COMMENT '更新时间', `deleted` bigint(13) NOT NULL DEFAULT '0' COMMENT '删除时间', PRIMARY KEY (`lm_id`), KEY `vh_id` (`vh_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='微吼直播表'; ";