first commit
This commit is contained in:
commit
bfc6a73c2f
25
.gitignore
vendored
Normal file
25
.gitignore
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
# Compiled class file
|
||||
*.class
|
||||
target
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
*.iml
|
||||
.idea
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
2
db/20190121_weiyan.sql
Normal file
2
db/20190121_weiyan.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `sys_user`
|
||||
ADD COLUMN `realname` varchar(50) NULL DEFAULT NULL COMMENT '真实姓名' AFTER `user_id`;
|
||||
2
db/20190218_troy.sql
Normal file
2
db/20190218_troy.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `report_date` datetime NULL COMMENT '报道时间';
|
||||
57
db/20190220_tong.sql
Normal file
57
db/20190220_tong.sql
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
DROP TABLE IF EXISTS `live_scene_live_info_record`;
|
||||
CREATE TABLE `live_scene_live_info_record` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`info_id` int(11) DEFAULT NULL COMMENT '流id',
|
||||
`info_name` varchar(128) DEFAULT NULL COMMENT '冗余字段,流名',
|
||||
`domain` varchar(64) DEFAULT NULL COMMENT '域名',
|
||||
`app_name` varchar(64) DEFAULT NULL,
|
||||
`stream_name` varchar(255) DEFAULT NULL,
|
||||
`uri` varchar(128) DEFAULT NULL COMMENT '视频时长',
|
||||
`duration` double DEFAULT NULL COMMENT '视频时长',
|
||||
`start_time` int(11) DEFAULT NULL COMMENT '开始unix时间',
|
||||
`stop_time` int(11) DEFAULT NULL COMMENT '结束unix时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='流录制记录';
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `live_scene_record`;
|
||||
CREATE TABLE `live_scene_record` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场id',
|
||||
`record_name` varchar(128) DEFAULT NULL COMMENT '回顾名称',
|
||||
`uri` varchar(128) DEFAULT NULL COMMENT '视频时长',
|
||||
`duration` double DEFAULT NULL COMMENT '视频时长',
|
||||
`start_time` int(11) DEFAULT NULL COMMENT '开始unix时间',
|
||||
`stop_time` int(11) DEFAULT NULL COMMENT '结束unix时间',
|
||||
`creator_id` int(11) DEFAULT NULL,
|
||||
`create_date` datetime DEFAULT NULL,
|
||||
`last_updator_id` int(11) DEFAULT NULL,
|
||||
`last_update_date` datetime DEFAULT NULL,
|
||||
`record_status` int(11) DEFAULT NULL COMMENT '0:未审核;1:审核显示',
|
||||
`is_delete` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='现场回顾';
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `live_stream_black`;
|
||||
CREATE TABLE `live_stream_black` (
|
||||
`domain` varchar(64) DEFAULT NULL COMMENT '域名',
|
||||
`app_name` varchar(64) DEFAULT NULL,
|
||||
`stream_name` varchar(64) DEFAULT NULL,
|
||||
`time` int(11) DEFAULT NULL COMMENT 'unix 时间戳'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='黑名单流';
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `live_stream_status`;
|
||||
CREATE TABLE `live_stream_status` (
|
||||
`time` int(11) DEFAULT NULL COMMENT 'unix 时间戳',
|
||||
`action` varchar(15) DEFAULT NULL COMMENT 'publish 表示推流,publish_done 表示断流',
|
||||
`app` varchar(64) DEFAULT NULL COMMENT '默认为自定义的推流域名,如果未绑定推流域名即为播放域名',
|
||||
`app_name` varchar(64) DEFAULT NULL COMMENT '应用名称',
|
||||
`stream_name` varchar(64) DEFAULT NULL COMMENT '流名称',
|
||||
`node` varchar(64) DEFAULT NULL COMMENT 'CDN 接受流的节点或者机器名',
|
||||
`IP` varchar(20) DEFAULT NULL COMMENT '推流的客户端 IP',
|
||||
`usrargs` text COMMENT '用户推流的参数'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流状态变更';
|
||||
|
||||
5
db/20190220_zj.sql
Normal file
5
db/20190220_zj.sql
Normal file
@ -0,0 +1,5 @@
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `live_end` datetime NULL COMMENT '直播结束时间' AFTER `caster_id`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `title_image` varchar(255) NULL COMMENT '标题图' AFTER `stream_name`;
|
||||
3
db/20190221_tong.sql
Normal file
3
db/20190221_tong.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `title_image` varchar(255) NULL COMMENT '标题图' AFTER `record_name`;
|
||||
|
||||
8
db/20190222_troy.sql
Normal file
8
db/20190222_troy.sql
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
-- 第三方平台用户评论
|
||||
|
||||
ALTER TABLE `live_comment`
|
||||
ADD COLUMN `head_img` varchar(255) NULL COMMENT '用户头像路径' AFTER `last_update_date`,
|
||||
ADD COLUMN `user_name` varchar(64) NULL COMMENT '用户姓名' AFTER `head_img`;
|
||||
|
||||
3
db/20190225_zj.sql
Normal file
3
db/20190225_zj.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `actual_live_start` datetime NULL COMMENT '实际开始时间' AFTER `live_end`,
|
||||
ADD COLUMN `actual_live_end` datetime NULL COMMENT '实际结束时间' AFTER `actual_live_start`;
|
||||
7
db/20190226_troy.sql
Normal file
7
db/20190226_troy.sql
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
|
||||
-- 现场报道增加报道人姓名
|
||||
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `reporter_name` varchar(64) NULL COMMENT '报道人姓名';
|
||||
|
||||
3
db/20190226_zj.sql
Normal file
3
db/20190226_zj.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `is_default` smallint(6) NULL DEFAULT 0 COMMENT '是否是默认,1:是,0,不是' AFTER `title_image`;
|
||||
|
||||
26
db/20190227_troy.sql
Normal file
26
db/20190227_troy.sql
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
-- 第三方平台
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `tb_user_token` 用户token
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `tb_user_token`;
|
||||
CREATE TABLE `tb_user_token` (
|
||||
`user_id` bigint(20) NOT NULL,
|
||||
`token` varchar(100) NOT NULL COMMENT 'token',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `token` (`token`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='对外用户Token';
|
||||
|
||||
|
||||
ALTER TABLE `tb_user`
|
||||
ADD COLUMN `salt` varchar(20) NULL COMMENT '校验值';
|
||||
|
||||
-- 爱济南客户端账号
|
||||
INSERT INTO `tb_user` VALUES ('4', 'cPrFQdgkKSorIUcE', 'cPrFQdgkKSorIUcE', '6d676f8c231adfd00db65da2eed4d302b325db62cf17def955cf4a630117ecc2', '2019-02-28 09:19:59', 'NvXW8Haya4eHlcb');
|
||||
|
||||
|
||||
|
||||
2
db/20190227_zj.sql
Normal file
2
db/20190227_zj.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `is_show` smallint(6) NULL DEFAULT 0 COMMENT '是否显示,0:不显示,1:显示' AFTER `is_default`;
|
||||
6
db/20190307_troy.sql
Normal file
6
db/20190307_troy.sql
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `live_scene` 现场允许评论设置
|
||||
-- ----------------------------
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `allow_comment` smallint NULL DEFAULT 1 COMMENT '允许评论';
|
||||
43
db/20190311_zxy_sensitive_word.sql
Normal file
43
db/20190311_zxy_sensitive_word.sql
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : DB
|
||||
Source Server Version : 80011
|
||||
Source Host : localhost:3306
|
||||
Source Database : aijinan
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 80011
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2019-03-11 17:48:09
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sensitive_stop_word
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sensitive_stop_word`;
|
||||
CREATE TABLE `sensitive_stop_word` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '停顿符id',
|
||||
`stop_word` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '停顿符',
|
||||
`create_by` bigint(20) NOT NULL COMMENT '创建者id',
|
||||
`create_time` timestamp NOT NULL COMMENT '创建时间',
|
||||
`is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除,默认为0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='敏感停顿符';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sensitive_word
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sensitive_word`;
|
||||
CREATE TABLE `sensitive_word` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
|
||||
`sensitive_word` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '敏感词',
|
||||
`replace_word` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '替换词',
|
||||
`create_by` bigint(20) NOT NULL COMMENT '创建者id',
|
||||
`create_time` timestamp NOT NULL COMMENT '创建时间',
|
||||
`is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除,默认为0,不删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='敏感词';
|
||||
15
db/20190313_tong.sql
Normal file
15
db/20190313_tong.sql
Normal file
@ -0,0 +1,15 @@
|
||||
DROP TABLE IF EXISTS `live_caster`;
|
||||
CREATE TABLE `live_caster` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`caster_id` varchar(64) DEFAULT NULL COMMENT '导播台Id',
|
||||
`caster_name` varchar(255) DEFAULT NULL COMMENT '导播台名称',
|
||||
`norm_type` smallint(6) DEFAULT NULL COMMENT '导播台规格类型',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '导播台启动时间',
|
||||
`data_state` smallint(6) DEFAULT NULL COMMENT '数据状态',
|
||||
`app_name` varchar(64) DEFAULT NULL COMMENT 'app名称',
|
||||
`stream_name` varchar(64) DEFAULT NULL COMMENT '原画流名称',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`is_delete` smallint(1) DEFAULT NULL COMMENT '导播台状态',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='导播台信息表';
|
||||
17
db/20190315_tong.sql
Normal file
17
db/20190315_tong.sql
Normal file
@ -0,0 +1,17 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `media_id` int NULL COMMENT '素材id' AFTER `priority`;
|
||||
|
||||
DROP TABLE IF EXISTS `live_stream_record_task`;
|
||||
CREATE TABLE `live_stream_record_task` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`video_id` varchar(32) DEFAULT NULL COMMENT '视频id',
|
||||
`domain_name` varchar(64) DEFAULT NULL COMMENT '域名',
|
||||
`app_name` varchar(32) DEFAULT NULL COMMENT 'app名称',
|
||||
`stream_name` varchar(32) DEFAULT NULL COMMENT '流名称',
|
||||
`record_start_time` datetime DEFAULT NULL COMMENT '录制开始时间',
|
||||
`record_end_time` datetime DEFAULT NULL COMMENT '录制结束时间',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '转码开始时间',
|
||||
`end_time` datetime DEFAULT NULL COMMENT '转码结束时间',
|
||||
`is_ok` smallint(1) DEFAULT NULL COMMENT '是否转码成功',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
5
db/20190318_tong.sql
Normal file
5
db/20190318_tong.sql
Normal file
@ -0,0 +1,5 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
MODIFY COLUMN `uri` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频时长' AFTER `title_image`;
|
||||
|
||||
ALTER TABLE `live_caster`
|
||||
ADD COLUMN `template_ids` varchar(64) NULL COMMENT '转码设置' AFTER `is_delete`;
|
||||
4
db/20190411_tong.sql
Normal file
4
db/20190411_tong.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `live_scene`
|
||||
MODIFY COLUMN `live_desc` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '现场简介' AFTER `title_image`,
|
||||
MODIFY COLUMN `scene_mark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '现场备注' AFTER `live_state`;
|
||||
|
||||
376
db/20190412_troy.sql
Normal file
376
db/20190412_troy.sql
Normal file
@ -0,0 +1,376 @@
|
||||
|
||||
/*
|
||||
角色菜单索引处理
|
||||
*/
|
||||
ALTER TABLE `sys_role_menu`
|
||||
ADD INDEX `SYS_ROLE_MENU_ROLE_ID` (`role_id`, `menu_id`) ;
|
||||
|
||||
/*
|
||||
菜单数据管理
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
-- ----------------------------
|
||||
-- Table structure for `sys_menu`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_menu`;
|
||||
CREATE TABLE `sys_menu` (
|
||||
`menu_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` bigint(20) DEFAULT NULL COMMENT '父菜单ID,一级菜单为0',
|
||||
`name` varchar(50) DEFAULT NULL COMMENT '菜单名称',
|
||||
`url` varchar(200) DEFAULT NULL COMMENT '菜单URL',
|
||||
`perms` varchar(1000) DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
|
||||
`type` int(11) DEFAULT NULL COMMENT '类型 0:目录 1:菜单 2:按钮',
|
||||
`icon` varchar(50) DEFAULT NULL COMMENT '菜单图标',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序',
|
||||
PRIMARY KEY (`menu_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8 COMMENT='菜单管理';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_menu` VALUES ('1', '0', '系统管理', null, null, '0', 'setting', '6');
|
||||
INSERT INTO `sys_menu` VALUES ('2', '1', '管理员列表', '/n/user', null, '1', 'fa fa-user', '1');
|
||||
INSERT INTO `sys_menu` VALUES ('3', '1', '角色管理', '/n/role', null, '1', 'fa fa-user-secret', '2');
|
||||
INSERT INTO `sys_menu` VALUES ('4', '1', '菜单管理', '/n/menu', null, '1', 'fa fa-th-list', '3');
|
||||
INSERT INTO `sys_menu` VALUES ('15', '2', '查看', null, 'sys:user:list,sys:user:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('16', '2', '新增', null, 'sys:user:save,sys:role:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('17', '2', '修改', null, 'sys:user:update,sys:role:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('18', '2', '删除', null, 'sys:user:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('19', '3', '查看', null, 'sys:role:list,sys:role:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('20', '3', '新增', null, 'sys:role:save,sys:menu:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('21', '3', '修改', null, 'sys:role:update,sys:menu:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('22', '3', '删除', null, 'sys:role:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('23', '4', '查看', null, 'sys:menu:list,sys:menu:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('24', '4', '新增', null, 'sys:menu:save,sys:menu:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('25', '4', '修改', null, 'sys:menu:update,sys:menu:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('26', '4', '删除', null, 'sys:menu:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('29', '1', '系统日志', '/n/log', 'sys:log:list', '1', 'fa fa-file-text-o', '4');
|
||||
INSERT INTO `sys_menu` VALUES ('77', '0', '现场管理', null, null, '0', 'video_resource', '1');
|
||||
INSERT INTO `sys_menu` VALUES ('78', '77', '我的现场', '/v/myscene', 'live:livescene:page,live:livescene:info,live:livescene:save,live:livescene:update,live:livescene:submit,live:livescene:delete,live:livescene:index:rebuild', '1', null, '1');
|
||||
INSERT INTO `sys_menu` VALUES ('79', '77', '现场审核', '/v/reviewscene', 'live:livescene:page', '1', null, '2');
|
||||
INSERT INTO `sys_menu` VALUES ('80', '77', '成品现场', '/v/finishscene', 'modules/scene/finishScene.html\', \'live:livescene:page,live:livescene:info,live:livescene:caster,live:livescene:direct,live:livescene:stream:list,live:livescene:update,live:livescene:delete,live:livescene:stream:createOrUpdate,live:livescene:stream:delete,live:livescene:stream:create,live:livescene:stream:update,live:livescene:stream:info,live:livescene:stream:reporters,live:livescenerecord:page,live:livescenerecord:info,live:livescenerecord:update,live:livescenerecord:delete,live:livescene:startLive,live:livescene:stopLive,live:livescene:stream:streamDefault,live:livescene:streamPlay,live:livescenerecord:save,live:livescene:streamShow,live:livescene:index:rebuild,live:caster:all', '1', null, '3');
|
||||
INSERT INTO `sys_menu` VALUES ('81', '0', '素材库', '/r/library', null, '1', 'video_release', '2');
|
||||
INSERT INTO `sys_menu` VALUES ('82', '0', '在线剪辑', '/c/qkvideo', null, '1', 'spread', '3');
|
||||
INSERT INTO `sys_menu` VALUES ('89', '1', '敏感词管理', '/n/word', 'sensitive:word:list,sensitive:word:save,sensitive:word:info,sensitive:word:update,sensitive:word:delete,sensitive:word:replace,sensitive:stopword:list,sensitive:stopword:info,sensitive:stopword:save,sensitive:stopword:update,sensitive:stopword:delete', '1', null, '5');
|
||||
INSERT INTO `sys_menu` VALUES ('91', '79', 'app现场审核', null, 'app:live:scene:page,app:live:scene:check', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('93', '0', '考核管理', '/n/Assess', null, '1', 'left_assess', '4');
|
||||
INSERT INTO `sys_menu` VALUES ('94', '0', '接口管理', '/n/InterfaceTimedTask', null, '1', 'left_interface', '5');
|
||||
INSERT INTO `sys_menu` VALUES ('95', '77', '现场回收站', '/v/cyclescene', null, '1', null, '4');
|
||||
INSERT INTO `sys_menu` VALUES ('96', '1', '栏目管理', '/n/channel', null, '1', null, '6');
|
||||
INSERT INTO `sys_menu` VALUES ('97', '78', '新建现场', null, 'live:livescene:save,live:livescene:channels', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('98', '78', '现场查询', null, 'live:livescene:page', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('99', '78', '现场修改', null, 'live:livescene:update,live:livescene:channels', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('100', '78', '现场详情', null, 'live:livescene:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('101', '78', '现场送审', null, 'live:livescene:submit', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('102', '79', '现场查询', null, 'live:livescene:page', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('103', '79', '现场修改', null, 'live:livescene:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('104', '79', '现场详情', null, 'live:livescene:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('105', '79', '现场审核', null, 'live:livescene:check', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('106', '79', '现场删除', null, 'live:livescene:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('107', '78', '现场删除', null, 'live:livescene:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('108', '80', '现场删除', null, 'live:livescene:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('109', '80', '现场详情', null, 'live:livescene:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('110', '80', '现场修改', null, 'live:livescene:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('111', '80', '流管理-列表', null, 'live:livescene:stream:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('112', '80', '流管理-创建', null, 'live:livescene:stream:create', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('113', '80', '流管理-更新', null, 'live:livescene:stream:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('114', '80', '流管理-详情', null, 'live:livescene:stream:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('115', '80', '流管理-删除', null, 'live:livescene:stream:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('116', '80', '流管理-记者列表', null, 'live:livescene:stream:reporters', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('117', '80', '流管理-显示/不显示', null, 'live:livescene:streamShow', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('118', '80', '回顾-列表', null, 'live:livescenerecord:page', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('119', '80', '回顾-详情', null, 'live:livescenerecord:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('120', '80', '回顾-创建', null, 'live:livescenerecord:save', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('121', '80', '回顾-修改', null, 'live:livescenerecord:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('122', '80', '回顾-删除', null, 'live:livescenerecord:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('123', '80', '回顾-排序', null, 'live:livescenerecord:priority', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('124', '80', '报道-列表', null, 'live:report:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('125', '80', '报道-详情', null, 'live:report:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('126', '80', '报道-创建', null, 'live:report:save', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('127', '80', '报道-修改', null, 'live:report:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('128', '80', '报道-删除', null, 'live:report:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('129', '80', '报道-发布', null, 'live:report:release', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('130', '80', '报道-取消发布', null, 'live:report:cancelRelease', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('131', '80', '报道-置顶', null, 'live:report:top', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('132', '80', '报道-取消置顶', null, 'live:report:cancelTop', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('133', '80', '报道-排序', null, 'live:report:priority', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('134', '80', '评论-列表', null, 'live:comment:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('135', '80', '评论-详情', null, 'live:comment:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('136', '80', '评论-创建', null, 'live:comment:save', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('137', '80', '评论-修改', null, 'live:comment:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('138', '80', '评论-删除', null, 'live:comment:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('139', '80', '评论-发布', null, 'live:comment:release', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('140', '80', '评论-取消发布', null, 'live:comment:cancelRelease', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('141', '80', '评论-app审核', null, 'app:live:scene:comment:check', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('142', '95', '列表', null, 'live:livescene:page', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('143', '95', '详情', null, 'live:livescene:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('144', '95', '还原', null, 'live:livescene:cycle:recycle', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('145', '95', '删除', null, 'live:livescene:cycle:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('146', '81', '列表', null, 'live:multimedia:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('147', '81', '详情', null, 'live:multimedia:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('148', '81', '上传', null, 'live:multimedia:save', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('149', '81', '修改', null, 'live:multimedia:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('150', '81', '删除', null, 'live:multimedia:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('151', '0', '首页', '/home', null, '1', 'home', '0');
|
||||
INSERT INTO `sys_menu` VALUES ('152', '96', '查看', null, 'live:channel:list,live:channel:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('153', '96', '新增', null, 'live:channel:save', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('154', '96', '修改', null, 'live:channel:update,live:channel:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('155', '96', '删除', null, 'live:channel:list,live:channel:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('156', '96', '批量显示', null, 'live:channel:list,live:channel:display', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('157', '96', '取消显示', null, 'live:channel:list,live:channel:cancelDisplay', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('158', '96', '排序', null, 'live:channel:list,live:channel:priority', '2', null, '0');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `sys_role_menu`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_role_menu`;
|
||||
CREATE TABLE `sys_role_menu` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
|
||||
`menu_id` bigint(20) DEFAULT NULL COMMENT '菜单ID',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `SYS_ROLE_MENU_ROLE_ID` (`role_id`,`menu_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1204 DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_role_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_role_menu` VALUES ('822', '1', '1');
|
||||
INSERT INTO `sys_role_menu` VALUES ('823', '1', '2');
|
||||
INSERT INTO `sys_role_menu` VALUES ('828', '1', '3');
|
||||
INSERT INTO `sys_role_menu` VALUES ('833', '1', '4');
|
||||
INSERT INTO `sys_role_menu` VALUES ('824', '1', '15');
|
||||
INSERT INTO `sys_role_menu` VALUES ('825', '1', '16');
|
||||
INSERT INTO `sys_role_menu` VALUES ('826', '1', '17');
|
||||
INSERT INTO `sys_role_menu` VALUES ('827', '1', '18');
|
||||
INSERT INTO `sys_role_menu` VALUES ('829', '1', '19');
|
||||
INSERT INTO `sys_role_menu` VALUES ('830', '1', '20');
|
||||
INSERT INTO `sys_role_menu` VALUES ('831', '1', '21');
|
||||
INSERT INTO `sys_role_menu` VALUES ('832', '1', '22');
|
||||
INSERT INTO `sys_role_menu` VALUES ('834', '1', '23');
|
||||
INSERT INTO `sys_role_menu` VALUES ('835', '1', '24');
|
||||
INSERT INTO `sys_role_menu` VALUES ('836', '1', '25');
|
||||
INSERT INTO `sys_role_menu` VALUES ('837', '1', '26');
|
||||
INSERT INTO `sys_role_menu` VALUES ('838', '1', '29');
|
||||
INSERT INTO `sys_role_menu` VALUES ('760', '1', '77');
|
||||
INSERT INTO `sys_role_menu` VALUES ('761', '1', '78');
|
||||
INSERT INTO `sys_role_menu` VALUES ('768', '1', '79');
|
||||
INSERT INTO `sys_role_menu` VALUES ('775', '1', '80');
|
||||
INSERT INTO `sys_role_menu` VALUES ('815', '1', '81');
|
||||
INSERT INTO `sys_role_menu` VALUES ('821', '1', '82');
|
||||
INSERT INTO `sys_role_menu` VALUES ('839', '1', '89');
|
||||
INSERT INTO `sys_role_menu` VALUES ('769', '1', '91');
|
||||
INSERT INTO `sys_role_menu` VALUES ('810', '1', '95');
|
||||
INSERT INTO `sys_role_menu` VALUES ('840', '1', '96');
|
||||
INSERT INTO `sys_role_menu` VALUES ('762', '1', '97');
|
||||
INSERT INTO `sys_role_menu` VALUES ('763', '1', '98');
|
||||
INSERT INTO `sys_role_menu` VALUES ('764', '1', '99');
|
||||
INSERT INTO `sys_role_menu` VALUES ('765', '1', '100');
|
||||
INSERT INTO `sys_role_menu` VALUES ('766', '1', '101');
|
||||
INSERT INTO `sys_role_menu` VALUES ('770', '1', '102');
|
||||
INSERT INTO `sys_role_menu` VALUES ('771', '1', '103');
|
||||
INSERT INTO `sys_role_menu` VALUES ('772', '1', '104');
|
||||
INSERT INTO `sys_role_menu` VALUES ('773', '1', '105');
|
||||
INSERT INTO `sys_role_menu` VALUES ('774', '1', '106');
|
||||
INSERT INTO `sys_role_menu` VALUES ('767', '1', '107');
|
||||
INSERT INTO `sys_role_menu` VALUES ('776', '1', '108');
|
||||
INSERT INTO `sys_role_menu` VALUES ('777', '1', '109');
|
||||
INSERT INTO `sys_role_menu` VALUES ('778', '1', '110');
|
||||
INSERT INTO `sys_role_menu` VALUES ('779', '1', '111');
|
||||
INSERT INTO `sys_role_menu` VALUES ('780', '1', '112');
|
||||
INSERT INTO `sys_role_menu` VALUES ('781', '1', '113');
|
||||
INSERT INTO `sys_role_menu` VALUES ('782', '1', '114');
|
||||
INSERT INTO `sys_role_menu` VALUES ('783', '1', '115');
|
||||
INSERT INTO `sys_role_menu` VALUES ('784', '1', '116');
|
||||
INSERT INTO `sys_role_menu` VALUES ('785', '1', '117');
|
||||
INSERT INTO `sys_role_menu` VALUES ('786', '1', '118');
|
||||
INSERT INTO `sys_role_menu` VALUES ('787', '1', '119');
|
||||
INSERT INTO `sys_role_menu` VALUES ('788', '1', '120');
|
||||
INSERT INTO `sys_role_menu` VALUES ('789', '1', '121');
|
||||
INSERT INTO `sys_role_menu` VALUES ('790', '1', '122');
|
||||
INSERT INTO `sys_role_menu` VALUES ('791', '1', '123');
|
||||
INSERT INTO `sys_role_menu` VALUES ('792', '1', '124');
|
||||
INSERT INTO `sys_role_menu` VALUES ('793', '1', '125');
|
||||
INSERT INTO `sys_role_menu` VALUES ('794', '1', '126');
|
||||
INSERT INTO `sys_role_menu` VALUES ('795', '1', '127');
|
||||
INSERT INTO `sys_role_menu` VALUES ('796', '1', '128');
|
||||
INSERT INTO `sys_role_menu` VALUES ('797', '1', '129');
|
||||
INSERT INTO `sys_role_menu` VALUES ('798', '1', '130');
|
||||
INSERT INTO `sys_role_menu` VALUES ('799', '1', '131');
|
||||
INSERT INTO `sys_role_menu` VALUES ('800', '1', '132');
|
||||
INSERT INTO `sys_role_menu` VALUES ('801', '1', '133');
|
||||
INSERT INTO `sys_role_menu` VALUES ('802', '1', '134');
|
||||
INSERT INTO `sys_role_menu` VALUES ('803', '1', '135');
|
||||
INSERT INTO `sys_role_menu` VALUES ('804', '1', '136');
|
||||
INSERT INTO `sys_role_menu` VALUES ('805', '1', '137');
|
||||
INSERT INTO `sys_role_menu` VALUES ('806', '1', '138');
|
||||
INSERT INTO `sys_role_menu` VALUES ('807', '1', '139');
|
||||
INSERT INTO `sys_role_menu` VALUES ('808', '1', '140');
|
||||
INSERT INTO `sys_role_menu` VALUES ('809', '1', '141');
|
||||
INSERT INTO `sys_role_menu` VALUES ('811', '1', '142');
|
||||
INSERT INTO `sys_role_menu` VALUES ('812', '1', '143');
|
||||
INSERT INTO `sys_role_menu` VALUES ('813', '1', '144');
|
||||
INSERT INTO `sys_role_menu` VALUES ('814', '1', '145');
|
||||
INSERT INTO `sys_role_menu` VALUES ('816', '1', '146');
|
||||
INSERT INTO `sys_role_menu` VALUES ('817', '1', '147');
|
||||
INSERT INTO `sys_role_menu` VALUES ('818', '1', '148');
|
||||
INSERT INTO `sys_role_menu` VALUES ('819', '1', '149');
|
||||
INSERT INTO `sys_role_menu` VALUES ('820', '1', '150');
|
||||
INSERT INTO `sys_role_menu` VALUES ('759', '1', '151');
|
||||
INSERT INTO `sys_role_menu` VALUES ('841', '1', '152');
|
||||
INSERT INTO `sys_role_menu` VALUES ('842', '1', '153');
|
||||
INSERT INTO `sys_role_menu` VALUES ('843', '1', '154');
|
||||
INSERT INTO `sys_role_menu` VALUES ('844', '1', '155');
|
||||
INSERT INTO `sys_role_menu` VALUES ('845', '1', '156');
|
||||
INSERT INTO `sys_role_menu` VALUES ('846', '1', '157');
|
||||
INSERT INTO `sys_role_menu` VALUES ('847', '1', '158');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1138', '2', '78');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1146', '2', '80');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1186', '2', '81');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1192', '2', '82');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1195', '2', '89');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1193', '2', '93');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1194', '2', '94');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1181', '2', '95');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1196', '2', '96');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1139', '2', '97');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1140', '2', '98');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1141', '2', '99');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1142', '2', '100');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1143', '2', '101');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1145', '2', '102');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1144', '2', '107');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1147', '2', '108');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1148', '2', '109');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1149', '2', '110');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1150', '2', '111');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1151', '2', '112');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1152', '2', '113');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1153', '2', '114');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1154', '2', '115');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1155', '2', '116');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1156', '2', '117');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1157', '2', '118');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1158', '2', '119');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1159', '2', '120');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1160', '2', '121');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1161', '2', '122');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1162', '2', '123');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1163', '2', '124');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1164', '2', '125');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1165', '2', '126');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1166', '2', '127');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1167', '2', '128');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1168', '2', '129');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1169', '2', '130');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1170', '2', '131');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1171', '2', '132');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1172', '2', '133');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1173', '2', '134');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1174', '2', '135');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1175', '2', '136');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1176', '2', '137');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1177', '2', '138');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1178', '2', '139');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1179', '2', '140');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1180', '2', '141');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1182', '2', '142');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1183', '2', '143');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1184', '2', '144');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1185', '2', '145');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1187', '2', '146');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1188', '2', '147');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1189', '2', '148');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1190', '2', '149');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1191', '2', '150');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1137', '2', '151');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1197', '2', '152');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1198', '2', '153');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1199', '2', '154');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1200', '2', '155');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1201', '2', '156');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1202', '2', '157');
|
||||
INSERT INTO `sys_role_menu` VALUES ('1203', '2', '158');
|
||||
INSERT INTO `sys_role_menu` VALUES ('849', '3', '77');
|
||||
INSERT INTO `sys_role_menu` VALUES ('850', '3', '78');
|
||||
INSERT INTO `sys_role_menu` VALUES ('857', '3', '79');
|
||||
INSERT INTO `sys_role_menu` VALUES ('864', '3', '80');
|
||||
INSERT INTO `sys_role_menu` VALUES ('904', '3', '81');
|
||||
INSERT INTO `sys_role_menu` VALUES ('910', '3', '82');
|
||||
INSERT INTO `sys_role_menu` VALUES ('913', '3', '89');
|
||||
INSERT INTO `sys_role_menu` VALUES ('858', '3', '91');
|
||||
INSERT INTO `sys_role_menu` VALUES ('911', '3', '93');
|
||||
INSERT INTO `sys_role_menu` VALUES ('912', '3', '94');
|
||||
INSERT INTO `sys_role_menu` VALUES ('899', '3', '95');
|
||||
INSERT INTO `sys_role_menu` VALUES ('914', '3', '96');
|
||||
INSERT INTO `sys_role_menu` VALUES ('851', '3', '97');
|
||||
INSERT INTO `sys_role_menu` VALUES ('852', '3', '98');
|
||||
INSERT INTO `sys_role_menu` VALUES ('853', '3', '99');
|
||||
INSERT INTO `sys_role_menu` VALUES ('854', '3', '100');
|
||||
INSERT INTO `sys_role_menu` VALUES ('855', '3', '101');
|
||||
INSERT INTO `sys_role_menu` VALUES ('859', '3', '102');
|
||||
INSERT INTO `sys_role_menu` VALUES ('860', '3', '103');
|
||||
INSERT INTO `sys_role_menu` VALUES ('861', '3', '104');
|
||||
INSERT INTO `sys_role_menu` VALUES ('862', '3', '105');
|
||||
INSERT INTO `sys_role_menu` VALUES ('863', '3', '106');
|
||||
INSERT INTO `sys_role_menu` VALUES ('856', '3', '107');
|
||||
INSERT INTO `sys_role_menu` VALUES ('865', '3', '108');
|
||||
INSERT INTO `sys_role_menu` VALUES ('866', '3', '109');
|
||||
INSERT INTO `sys_role_menu` VALUES ('867', '3', '110');
|
||||
INSERT INTO `sys_role_menu` VALUES ('868', '3', '111');
|
||||
INSERT INTO `sys_role_menu` VALUES ('869', '3', '112');
|
||||
INSERT INTO `sys_role_menu` VALUES ('870', '3', '113');
|
||||
INSERT INTO `sys_role_menu` VALUES ('871', '3', '114');
|
||||
INSERT INTO `sys_role_menu` VALUES ('872', '3', '115');
|
||||
INSERT INTO `sys_role_menu` VALUES ('873', '3', '116');
|
||||
INSERT INTO `sys_role_menu` VALUES ('874', '3', '117');
|
||||
INSERT INTO `sys_role_menu` VALUES ('875', '3', '118');
|
||||
INSERT INTO `sys_role_menu` VALUES ('876', '3', '119');
|
||||
INSERT INTO `sys_role_menu` VALUES ('877', '3', '120');
|
||||
INSERT INTO `sys_role_menu` VALUES ('878', '3', '121');
|
||||
INSERT INTO `sys_role_menu` VALUES ('879', '3', '122');
|
||||
INSERT INTO `sys_role_menu` VALUES ('880', '3', '123');
|
||||
INSERT INTO `sys_role_menu` VALUES ('881', '3', '124');
|
||||
INSERT INTO `sys_role_menu` VALUES ('882', '3', '125');
|
||||
INSERT INTO `sys_role_menu` VALUES ('883', '3', '126');
|
||||
INSERT INTO `sys_role_menu` VALUES ('884', '3', '127');
|
||||
INSERT INTO `sys_role_menu` VALUES ('885', '3', '128');
|
||||
INSERT INTO `sys_role_menu` VALUES ('886', '3', '129');
|
||||
INSERT INTO `sys_role_menu` VALUES ('887', '3', '130');
|
||||
INSERT INTO `sys_role_menu` VALUES ('888', '3', '131');
|
||||
INSERT INTO `sys_role_menu` VALUES ('889', '3', '132');
|
||||
INSERT INTO `sys_role_menu` VALUES ('890', '3', '133');
|
||||
INSERT INTO `sys_role_menu` VALUES ('891', '3', '134');
|
||||
INSERT INTO `sys_role_menu` VALUES ('892', '3', '135');
|
||||
INSERT INTO `sys_role_menu` VALUES ('893', '3', '136');
|
||||
INSERT INTO `sys_role_menu` VALUES ('894', '3', '137');
|
||||
INSERT INTO `sys_role_menu` VALUES ('895', '3', '138');
|
||||
INSERT INTO `sys_role_menu` VALUES ('896', '3', '139');
|
||||
INSERT INTO `sys_role_menu` VALUES ('897', '3', '140');
|
||||
INSERT INTO `sys_role_menu` VALUES ('898', '3', '141');
|
||||
INSERT INTO `sys_role_menu` VALUES ('900', '3', '142');
|
||||
INSERT INTO `sys_role_menu` VALUES ('901', '3', '143');
|
||||
INSERT INTO `sys_role_menu` VALUES ('902', '3', '144');
|
||||
INSERT INTO `sys_role_menu` VALUES ('903', '3', '145');
|
||||
INSERT INTO `sys_role_menu` VALUES ('905', '3', '146');
|
||||
INSERT INTO `sys_role_menu` VALUES ('906', '3', '147');
|
||||
INSERT INTO `sys_role_menu` VALUES ('907', '3', '148');
|
||||
INSERT INTO `sys_role_menu` VALUES ('908', '3', '149');
|
||||
INSERT INTO `sys_role_menu` VALUES ('909', '3', '150');
|
||||
INSERT INTO `sys_role_menu` VALUES ('848', '3', '151');
|
||||
INSERT INTO `sys_role_menu` VALUES ('915', '3', '152');
|
||||
INSERT INTO `sys_role_menu` VALUES ('916', '3', '153');
|
||||
INSERT INTO `sys_role_menu` VALUES ('917', '3', '154');
|
||||
INSERT INTO `sys_role_menu` VALUES ('918', '3', '155');
|
||||
INSERT INTO `sys_role_menu` VALUES ('919', '3', '156');
|
||||
INSERT INTO `sys_role_menu` VALUES ('920', '3', '157');
|
||||
INSERT INTO `sys_role_menu` VALUES ('921', '3', '158');
|
||||
INSERT INTO `sys_role_menu` VALUES ('924', '4', '81');
|
||||
INSERT INTO `sys_role_menu` VALUES ('922', '4', '91');
|
||||
INSERT INTO `sys_role_menu` VALUES ('923', '4', '141');
|
||||
INSERT INTO `sys_role_menu` VALUES ('925', '4', '146');
|
||||
INSERT INTO `sys_role_menu` VALUES ('926', '4', '147');
|
||||
INSERT INTO `sys_role_menu` VALUES ('927', '4', '148');
|
||||
INSERT INTO `sys_role_menu` VALUES ('928', '4', '149');
|
||||
INSERT INTO `sys_role_menu` VALUES ('929', '4', '150');
|
||||
2
db/20190423_tong.sql
Normal file
2
db/20190423_tong.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `video_url` varchar(255) NULL COMMENT '视频url' AFTER `title_image`;
|
||||
6
db/20190529_troy.sql
Normal file
6
db/20190529_troy.sql
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
/*
|
||||
素材库增加源文件唯一标识
|
||||
*/
|
||||
ALTER TABLE `live_multimedia`
|
||||
ADD COLUMN `ori_file_identifier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '源文件唯一标识' AFTER `media_snapshots`;
|
||||
7
db/20190531_troy.sql
Normal file
7
db/20190531_troy.sql
Normal file
@ -0,0 +1,7 @@
|
||||
/* 现场简介详情链接 */
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `live_desc_href` varchar(255) NULL COMMENT '现场简介链接';
|
||||
|
||||
/* 报道详情链接 */
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `content_href` varchar(255) NULL COMMENT '报道详情链接';
|
||||
3
db/20190610_tong.sql
Normal file
3
db/20190610_tong.sql
Normal file
@ -0,0 +1,3 @@
|
||||
/* 素材资源大小 */
|
||||
ALTER TABLE `live_multimedia`
|
||||
MODIFY COLUMN `media_size` bigint NULL DEFAULT 0 COMMENT '素材资源大小,单位:字节。' AFTER `cate_id`;
|
||||
50
db/20190723_ktan.sql
Normal file
50
db/20190723_ktan.sql
Normal file
@ -0,0 +1,50 @@
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `edit_project_material`;
|
||||
CREATE TABLE `edit_project_material` (
|
||||
`id` int(8) NOT NULL AUTO_INCREMENT,
|
||||
`project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
|
||||
`material_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '素材id',
|
||||
`create_date` date NULL DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
|
||||
`material_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
DROP TABLE IF EXISTS `edit_project_watermark`;
|
||||
CREATE TABLE `edit_project_watermark` (
|
||||
`id` int(8) NOT NULL AUTO_INCREMENT,
|
||||
`project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
|
||||
`material_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '素材id',
|
||||
`create_date` date NULL DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
|
||||
`material_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
DROP TABLE IF EXISTS `edit_project`;
|
||||
CREATE TABLE `edit_project` (
|
||||
`id` int(8) NOT NULL AUTO_INCREMENT,
|
||||
`project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
|
||||
`create_date` date NULL DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
|
||||
`modified_time` date NULL DEFAULT NULL COMMENT '修改时间',
|
||||
`project_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
|
||||
`cover_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接',
|
||||
`timeline` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
|
||||
`title` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
|
||||
`division` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`material_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成后对应的素材ID',
|
||||
`status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 188 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
|
||||
15
db/20191111_tong.sql
Normal file
15
db/20191111_tong.sql
Normal file
@ -0,0 +1,15 @@
|
||||
CREATE TABLE `sys_tenant` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` bigint(20) DEFAULT NULL COMMENT '父id',
|
||||
`tenant_name` varchar(50) DEFAULT NULL COMMENT '机构名',
|
||||
`category` tinyint(2) DEFAULT '1' COMMENT '1,机构;2,个人',
|
||||
`license` varchar(100) DEFAULT NULL COMMENT '营业执照',
|
||||
`license_url` varchar(1000) DEFAULT NULL COMMENT '营业执照url',
|
||||
`status` tinyint(4) DEFAULT NULL COMMENT '状态 0:禁用 1:正常',
|
||||
`sort` int(11) DEFAULT '0' COMMENT '排序',
|
||||
`remark` varchar(10000) DEFAULT NULL COMMENT '备注',
|
||||
`create_time` datetime DEFAULT NULL,
|
||||
`create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
|
||||
`delete_flag` tinyint(1) DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
35
db/20191113_mxy.sql
Normal file
35
db/20191113_mxy.sql
Normal file
@ -0,0 +1,35 @@
|
||||
ALTER TABLE `sys_user`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `last_login_ip`;
|
||||
|
||||
ALTER TABLE `edit_project`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `status`;
|
||||
|
||||
ALTER TABLE `live_multimedia`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `is_delete`;
|
||||
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `content_href`;
|
||||
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `live_desc_href`;
|
||||
|
||||
ALTER TABLE `live_scene_check`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `check_date`;
|
||||
|
||||
ALTER TABLE `live_scene_count`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `last_update_time`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `priority`;
|
||||
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `media_id`;
|
||||
|
||||
ALTER TABLE `live_caster`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `template_ids`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info_ext`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `play_url_flv`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info_record`
|
||||
ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `stop_time`;
|
||||
2
db/20191114_mxy.sql
Normal file
2
db/20191114_mxy.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `sys_user`
|
||||
ADD COLUMN `id_card` varchar(20) NULL DEFAULT NULL COMMENT '身份证号' AFTER `realname`;
|
||||
30
db/20191116_mxy.sql
Normal file
30
db/20191116_mxy.sql
Normal file
@ -0,0 +1,30 @@
|
||||
ALTER TABLE `sys_tenant`
|
||||
CHANGE COLUMN `id` `tenant_id` bigint(20) NOT NULL AUTO_INCREMENT FIRST ;
|
||||
|
||||
|
||||
INSERT INTO `sys_tenant` VALUES ('1', null, '济南报业', '1', null, null, '1', '0', null, '2019-11-16 15:35:12', '1', '0');
|
||||
|
||||
|
||||
UPDATE sys_user SET tenant_id=1 WHERE user_id!=1;
|
||||
|
||||
UPDATE edit_project SET tenant_id=1;
|
||||
|
||||
UPDATE live_multimedia SET tenant_id=1;
|
||||
|
||||
UPDATE live_report SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_check SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_count SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_live_info SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_record SET tenant_id=1;
|
||||
|
||||
UPDATE live_caster SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_live_info_ext SET tenant_id=1;
|
||||
|
||||
UPDATE live_scene_live_info_record SET tenant_id=1;
|
||||
4
db/20200106_tong.sql
Normal file
4
db/20200106_tong.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `live_multimedia`
|
||||
MODIFY COLUMN `state` smallint(1) NULL DEFAULT 0 COMMENT '状态 0 上传中 1正常 2 上传失败 10 转码中 11 转码失败 ' AFTER `description`;
|
||||
ALTER TABLE `live_multimedia`
|
||||
ADD COLUMN `ori_media_url` varchar(200) NULL COMMENT '源媒体地址,音视频转码此字段不为空' AFTER `media_url`;
|
||||
98
db/20200107_mxy.sql
Normal file
98
db/20200107_mxy.sql
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : Mxy-Work
|
||||
Source Server Version : 80017
|
||||
Source Host : localhost:3306
|
||||
Source Database : jinan-live
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 80017
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2020-01-07 10:44:07
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_transcode_info
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_transcode_info`;
|
||||
CREATE TABLE `live_transcode_info` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`transcode_task_id` varchar(255) DEFAULT NULL COMMENT '转码任务id',
|
||||
`video_id` varchar(255) DEFAULT NULL COMMENT '视频id',
|
||||
`transcode_template_group_id` varchar(255) DEFAULT NULL COMMENT '转码任务模板组id',
|
||||
`task_status` varchar(32) DEFAULT NULL COMMENT '任务状态:Processing,处理中;Partial,部分转码完成;CompleteAllSucc,全部转码成功;CompleteAllFail,全部转码失败;CompletePartialSucc,全部转码完成,但仅部分成功',
|
||||
`creation_time` varchar(32) DEFAULT NULL COMMENT '开始时间',
|
||||
`complete_time` varchar(32) DEFAULT NULL COMMENT '完成时间',
|
||||
`trigger` varchar(11) DEFAULT NULL COMMENT '触发类型:Auto,自动触发;Manual ,接口触发',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_transcode_job
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_transcode_job`;
|
||||
CREATE TABLE `live_transcode_job` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`transcode_job_id` varchar(255) NOT NULL COMMENT '转码作业id',
|
||||
`transcode_task_id` varchar(255) DEFAULT NULL COMMENT '转码任务id',
|
||||
`transcode_template_group_id` varchar(255) DEFAULT NULL COMMENT '转码模板id',
|
||||
`transcode_job_status` varchar(32) DEFAULT NULL COMMENT '转码作业状态:Transcoding,转码中;TranscodeSuccess,转码成功;TranscodeFail,转码失败',
|
||||
`creation_time` varchar(32) DEFAULT NULL COMMENT '创建时间',
|
||||
`complete_time` varchar(32) DEFAULT NULL COMMENT '完成时间',
|
||||
`transcode_progress` int(11) DEFAULT NULL COMMENT '转码作业处理进度',
|
||||
`input_file_url` varchar(255) DEFAULT NULL COMMENT '转码源文件的OSS地址',
|
||||
`priority` varchar(11) DEFAULT NULL COMMENT '优先级',
|
||||
`error_code` varchar(11) DEFAULT NULL COMMENT '异常码',
|
||||
`error_message` varchar(32) DEFAULT NULL COMMENT '异常信息',
|
||||
`definition` varchar(11) DEFAULT NULL COMMENT '清晰度',
|
||||
`output_file_url` varchar(255) DEFAULT NULL COMMENT '转码输出文件的OSS地址',
|
||||
`format` varchar(11) DEFAULT NULL COMMENT '转码输出文件的封装格式',
|
||||
`width` varchar(11) DEFAULT NULL COMMENT '转码输出文件视频画面宽,单位:px',
|
||||
`height` varchar(11) DEFAULT NULL COMMENT '转码输出文件视频画面高,单位:px',
|
||||
`duration` varchar(11) DEFAULT NULL COMMENT '转码输出文件时长,单位:秒',
|
||||
`bitrate` varchar(11) DEFAULT NULL COMMENT '转码输出文件平均码率,单位:kbps',
|
||||
`fps` varchar(11) DEFAULT NULL COMMENT '转码输出文件的帧率,单位:N帧/秒',
|
||||
`filesize` int(11) DEFAULT NULL COMMENT '转码输出文件大小,单位:Byte',
|
||||
`encryption` varchar(255) DEFAULT NULL COMMENT '转码输出文件使用的加密类型',
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
ALTER TABLE `live_transcode_info`
|
||||
ADD COLUMN `service_id` int(11) NULL COMMENT '转码业务id' AFTER `transcode_task_id`,
|
||||
ADD COLUMN `service_type` tinyint(1) NULL COMMENT '转码业务类型:0,上传;1,录制;2,合成' AFTER `service_id`;
|
||||
|
||||
ALTER TABLE `live_transcode_job`
|
||||
ADD COLUMN `service_id` int(11) NULL COMMENT '转码业务id' AFTER `transcode_job_id`,
|
||||
ADD COLUMN `service_type` tinyint(1) NULL COMMENT '转码业务类型:0,上传;1,录制;2,合成' AFTER `service_id`;
|
||||
|
||||
ALTER TABLE `live_transcode_info`
|
||||
ADD COLUMN `transcode_status` tinyint(1) NULL COMMENT '转码状态:0,上传中;1,转码中;2,转码成功;3,转码失败' AFTER `transcode_template_group_id`;
|
||||
|
||||
ALTER TABLE `live_transcode_job`
|
||||
ADD COLUMN `transcode_status` tinyint(1) NULL COMMENT '转码状态:0,上传中;1,转码中;2,转码成功;3,转码失败' AFTER `transcode_template_group_id`;
|
||||
|
||||
ALTER TABLE `live_transcode_info`
|
||||
DROP COLUMN `transcode_template_group_id`,
|
||||
DROP COLUMN `task_status`,
|
||||
DROP COLUMN `trigger`;
|
||||
|
||||
ALTER TABLE `live_transcode_job`
|
||||
DROP COLUMN `transcode_template_group_id`,
|
||||
DROP COLUMN `transcode_job_status`;
|
||||
|
||||
ALTER TABLE `live_transcode_info`
|
||||
ADD COLUMN `transcode_template_group_id` varchar(255) NULL DEFAULT NULL COMMENT '转码模板组id' AFTER `service_type`;
|
||||
|
||||
ALTER TABLE `live_transcode_job`
|
||||
ADD COLUMN `transcode_template_group_id` varchar(255) NULL DEFAULT NULL COMMENT '转码模板组id' AFTER `service_type`;
|
||||
|
||||
ALTER TABLE `live_transcode_info`
|
||||
MODIFY COLUMN `service_type` tinyint(1) NULL DEFAULT NULL COMMENT '转码业务类型:1,录制;2,上传;3,合成' AFTER `service_id`;
|
||||
|
||||
ALTER TABLE `live_transcode_job`
|
||||
MODIFY COLUMN `service_type` tinyint(1) NULL DEFAULT NULL COMMENT '转码业务类型:1,录制;2,上传;3,合成' AFTER `service_id`;
|
||||
7
db/20200113_tong.sql
Normal file
7
db/20200113_tong.sql
Normal file
@ -0,0 +1,7 @@
|
||||
ALTER TABLE `live_stream_status`
|
||||
ADD COLUMN `id` bigint NOT NULL AUTO_INCREMENT FIRST ,
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
|
||||
ALTER TABLE `live_stream_status`
|
||||
ADD INDEX `idx_stream_app` (`stream_name`, `app_name`) ;
|
||||
13
db/20200224_mxy.sql
Normal file
13
db/20200224_mxy.sql
Normal file
@ -0,0 +1,13 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `record_type` tinyint(1) NULL DEFAULT 0 COMMENT '回顾类型:0,直播时移;1,m3u8;2,mp4;3.快速剪辑' AFTER `tenant_id`;
|
||||
|
||||
UPDATE live_scene_record
|
||||
SET record_type = CASE
|
||||
WHEN uri LIKE '%.m3u8' THEN
|
||||
1
|
||||
WHEN uri LIKE '%.mp3' THEN
|
||||
2
|
||||
WHEN uri LIKE '%.mp4' THEN
|
||||
2
|
||||
else 0
|
||||
END
|
||||
4
db/20200320_mxy.sql
Normal file
4
db/20200320_mxy.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
MODIFY COLUMN `record_type` tinyint(1) NULL DEFAULT 0 COMMENT '回顾类型:0,直播时移;1,m3u8;2,mp4;3,快速剪辑;4,mp3' AFTER `tenant_id`;
|
||||
|
||||
UPDATE live_scene_record SET record_type = 4 WHERE uri LIKE '%.mp3'
|
||||
10
db/20200326_mxy.sql
Normal file
10
db/20200326_mxy.sql
Normal file
@ -0,0 +1,10 @@
|
||||
ALTER TABLE `live_scene_channel`
|
||||
ADD COLUMN `drag_sort` int(11) NULL COMMENT '拖动排序标识' AFTER `channel_id`;
|
||||
|
||||
UPDATE live_scene_channel SET drag_sort = unix_timestamp(now());
|
||||
|
||||
ALTER TABLE `live_task_allocation`
|
||||
MODIFY COLUMN `reporter_id` varchar(500) NULL DEFAULT NULL COMMENT '记者ID' AFTER `duration_time`;
|
||||
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `related_report` varchar(512) NULL DEFAULT NULL COMMENT '相关报道' AFTER `tenant_id`;
|
||||
4
db/20210225_Matt.sql
Normal file
4
db/20210225_Matt.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转写语音文字内容' AFTER `pull_end`,
|
||||
ADD COLUMN `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音转写文字任务id' AFTER `text`,
|
||||
ADD COLUMN `voice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频转为mp3后的地址' AFTER `task_id`;
|
||||
15
db/20210301_Matt.sql
Normal file
15
db/20210301_Matt.sql
Normal file
@ -0,0 +1,15 @@
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转写语音文字内容' AFTER `record_type`,
|
||||
ADD COLUMN `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音转写文字任务id' AFTER `text`,
|
||||
ADD COLUMN `voice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频转为mp3后的地址' AFTER `task_id`,
|
||||
ADD COLUMN `is_txt` smallint(6) NULL DEFAULT 0 COMMENT '是否转写语音文字' AFTER `voice_url`,
|
||||
ADD COLUMN `to_txt_status` smallint(6) NULL DEFAULT 0 COMMENT '语音转写文字状态,0:未转;1:转码成功;2:转码中' AFTER `is_txt`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
DROP COLUMN `text`,
|
||||
DROP COLUMN `task_id`,
|
||||
DROP COLUMN `voice_url`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `is_txt` smallint NULL DEFAULT 0 COMMENT '是否转写语音文字' AFTER `is_show`;
|
||||
|
||||
2
db/20210419_Matt.sql
Normal file
2
db/20210419_Matt.sql
Normal file
@ -0,0 +1,2 @@
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `is_auto_live` tinyint(1) NULL DEFAULT 0 COMMENT '是否自动开关播,0:关闭;1:开启' AFTER `tenant_id`;
|
||||
811
db/diversified.sql
Normal file
811
db/diversified.sql
Normal file
@ -0,0 +1,811 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : 39.106.19.53
|
||||
Source Server Version : 50722
|
||||
Source Host : 39.106.19.53:3306
|
||||
Source Database : diversified
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50722
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2019-01-18 15:51:42
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for plm_material
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `plm_material`;
|
||||
CREATE TABLE `plm_material` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`material_title` varchar(255) DEFAULT NULL COMMENT '标题',
|
||||
`material_description` varchar(1000) DEFAULT NULL COMMENT '描述',
|
||||
`material_type` tinyint(1) DEFAULT NULL COMMENT '资源类型,视频等 1视频 2语音 3图片',
|
||||
`material_cover_url` varchar(255) DEFAULT NULL COMMENT '封面图',
|
||||
`material_cover_ori_url` varchar(255) DEFAULT NULL COMMENT '原资源封面图',
|
||||
`material_url` varchar(1000) DEFAULT NULL COMMENT '资源URl',
|
||||
`material_ori_url` varchar(1000) DEFAULT NULL COMMENT '原资源URl',
|
||||
`material_size` varchar(50) DEFAULT NULL COMMENT '资源大小',
|
||||
`file_size` int(11) DEFAULT NULL COMMENT '文件大小',
|
||||
`material_duration` varchar(50) DEFAULT NULL COMMENT '资源时长(S)(视频、语音)',
|
||||
`play_time` int(11) DEFAULT NULL COMMENT '文件时长',
|
||||
`material_sources` tinyint(1) DEFAULT NULL COMMENT '资源来源 1 本地上传,2快手下载,3现场下载,4现场报道下载',
|
||||
`material_src_id` varchar(50) DEFAULT NULL,
|
||||
`material_status` tinyint(1) unsigned zerofill DEFAULT '0' COMMENT '素材状态 0 处理中 1 处理完成 ',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='资源信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of plm_material
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for plm_video
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `plm_video`;
|
||||
CREATE TABLE `plm_video` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title_img` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题图',
|
||||
`title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',
|
||||
`file_size` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件大小',
|
||||
`duration_time` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时长',
|
||||
`publish_channel` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发布渠道',
|
||||
`create_method` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建方式',
|
||||
`status` tinyint(1) DEFAULT '0' COMMENT '视频的状态(0,草稿,1,审核中,2,成品)',
|
||||
`video_type` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '视频的类型',
|
||||
`date` date DEFAULT NULL COMMENT '时间',
|
||||
`server_video_path` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '服务器的视频路径',
|
||||
`digest` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '摘要',
|
||||
`opinion` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核意见',
|
||||
`create_date` date DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` int(4) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` date DEFAULT NULL COMMENT '修改日期',
|
||||
`update_user` tinyint(4) DEFAULT NULL COMMENT '修改人',
|
||||
`is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of plm_video
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for plm_video_download_log
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `plm_video_download_log`;
|
||||
CREATE TABLE `plm_video_download_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`paramList` varchar(500) DEFAULT NULL COMMENT '请求参数',
|
||||
`signature` varchar(500) DEFAULT NULL COMMENT '参数签名',
|
||||
`request_json` text COMMENT '下载json对象从检索结果在获取',
|
||||
`result_json` text COMMENT '返回结果',
|
||||
`head_url` varchar(255) DEFAULT NULL,
|
||||
`media_url` varchar(255) DEFAULT NULL COMMENT '下载资源路径',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '操作日期',
|
||||
`create_user` int(11) DEFAULT NULL COMMENT '操作人',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='快手下载记录表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of plm_video_download_log
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for plm_video_news
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `plm_video_news`;
|
||||
CREATE TABLE `plm_video_news` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`title` varchar(255) DEFAULT NULL COMMENT '标题',
|
||||
`video_url` varchar(255) DEFAULT NULL COMMENT '视频路径',
|
||||
`title_img` varchar(255) DEFAULT NULL COMMENT '标题图路径',
|
||||
`cover_url` varchar(255) DEFAULT NULL COMMENT '资源标题图',
|
||||
`material_url` varchar(255) DEFAULT NULL COMMENT '资源URl',
|
||||
`material_size` varchar(64) DEFAULT NULL COMMENT '文件大小',
|
||||
`file_size` int(11) DEFAULT NULL,
|
||||
`material_duration` varchar(64) DEFAULT NULL COMMENT '时长',
|
||||
`play_time` int(11) DEFAULT NULL COMMENT '文件时长',
|
||||
`publish_channel` varchar(64) DEFAULT NULL COMMENT '发布渠道',
|
||||
`video_sources` tinyint(1) DEFAULT NULL COMMENT '视频来源 1趣看剪辑 2本地上传',
|
||||
`description` varchar(500) DEFAULT NULL COMMENT '摘要',
|
||||
`status` tinyint(1) DEFAULT '0' COMMENT '审核状态(-1转码失败 0 转码中 ,1下载中,2 草稿,3,审核中,4,成品)',
|
||||
`message` varchar(255) DEFAULT NULL COMMENT '趣看转码返回信息',
|
||||
`task_id` bigint(20) DEFAULT NULL COMMENT '趣看任务ID',
|
||||
`material_id` bigint(20) DEFAULT NULL COMMENT '趣看资源ID',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '趣看合成开始时间',
|
||||
`stop_time` datetime DEFAULT NULL COMMENT '趣看合成结束时间',
|
||||
`audit_opinion` varchar(255) DEFAULT NULL COMMENT '审核意见',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` datetime DEFAULT NULL COMMENT '修改日期',
|
||||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||||
`audit_date` datetime DEFAULT NULL COMMENT '审核日期',
|
||||
`audit_user` bigint(20) DEFAULT NULL COMMENT '审核人',
|
||||
`is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='视频发布信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of plm_video_news
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for plm_video_search_log
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `plm_video_search_log`;
|
||||
CREATE TABLE `plm_video_search_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`paramList` varchar(500) DEFAULT NULL COMMENT '请求参数',
|
||||
`signature` varchar(500) DEFAULT NULL COMMENT '参数签名',
|
||||
`result_json` mediumtext COMMENT '返回结果',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '操作日期',
|
||||
`create_user` int(11) DEFAULT NULL COMMENT '操作人',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='快手检索记录表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of plm_video_search_log
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_blob_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
|
||||
CREATE TABLE `qrtz_blob_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`BLOB_DATA` blob,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_blob_triggers
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_calendars
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_calendars`;
|
||||
CREATE TABLE `qrtz_calendars` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`CALENDAR_NAME` varchar(200) NOT NULL,
|
||||
`CALENDAR` blob NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_calendars
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_cron_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
|
||||
CREATE TABLE `qrtz_cron_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`CRON_EXPRESSION` varchar(120) NOT NULL,
|
||||
`TIME_ZONE_ID` varchar(80) DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_cron_triggers
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_fired_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
|
||||
CREATE TABLE `qrtz_fired_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`ENTRY_ID` varchar(95) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`INSTANCE_NAME` varchar(200) NOT NULL,
|
||||
`FIRED_TIME` bigint(13) NOT NULL,
|
||||
`SCHED_TIME` bigint(13) NOT NULL,
|
||||
`PRIORITY` int(11) NOT NULL,
|
||||
`STATE` varchar(16) NOT NULL,
|
||||
`JOB_NAME` varchar(200) DEFAULT NULL,
|
||||
`JOB_GROUP` varchar(200) DEFAULT NULL,
|
||||
`IS_NONCONCURRENT` varchar(1) DEFAULT NULL,
|
||||
`REQUESTS_RECOVERY` varchar(1) DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
|
||||
KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
|
||||
KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
|
||||
KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
|
||||
KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
|
||||
KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_fired_triggers
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_job_details
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_job_details`;
|
||||
CREATE TABLE `qrtz_job_details` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`JOB_NAME` varchar(200) NOT NULL,
|
||||
`JOB_GROUP` varchar(200) NOT NULL,
|
||||
`DESCRIPTION` varchar(250) DEFAULT NULL,
|
||||
`JOB_CLASS_NAME` varchar(250) NOT NULL,
|
||||
`IS_DURABLE` varchar(1) NOT NULL,
|
||||
`IS_NONCONCURRENT` varchar(1) NOT NULL,
|
||||
`IS_UPDATE_DATA` varchar(1) NOT NULL,
|
||||
`REQUESTS_RECOVERY` varchar(1) NOT NULL,
|
||||
`JOB_DATA` blob,
|
||||
PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
|
||||
KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
|
||||
KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_job_details
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000017400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000A74000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000274000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000037400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000474000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000674000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000077400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000874000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000097400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_locks
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_locks`;
|
||||
CREATE TABLE `qrtz_locks` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`LOCK_NAME` varchar(40) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_locks
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_locks` VALUES ('RenrenScheduler', 'STATE_ACCESS');
|
||||
INSERT INTO `qrtz_locks` VALUES ('RenrenScheduler', 'TRIGGER_ACCESS');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_paused_trigger_grps
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
|
||||
CREATE TABLE `qrtz_paused_trigger_grps` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_paused_trigger_grps
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_scheduler_state
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
|
||||
CREATE TABLE `qrtz_scheduler_state` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`INSTANCE_NAME` varchar(200) NOT NULL,
|
||||
`LAST_CHECKIN_TIME` bigint(13) NOT NULL,
|
||||
`CHECKIN_INTERVAL` bigint(13) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_scheduler_state
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_scheduler_state` VALUES ('RenrenScheduler', 'iz2zeakzlq9sm4xqwxda7vz1545727870499', '1547798084939', '15000');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_simple_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
|
||||
CREATE TABLE `qrtz_simple_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`REPEAT_COUNT` bigint(7) NOT NULL,
|
||||
`REPEAT_INTERVAL` bigint(12) NOT NULL,
|
||||
`TIMES_TRIGGERED` bigint(10) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_simple_triggers
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_simprop_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
|
||||
CREATE TABLE `qrtz_simprop_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`STR_PROP_1` varchar(512) DEFAULT NULL,
|
||||
`STR_PROP_2` varchar(512) DEFAULT NULL,
|
||||
`STR_PROP_3` varchar(512) DEFAULT NULL,
|
||||
`INT_PROP_1` int(11) DEFAULT NULL,
|
||||
`INT_PROP_2` int(11) DEFAULT NULL,
|
||||
`LONG_PROP_1` bigint(20) DEFAULT NULL,
|
||||
`LONG_PROP_2` bigint(20) DEFAULT NULL,
|
||||
`DEC_PROP_1` decimal(13,4) DEFAULT NULL,
|
||||
`DEC_PROP_2` decimal(13,4) DEFAULT NULL,
|
||||
`BOOL_PROP_1` varchar(1) DEFAULT NULL,
|
||||
`BOOL_PROP_2` varchar(1) DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_simprop_triggers
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for qrtz_triggers
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `qrtz_triggers`;
|
||||
CREATE TABLE `qrtz_triggers` (
|
||||
`SCHED_NAME` varchar(120) NOT NULL,
|
||||
`TRIGGER_NAME` varchar(200) NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(200) NOT NULL,
|
||||
`JOB_NAME` varchar(200) NOT NULL,
|
||||
`JOB_GROUP` varchar(200) NOT NULL,
|
||||
`DESCRIPTION` varchar(250) DEFAULT NULL,
|
||||
`NEXT_FIRE_TIME` bigint(13) DEFAULT NULL,
|
||||
`PREV_FIRE_TIME` bigint(13) DEFAULT NULL,
|
||||
`PRIORITY` int(11) DEFAULT NULL,
|
||||
`TRIGGER_STATE` varchar(16) NOT NULL,
|
||||
`TRIGGER_TYPE` varchar(8) NOT NULL,
|
||||
`START_TIME` bigint(13) NOT NULL,
|
||||
`END_TIME` bigint(13) DEFAULT NULL,
|
||||
`CALENDAR_NAME` varchar(200) DEFAULT NULL,
|
||||
`MISFIRE_INSTR` smallint(2) DEFAULT NULL,
|
||||
`JOB_DATA` blob,
|
||||
PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
|
||||
KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
|
||||
KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
|
||||
KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
|
||||
KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
|
||||
KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
|
||||
KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
|
||||
KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
|
||||
KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
|
||||
KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
|
||||
KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
|
||||
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
|
||||
KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
|
||||
CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of qrtz_triggers
|
||||
-- ----------------------------
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', 'TASK_1', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532398552000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000017400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', 'TASK_10', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000A74000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', 'TASK_2', 'DEFAULT', null, '1532399400000', '-1', '5', 'PAUSED', 'CRON', '1532398552000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000274000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', 'TASK_3', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000037400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', 'TASK_4', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000474000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', 'TASK_5', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', 'TASK_6', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000674000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', 'TASK_7', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000077400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', 'TASK_8', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000874000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
|
||||
INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', 'TASK_9', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000097400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for schedule_job
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `schedule_job`;
|
||||
CREATE TABLE `schedule_job` (
|
||||
`job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
|
||||
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
|
||||
`method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
|
||||
`params` varchar(2000) DEFAULT NULL COMMENT '参数',
|
||||
`cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
|
||||
`status` tinyint(4) DEFAULT NULL COMMENT '任务状态 0:正常 1:暂停',
|
||||
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`job_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='定时任务';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of schedule_job
|
||||
-- ----------------------------
|
||||
INSERT INTO `schedule_job` VALUES ('1', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` VALUES ('2', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
INSERT INTO `schedule_job` VALUES ('3', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` VALUES ('4', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
INSERT INTO `schedule_job` VALUES ('5', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` VALUES ('6', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
INSERT INTO `schedule_job` VALUES ('7', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` VALUES ('8', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
INSERT INTO `schedule_job` VALUES ('9', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` VALUES ('10', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for schedule_job_log
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `schedule_job_log`;
|
||||
CREATE TABLE `schedule_job_log` (
|
||||
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志id',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务id',
|
||||
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
|
||||
`method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
|
||||
`params` varchar(2000) DEFAULT NULL COMMENT '参数',
|
||||
`status` tinyint(4) NOT NULL COMMENT '任务状态 0:成功 1:失败',
|
||||
`error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
|
||||
`times` int(11) NOT NULL COMMENT '耗时(单位:毫秒)',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`log_id`),
|
||||
KEY `job_id` (`job_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='定时任务日志';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of schedule_job_log
|
||||
-- ----------------------------
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_captcha
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_captcha`;
|
||||
CREATE TABLE `sys_captcha` (
|
||||
`uuid` char(36) NOT NULL COMMENT 'uuid',
|
||||
`code` varchar(6) NOT NULL COMMENT '验证码',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
PRIMARY KEY (`uuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统验证码';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_captcha
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_config
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_config`;
|
||||
CREATE TABLE `sys_config` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`key` varchar(50) DEFAULT NULL COMMENT 'key',
|
||||
`value` varchar(2000) DEFAULT NULL COMMENT 'value',
|
||||
`status` tinyint(4) DEFAULT '1' COMMENT '状态 0:隐藏 1:显示',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `key` (`key`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='系统配置信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_config
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_config` VALUES ('1', 'CLOUD_STORAGE_CONFIG_KEY', '{\"aliyunAccessKeyId\":\"\",\"aliyunAccessKeySecret\":\"\",\"aliyunBucketName\":\"\",\"aliyunDomain\":\"\",\"aliyunEndPoint\":\"\",\"aliyunPrefix\":\"\",\"qcloudBucketName\":\"\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qiniuAccessKey\":\"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ\",\"qiniuBucketName\":\"ios-app\",\"qiniuDomain\":\"http://7xqbwh.dl1.z0.glb.clouddn.com\",\"qiniuPrefix\":\"upload\",\"qiniuSecretKey\":\"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV\",\"type\":1}', '0', '云存储配置信息');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_log
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_log`;
|
||||
CREATE TABLE `sys_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
|
||||
`operation` varchar(50) DEFAULT NULL COMMENT '用户操作',
|
||||
`method` varchar(200) DEFAULT NULL COMMENT '请求方法',
|
||||
`params` varchar(5000) DEFAULT NULL COMMENT '请求参数',
|
||||
`time` bigint(20) NOT NULL COMMENT '执行时长(毫秒)',
|
||||
`ip` varchar(64) DEFAULT NULL COMMENT 'IP地址',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=271 DEFAULT CHARSET=utf8 COMMENT='系统日志';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_log
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_menu
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_menu`;
|
||||
CREATE TABLE `sys_menu` (
|
||||
`menu_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` bigint(20) DEFAULT NULL COMMENT '父菜单ID,一级菜单为0',
|
||||
`name` varchar(50) DEFAULT NULL COMMENT '菜单名称',
|
||||
`url` varchar(200) DEFAULT NULL COMMENT '菜单URL',
|
||||
`perms` varchar(500) DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
|
||||
`type` int(11) DEFAULT NULL COMMENT '类型 0:目录 1:菜单 2:按钮',
|
||||
`icon` varchar(50) DEFAULT NULL COMMENT '菜单图标',
|
||||
`order_num` int(11) DEFAULT NULL COMMENT '排序',
|
||||
PRIMARY KEY (`menu_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='菜单管理';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_menu` VALUES ('1', '0', '系统管理', null, null, '0', 'fa fa-cog', '5');
|
||||
INSERT INTO `sys_menu` VALUES ('2', '1', '管理员列表', 'modules/sys/user.html', null, '1', 'fa fa-user', '1');
|
||||
INSERT INTO `sys_menu` VALUES ('3', '1', '角色管理', 'modules/sys/role.html', null, '1', 'fa fa-user-secret', '2');
|
||||
INSERT INTO `sys_menu` VALUES ('4', '1', '菜单管理', 'modules/sys/menu.html', null, '1', 'fa fa-th-list', '3');
|
||||
INSERT INTO `sys_menu` VALUES ('15', '2', '查看', null, 'sys:user:list,sys:user:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('16', '2', '新增', null, 'sys:user:save,sys:role:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('17', '2', '修改', null, 'sys:user:update,sys:role:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('18', '2', '删除', null, 'sys:user:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('19', '3', '查看', null, 'sys:role:list,sys:role:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('20', '3', '新增', null, 'sys:role:save,sys:menu:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('21', '3', '修改', null, 'sys:role:update,sys:menu:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('22', '3', '删除', null, 'sys:role:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('23', '4', '查看', null, 'sys:menu:list,sys:menu:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('24', '4', '新增', null, 'sys:menu:save,sys:menu:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('25', '4', '修改', null, 'sys:menu:update,sys:menu:select', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('26', '4', '删除', null, 'sys:menu:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('29', '1', '系统日志', 'modules/sys/log.html', 'sys:log:list', '1', 'fa fa-file-text-o', '7');
|
||||
INSERT INTO `sys_menu` VALUES ('31', '0', '媒体资源', null, null, '0', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('32', '31', '现场新闻', 'modules/resource/scene.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('33', '32', '查看', null, 'scene:list,scene:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('34', '32', '下载', null, 'scene:download', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('35', '32', '报道', null, 'scenet:report:list,scene:report:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('36', '32', '报道下载', null, 'scene:report:download', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('37', '31', '本地上传', 'modules/resource/local.html', '', '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('38', '37', '查看', '', 'plm:material:upload:list,plm:material:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('39', '37', '新增', null, 'plm:material:upload', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('40', '37', '修改', null, 'plm:material:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('41', '37', '删除', null, 'plm:material:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('42', '31', '下载资源', 'modules/resource/download.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('43', '42', '查看', null, 'plm:material:download:list,plm:material:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('44', '42', '删除', null, 'plm:material:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('45', '31', '回收站', 'modules/resource/recycle.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('46', '45', '查看', null, 'plm:material:cycle:list,plm:material:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('47', '45', '还原', null, 'plm:material:recycle', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('48', '45', '删除', null, 'plm:material:cycle:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('49', '0', '资源搜索', '', null, '0', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('50', '49', '快手搜索', 'modules/search/ksvideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('51', '50', '查看', null, 'kuaishou:video:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('52', '50', '下载', null, 'kuaishou:video:download', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('53', '49', '快手下载', 'modules/search/ksdownload.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('54', '53', '查看', null, 'kuaishou:video:download:list', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('55', '0', '视频剪辑', 'modules/clip/qkvideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('56', '0', '视频发布', null, null, '0', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('57', '56', '我的视频', 'modules/video/myvideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('58', '57', '查看', null, 'plm:videonews:list,plm:videonews:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('59', '57', '编辑', null, 'plm:videonews:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('60', '57', '上传', null, 'plm:videonews:upload', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('61', '57', '删除', null, 'plm:videonews:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('62', '57', '送审', null, 'plm:videonews:audit', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('63', '56', '视频审核', 'modules/video/audiovideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('64', '63', '查看', null, 'plm:videonews:audit:list,plm:videonews:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('65', '63', '编辑', null, 'plm:videonews:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('66', '63', '审核通过', null, 'plm:videonews:audit:pass', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('67', '63', '审核驳回', null, 'plm:videonews:audit:reject', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('68', '63', '删除', null, 'plm:videonews:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('69', '56', '成品视频', 'modules/video/finishvideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('70', '69', '查看', null, 'plm:videonews:finished:list,plm:videonews:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('71', '69', '编辑', null, 'plm:videonews:update', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('72', '69', '删除', null, 'plm:videonews:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('73', '56', '视频回收站', 'modules/video/recyclevideo.html', null, '1', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('74', '73', '查看', null, 'plm:videonews:cycle:list,plm:videonews:info', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('75', '73', '删除', null, 'plm:videonews:cycle:delete', '2', null, '0');
|
||||
INSERT INTO `sys_menu` VALUES ('76', '73', '还原', null, 'plm:videonews:recycle', '2', null, '0');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_oss
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_oss`;
|
||||
CREATE TABLE `sys_oss` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`url` varchar(200) DEFAULT NULL COMMENT 'URL地址',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文件上传';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_oss
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_role
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_role`;
|
||||
CREATE TABLE `sys_role` (
|
||||
`role_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`role_name` varchar(100) DEFAULT NULL COMMENT '角色名称',
|
||||
`remark` varchar(100) DEFAULT NULL COMMENT '备注',
|
||||
`create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`role_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='角色';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_role
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_role` VALUES ('1', '管理员', null, '1', '2018-12-12 16:22:42');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_role_menu
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_role_menu`;
|
||||
CREATE TABLE `sys_role_menu` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
|
||||
`menu_id` bigint(20) DEFAULT NULL COMMENT '菜单ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_role_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_role_menu` VALUES ('1', '1', '1');
|
||||
INSERT INTO `sys_role_menu` VALUES ('2', '1', '2');
|
||||
INSERT INTO `sys_role_menu` VALUES ('3', '1', '15');
|
||||
INSERT INTO `sys_role_menu` VALUES ('4', '1', '16');
|
||||
INSERT INTO `sys_role_menu` VALUES ('5', '1', '17');
|
||||
INSERT INTO `sys_role_menu` VALUES ('6', '1', '18');
|
||||
INSERT INTO `sys_role_menu` VALUES ('7', '1', '3');
|
||||
INSERT INTO `sys_role_menu` VALUES ('8', '1', '19');
|
||||
INSERT INTO `sys_role_menu` VALUES ('9', '1', '20');
|
||||
INSERT INTO `sys_role_menu` VALUES ('10', '1', '21');
|
||||
INSERT INTO `sys_role_menu` VALUES ('11', '1', '22');
|
||||
INSERT INTO `sys_role_menu` VALUES ('12', '1', '4');
|
||||
INSERT INTO `sys_role_menu` VALUES ('13', '1', '23');
|
||||
INSERT INTO `sys_role_menu` VALUES ('14', '1', '24');
|
||||
INSERT INTO `sys_role_menu` VALUES ('15', '1', '25');
|
||||
INSERT INTO `sys_role_menu` VALUES ('16', '1', '26');
|
||||
INSERT INTO `sys_role_menu` VALUES ('17', '1', '29');
|
||||
INSERT INTO `sys_role_menu` VALUES ('18', '1', '31');
|
||||
INSERT INTO `sys_role_menu` VALUES ('19', '1', '32');
|
||||
INSERT INTO `sys_role_menu` VALUES ('20', '1', '33');
|
||||
INSERT INTO `sys_role_menu` VALUES ('21', '1', '34');
|
||||
INSERT INTO `sys_role_menu` VALUES ('22', '1', '35');
|
||||
INSERT INTO `sys_role_menu` VALUES ('23', '1', '36');
|
||||
INSERT INTO `sys_role_menu` VALUES ('24', '1', '37');
|
||||
INSERT INTO `sys_role_menu` VALUES ('25', '1', '38');
|
||||
INSERT INTO `sys_role_menu` VALUES ('26', '1', '39');
|
||||
INSERT INTO `sys_role_menu` VALUES ('27', '1', '40');
|
||||
INSERT INTO `sys_role_menu` VALUES ('28', '1', '41');
|
||||
INSERT INTO `sys_role_menu` VALUES ('29', '1', '42');
|
||||
INSERT INTO `sys_role_menu` VALUES ('30', '1', '43');
|
||||
INSERT INTO `sys_role_menu` VALUES ('31', '1', '44');
|
||||
INSERT INTO `sys_role_menu` VALUES ('32', '1', '45');
|
||||
INSERT INTO `sys_role_menu` VALUES ('33', '1', '46');
|
||||
INSERT INTO `sys_role_menu` VALUES ('34', '1', '47');
|
||||
INSERT INTO `sys_role_menu` VALUES ('35', '1', '48');
|
||||
INSERT INTO `sys_role_menu` VALUES ('36', '1', '49');
|
||||
INSERT INTO `sys_role_menu` VALUES ('37', '1', '50');
|
||||
INSERT INTO `sys_role_menu` VALUES ('38', '1', '51');
|
||||
INSERT INTO `sys_role_menu` VALUES ('39', '1', '52');
|
||||
INSERT INTO `sys_role_menu` VALUES ('40', '1', '53');
|
||||
INSERT INTO `sys_role_menu` VALUES ('41', '1', '54');
|
||||
INSERT INTO `sys_role_menu` VALUES ('42', '1', '55');
|
||||
INSERT INTO `sys_role_menu` VALUES ('43', '1', '56');
|
||||
INSERT INTO `sys_role_menu` VALUES ('44', '1', '57');
|
||||
INSERT INTO `sys_role_menu` VALUES ('45', '1', '58');
|
||||
INSERT INTO `sys_role_menu` VALUES ('46', '1', '59');
|
||||
INSERT INTO `sys_role_menu` VALUES ('47', '1', '60');
|
||||
INSERT INTO `sys_role_menu` VALUES ('48', '1', '61');
|
||||
INSERT INTO `sys_role_menu` VALUES ('49', '1', '62');
|
||||
INSERT INTO `sys_role_menu` VALUES ('50', '1', '63');
|
||||
INSERT INTO `sys_role_menu` VALUES ('51', '1', '64');
|
||||
INSERT INTO `sys_role_menu` VALUES ('52', '1', '65');
|
||||
INSERT INTO `sys_role_menu` VALUES ('53', '1', '66');
|
||||
INSERT INTO `sys_role_menu` VALUES ('54', '1', '67');
|
||||
INSERT INTO `sys_role_menu` VALUES ('55', '1', '68');
|
||||
INSERT INTO `sys_role_menu` VALUES ('56', '1', '69');
|
||||
INSERT INTO `sys_role_menu` VALUES ('57', '1', '70');
|
||||
INSERT INTO `sys_role_menu` VALUES ('58', '1', '71');
|
||||
INSERT INTO `sys_role_menu` VALUES ('59', '1', '72');
|
||||
INSERT INTO `sys_role_menu` VALUES ('60', '1', '73');
|
||||
INSERT INTO `sys_role_menu` VALUES ('61', '1', '74');
|
||||
INSERT INTO `sys_role_menu` VALUES ('62', '1', '75');
|
||||
INSERT INTO `sys_role_menu` VALUES ('63', '1', '76');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_user`;
|
||||
CREATE TABLE `sys_user` (
|
||||
`user_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||
`password` varchar(100) DEFAULT NULL COMMENT '密码',
|
||||
`salt` varchar(20) DEFAULT NULL COMMENT '盐',
|
||||
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
||||
`mobile` varchar(100) DEFAULT NULL COMMENT '手机号',
|
||||
`status` tinyint(4) DEFAULT NULL COMMENT '状态 0:禁用 1:正常',
|
||||
`create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
|
||||
`last_login_ip` varchar(50) DEFAULT '127.0.0.1' COMMENT '最后登录IP',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `username` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='系统用户';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_user
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_user` VALUES ('1', 'admin', '9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d', 'YzcmCZNvbXocrsz9dm8e', 'root@renren.io', '13612345678', '1', '1', '2016-11-11 11:11:11', '2019-01-18 09:51:53', '106.120.84.238');
|
||||
INSERT INTO `sys_user` VALUES ('2', 'h3azg5trm9soskpv', '45c3cc2589a61561121784b146f12eb3c40886237a5664a692eb24c0d4969f66', 'nY7tzWiCmWrZnQ1I0ued', '', '', '1', '1', '2018-08-07 16:05:01', '2018-12-19 11:12:20', '127.0.0.1');
|
||||
INSERT INTO `sys_user` VALUES ('3', 'test', '84ef3a393ad90c149d1a914ae24b96c6b621fb4c8924b9d1e07b1a879f42ad23', 'UULhpzWasPjfNvGnLEaA', 'test@qq.com', '13121212111', '1', '1', '2018-12-12 16:22:18', '2019-01-17 18:41:36', '106.120.84.238');
|
||||
INSERT INTO `sys_user` VALUES ('4', 'zhangsiyu', 'e9a301f385ffe035062a24c2704dfd465ef407ba6dc54a81a2733e9de54e8636', '3pkhQjbFsIDbuIKuKeqc', 'zhangsiyu@qq.com', '13111111111', '1', '1', '2019-01-17 18:43:51', '2019-01-17 18:45:25', '106.120.84.238');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user_role
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_user_role`;
|
||||
CREATE TABLE `sys_user_role` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
|
||||
`role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='用户与角色对应关系';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_user_role
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_user_role` VALUES ('5', '3', '1');
|
||||
INSERT INTO `sys_user_role` VALUES ('6', '4', '1');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_user_token
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_user_token`;
|
||||
CREATE TABLE `sys_user_token` (
|
||||
`user_id` bigint(20) NOT NULL,
|
||||
`token` varchar(100) NOT NULL COMMENT 'token',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `token` (`token`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户Token';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_user_token
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_user_token` VALUES ('1', 'b903a731afdb9335d2d690c80be6296e', '2019-01-18 21:51:53', '2019-01-18 09:51:53');
|
||||
INSERT INTO `sys_user_token` VALUES ('3', '3c067b73d3d402e2d7866480c0fb6697', '2019-01-18 06:41:36', '2019-01-17 18:41:36');
|
||||
INSERT INTO `sys_user_token` VALUES ('4', '21614c4ed82a5777a7e41c6df2c5803e', '2019-01-18 06:45:25', '2019-01-17 18:45:25');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for tb_user
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `tb_user`;
|
||||
CREATE TABLE `tb_user` (
|
||||
`user_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||
`mobile` varchar(20) NOT NULL COMMENT '手机号',
|
||||
`password` varchar(64) DEFAULT NULL COMMENT '密码',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `username` (`username`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of tb_user
|
||||
-- ----------------------------
|
||||
INSERT INTO `tb_user` VALUES ('1', 'mark', '13612345678', '8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', '2017-03-23 22:37:41');
|
||||
104
db/live_scene_TROY.sql
Normal file
104
db/live_scene_TROY.sql
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : localhost
|
||||
Source Server Version : 50534
|
||||
Source Host : localhost:3306
|
||||
Source Database : aijinan
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50534
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2019-01-19 14:52:16
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene`;
|
||||
CREATE TABLE `live_scene` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`title` varchar(255) DEFAULT NULL COMMENT '现场标题',
|
||||
`scene_type` smallint(6) DEFAULT NULL COMMENT '现场类型',
|
||||
`title_image` varchar(255) DEFAULT NULL COMMENT '标题图',
|
||||
`live_desc` varchar(255) DEFAULT NULL COMMENT '现场简介',
|
||||
`live_start` datetime DEFAULT NULL COMMENT '直播时间',
|
||||
`live_position` varchar(255) DEFAULT NULL COMMENT '直播地点',
|
||||
`live_state` smallint(6) DEFAULT NULL COMMENT '直播状态',
|
||||
`scene_mark` varchar(255) DEFAULT NULL COMMENT '现场备注',
|
||||
`scene_state` smallint(6) DEFAULT NULL COMMENT '现场状态',
|
||||
`direct_state` smallint(6) DEFAULT NULL COMMENT '导播状态',
|
||||
`process_id` int(11) DEFAULT NULL COMMENT '流程ID',
|
||||
`scene_sign` varchar(64) DEFAULT NULL COMMENT '现场唯一标识',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`creator_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`updator_id` int(11) DEFAULT NULL COMMENT '修改人',
|
||||
`delete_flag` smallint(6) DEFAULT NULL COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene_check
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene_check`;
|
||||
CREATE TABLE `live_scene_check` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`process_id` int(11) DEFAULT NULL COMMENT '流程ID',
|
||||
`node_id` int(11) DEFAULT NULL COMMENT '节点ID',
|
||||
`auditor_id` int(11) DEFAULT NULL COMMENT '审核人ID',
|
||||
`auditor_name` varchar(64) DEFAULT NULL COMMENT '审核人姓名',
|
||||
`autitor_act` varchar(16) DEFAULT NULL COMMENT '审核动作标识',
|
||||
`check_info` varchar(255) DEFAULT NULL COMMENT '审核说明',
|
||||
`check_date` datetime DEFAULT NULL COMMENT '操作时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场审核表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene_live_info
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene_live_info`;
|
||||
CREATE TABLE `live_scene_live_info` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`user_id` int(11) DEFAULT NULL COMMENT '人员ID',
|
||||
`push_url` varchar(255) DEFAULT NULL COMMENT '推流地址',
|
||||
`push_state` smallint(6) DEFAULT NULL COMMENT '推流状态',
|
||||
`push_start` datetime DEFAULT NULL COMMENT '推流开始时间',
|
||||
`push_end` datetime DEFAULT NULL COMMENT '推流结束时间',
|
||||
`play_url_rmtp` varchar(255) DEFAULT NULL COMMENT 'RMTP播流地址',
|
||||
`play_url_hls` varchar(255) DEFAULT NULL COMMENT 'HLS播流地址',
|
||||
`play_url_flv` varchar(255) DEFAULT NULL COMMENT 'FLV播流地址',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场直播信息表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 20190120 TROY 现场表 表结构调整
|
||||
-- ----------------------------
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `direct_start` datetime NULL COMMENT '导播台开始时间',
|
||||
ADD COLUMN `direct_end` datetime NULL COMMENT '导播台结束时间',
|
||||
ADD COLUMN `caster_id` int NULL COMMENT '导播台ID';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `live_caster`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_caster`;
|
||||
CREATE TABLE `live_caster` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`caster_id` varchar(64) DEFAULT NULL COMMENT '导播台Id',
|
||||
`caster_name` varchar(64) DEFAULT NULL COMMENT '导播台名称',
|
||||
`norm_type` smallint(6) DEFAULT NULL COMMENT '导播台规格类型',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '导播台过期时间',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`original_rtmp_url` varchar(255) DEFAULT NULL COMMENT '原画RTMP播放路径',
|
||||
`original_m3u8_url` varchar(255) DEFAULT NULL COMMENT '原画M3U8播放路径',
|
||||
`original_flv_url` varchar(255) DEFAULT NULL COMMENT '原画FLV播放路径',
|
||||
`data_state` smallint(6) DEFAULT NULL COMMENT '数据状态',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导播台信息表';
|
||||
23
db/live_scene_live_info_ext-zj-20190218.sql
Normal file
23
db/live_scene_live_info_ext-zj-20190218.sql
Normal file
@ -0,0 +1,23 @@
|
||||
DROP TABLE IF EXISTS `live_scene_live_info_ext`;
|
||||
CREATE TABLE `live_scene_live_info_ext` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`info_id` int(11) DEFAULT NULL COMMENT '现场Id',
|
||||
`push_url` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '推流地址',
|
||||
`play_url_rmtp` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'RMTP播流地址',
|
||||
`play_url_hls` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'HLS播流地址',
|
||||
`play_url_flv` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'FLV播流地址',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `info_name` varchar(128) NULL ,
|
||||
ADD COLUMN `info_type` smallint(6) NULL ,
|
||||
ADD COLUMN `push_domain` varchar(255) NULL ,
|
||||
ADD COLUMN `live_domain` varchar(255) NULL ,
|
||||
ADD COLUMN `app_name` varchar(255) NULL ,
|
||||
ADD COLUMN `stream_name` varchar(255) NULL ,
|
||||
DROP COLUMN `push_url`,
|
||||
DROP COLUMN `play_url_rmtp`,
|
||||
DROP COLUMN `play_url_hls`,
|
||||
DROP COLUMN `play_url_flv`;
|
||||
26
db/live_video_transcoding.sql
Normal file
26
db/live_video_transcoding.sql
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
CREATE TABLE `live_video_transcoding` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`request_id` varchar(255) DEFAULT NULL COMMENT '请求id',
|
||||
`task_id` varchar(255) DEFAULT NULL COMMENT '任务id',
|
||||
`task_status` char(1) DEFAULT NULL COMMENT '任务状态(0:增在处理,1处理完成)',
|
||||
`del_flag` char(1) DEFAULT NULL COMMENT '删除标志',
|
||||
`operate_id` varchar(255) DEFAULT NULL COMMENT '操作人',
|
||||
`video_url` varchar(255) DEFAULT NULL COMMENT '转码前的url',
|
||||
`format_video_url` varchar(255) DEFAULT NULL COMMENT '转码后的url',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '入库时间',
|
||||
`update_date` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
CREATE TABLE `live_video_transcoding_ext` (
|
||||
`id` int(11) NOT NULL,
|
||||
`request_params` text DEFAULT NULL COMMENT '后台请求的参数',
|
||||
`request_ali_params` text DEFAULT NULL COMMENT '请求阿里的参数',
|
||||
`response_ali_params` text DEFAULT NULL COMMENT '阿里响应的数据',
|
||||
`operater` char(1) DEFAULT NULL COMMENT '操作方式:0添加,1删除,2查询'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
ALTER TABLE `live_video_transcoding` ADD COLUMN `upload_state` CHAR(1) COMMENT '上传状态,0代表失败,1代表成功';
|
||||
ALTER TABLE `live_video_transcoding_ext` ADD COLUMN `create_date` DATETIME COMMENT '操作时间';
|
||||
|
||||
39
db/live_video_transcoding_message.sql
Normal file
39
db/live_video_transcoding_message.sql
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : localhost_3306
|
||||
Source Server Version : 50709
|
||||
Source Host : localhost:3306
|
||||
Source Database : aijinan
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50709
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2019-01-29 15:21:34
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `live_video_transcoding_message`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_video_transcoding_message`;
|
||||
CREATE TABLE `live_video_transcoding_message` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`authorization` varchar(255) DEFAULT NULL COMMENT '此次推送请求的签名',
|
||||
`request_id` varchar(255) DEFAULT NULL COMMENT '此次推送消息的 Request 编号',
|
||||
`signing_cert_url` varchar(255) DEFAULT NULL COMMENT '签名证书的地址(Base64编码过)',
|
||||
`message_id` varchar(255) DEFAULT NULL COMMENT '此次推送消息的 MessageId',
|
||||
`message_tag` varchar(255) DEFAULT NULL COMMENT '此次推送消息的消息标签',
|
||||
`job_id` varchar(255) DEFAULT NULL COMMENT '任务id',
|
||||
`trans_request_id` varchar(255) DEFAULT NULL COMMENT '转码请求的requestId',
|
||||
`type` varchar(64) DEFAULT NULL COMMENT '类型',
|
||||
`state` varchar(64) DEFAULT NULL COMMENT '状态',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of live_video_transcoding_message
|
||||
-- ----------------------------
|
||||
323
db/mssql.sql
Normal file
323
db/mssql.sql
Normal file
@ -0,0 +1,323 @@
|
||||
-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
|
||||
ALTER TABLE [dbo].[QRTZ_TRIGGERS] DROP CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
|
||||
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] DROP CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_CALENDARS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_LOCKS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_JOB_DETAILS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
|
||||
DROP TABLE [dbo].[QRTZ_TRIGGERS]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_CALENDARS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[CALENDAR_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[CALENDAR] [IMAGE] NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[CRON_EXPRESSION] [VARCHAR] (120) NOT NULL ,
|
||||
[TIME_ZONE_ID] [VARCHAR] (80)
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[ENTRY_ID] [VARCHAR] (95) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[FIRED_TIME] [BIGINT] NOT NULL ,
|
||||
[SCHED_TIME] [BIGINT] NOT NULL ,
|
||||
[PRIORITY] [INTEGER] NOT NULL ,
|
||||
[STATE] [VARCHAR] (16) NOT NULL,
|
||||
[JOB_NAME] [VARCHAR] (200) NULL ,
|
||||
[JOB_GROUP] [VARCHAR] (200) NULL ,
|
||||
[IS_NONCONCURRENT] [VARCHAR] (1) NULL ,
|
||||
[REQUESTS_RECOVERY] [VARCHAR] (1) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[LAST_CHECKIN_TIME] [BIGINT] NOT NULL ,
|
||||
[CHECKIN_INTERVAL] [BIGINT] NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_LOCKS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[LOCK_NAME] [VARCHAR] (40) NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[JOB_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[JOB_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[DESCRIPTION] [VARCHAR] (250) NULL ,
|
||||
[JOB_CLASS_NAME] [VARCHAR] (250) NOT NULL ,
|
||||
[IS_DURABLE] [VARCHAR] (1) NOT NULL ,
|
||||
[IS_NONCONCURRENT] [VARCHAR] (1) NOT NULL ,
|
||||
[IS_UPDATE_DATA] [VARCHAR] (1) NOT NULL ,
|
||||
[REQUESTS_RECOVERY] [VARCHAR] (1) NOT NULL ,
|
||||
[JOB_DATA] [IMAGE] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[REPEAT_COUNT] [BIGINT] NOT NULL ,
|
||||
[REPEAT_INTERVAL] [BIGINT] NOT NULL ,
|
||||
[TIMES_TRIGGERED] [BIGINT] NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[STR_PROP_1] [VARCHAR] (512) NULL,
|
||||
[STR_PROP_2] [VARCHAR] (512) NULL,
|
||||
[STR_PROP_3] [VARCHAR] (512) NULL,
|
||||
[INT_PROP_1] [INT] NULL,
|
||||
[INT_PROP_2] [INT] NULL,
|
||||
[LONG_PROP_1] [BIGINT] NULL,
|
||||
[LONG_PROP_2] [BIGINT] NULL,
|
||||
[DEC_PROP_1] [NUMERIC] (13,4) NULL,
|
||||
[DEC_PROP_2] [NUMERIC] (13,4) NULL,
|
||||
[BOOL_PROP_1] [VARCHAR] (1) NULL,
|
||||
[BOOL_PROP_2] [VARCHAR] (1) NULL,
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[BLOB_DATA] [IMAGE] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[QRTZ_TRIGGERS] (
|
||||
[SCHED_NAME] [VARCHAR] (120) NOT NULL ,
|
||||
[TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[JOB_NAME] [VARCHAR] (200) NOT NULL ,
|
||||
[JOB_GROUP] [VARCHAR] (200) NOT NULL ,
|
||||
[DESCRIPTION] [VARCHAR] (250) NULL ,
|
||||
[NEXT_FIRE_TIME] [BIGINT] NULL ,
|
||||
[PREV_FIRE_TIME] [BIGINT] NULL ,
|
||||
[PRIORITY] [INTEGER] NULL ,
|
||||
[TRIGGER_STATE] [VARCHAR] (16) NOT NULL ,
|
||||
[TRIGGER_TYPE] [VARCHAR] (8) NOT NULL ,
|
||||
[START_TIME] [BIGINT] NOT NULL ,
|
||||
[END_TIME] [BIGINT] NULL ,
|
||||
[CALENDAR_NAME] [VARCHAR] (200) NULL ,
|
||||
[MISFIRE_INSTR] [SMALLINT] NULL ,
|
||||
[JOB_DATA] [IMAGE] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[CALENDAR_NAME]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[ENTRY_ID]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[INSTANCE_NAME]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[LOCK_NAME]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[JOB_NAME],
|
||||
[JOB_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD
|
||||
CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD
|
||||
CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) REFERENCES [dbo].[QRTZ_TRIGGERS] (
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD
|
||||
CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) REFERENCES [dbo].[QRTZ_TRIGGERS] (
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD
|
||||
CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) REFERENCES [dbo].[QRTZ_TRIGGERS] (
|
||||
[SCHED_NAME],
|
||||
[TRIGGER_NAME],
|
||||
[TRIGGER_GROUP]
|
||||
) ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD
|
||||
CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY
|
||||
(
|
||||
[SCHED_NAME],
|
||||
[JOB_NAME],
|
||||
[JOB_GROUP]
|
||||
) REFERENCES [dbo].[QRTZ_JOB_DETAILS] (
|
||||
[SCHED_NAME],
|
||||
[JOB_NAME],
|
||||
[JOB_GROUP]
|
||||
)
|
||||
GO
|
||||
|
||||
365
db/mysql.sql
Normal file
365
db/mysql.sql
Normal file
@ -0,0 +1,365 @@
|
||||
-- 菜单
|
||||
CREATE TABLE `sys_menu` (
|
||||
`menu_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` bigint COMMENT '父菜单ID,一级菜单为0',
|
||||
`name` varchar(50) COMMENT '菜单名称',
|
||||
`url` varchar(200) COMMENT '菜单URL',
|
||||
`perms` varchar(500) COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
|
||||
`type` int COMMENT '类型 0:目录 1:菜单 2:按钮',
|
||||
`icon` varchar(50) COMMENT '菜单图标',
|
||||
`order_num` int COMMENT '排序',
|
||||
PRIMARY KEY (`menu_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='菜单管理';
|
||||
|
||||
-- 系统用户
|
||||
CREATE TABLE `sys_user` (
|
||||
`user_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||
`password` varchar(100) COMMENT '密码',
|
||||
`salt` varchar(20) COMMENT '盐',
|
||||
`email` varchar(100) COMMENT '邮箱',
|
||||
`mobile` varchar(100) COMMENT '手机号',
|
||||
`status` tinyint COMMENT '状态 0:禁用 1:正常',
|
||||
`create_user_id` bigint(20) COMMENT '创建者ID',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE INDEX (`username`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户';
|
||||
|
||||
-- 系统用户Token
|
||||
CREATE TABLE `sys_user_token` (
|
||||
`user_id` bigint(20) NOT NULL,
|
||||
`token` varchar(100) NOT NULL COMMENT 'token',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `token` (`token`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户Token';
|
||||
|
||||
-- 系统验证码
|
||||
CREATE TABLE `sys_captcha` (
|
||||
`uuid` char(36) NOT NULL COMMENT 'uuid',
|
||||
`code` varchar(6) NOT NULL COMMENT '验证码',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
PRIMARY KEY (`uuid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统验证码';
|
||||
|
||||
-- 角色
|
||||
CREATE TABLE `sys_role` (
|
||||
`role_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`role_name` varchar(100) COMMENT '角色名称',
|
||||
`remark` varchar(100) COMMENT '备注',
|
||||
`create_user_id` bigint(20) COMMENT '创建者ID',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
PRIMARY KEY (`role_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色';
|
||||
|
||||
-- 用户与角色对应关系
|
||||
CREATE TABLE `sys_user_role` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`user_id` bigint COMMENT '用户ID',
|
||||
`role_id` bigint COMMENT '角色ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户与角色对应关系';
|
||||
|
||||
-- 角色与菜单对应关系
|
||||
CREATE TABLE `sys_role_menu` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`role_id` bigint COMMENT '角色ID',
|
||||
`menu_id` bigint COMMENT '菜单ID',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
|
||||
|
||||
-- 系统配置信息
|
||||
CREATE TABLE `sys_config` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`key` varchar(50) COMMENT 'key',
|
||||
`value` varchar(2000) COMMENT 'value',
|
||||
`status` tinyint DEFAULT 1 COMMENT '状态 0:隐藏 1:显示',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX (`key`)
|
||||
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统配置信息表';
|
||||
|
||||
-- 系统日志
|
||||
CREATE TABLE `sys_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) COMMENT '用户名',
|
||||
`operation` varchar(50) COMMENT '用户操作',
|
||||
`method` varchar(200) COMMENT '请求方法',
|
||||
`params` varchar(5000) COMMENT '请求参数',
|
||||
`time` bigint NOT NULL COMMENT '执行时长(毫秒)',
|
||||
`ip` varchar(64) COMMENT 'IP地址',
|
||||
`create_date` datetime COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统日志';
|
||||
|
||||
-- 初始数据
|
||||
INSERT INTO `sys_user` (`user_id`, `username`, `password`, `salt`, `email`, `mobile`, `status`, `create_user_id`, `create_time`) VALUES ('1', 'admin', '9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d', 'YzcmCZNvbXocrsz9dm8e', 'root@renren.io', '13612345678', '1', '1', '2016-11-11 11:11:11');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('1', '0', '系统管理', NULL, NULL, '0', 'fa fa-cog', '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('2', '1', '管理员列表', 'modules/sys/user.html', NULL, '1', 'fa fa-user', '1');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('3', '1', '角色管理', 'modules/sys/role.html', NULL, '1', 'fa fa-user-secret', '2');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('4', '1', '菜单管理', 'modules/sys/menu.html', NULL, '1', 'fa fa-th-list', '3');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('5', '1', 'SQL监控', 'druid/sql.html', NULL, '1', 'fa fa-bug', '4');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('15', '2', '查看', NULL, 'sys:user:list,sys:user:info', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('16', '2', '新增', NULL, 'sys:user:save,sys:role:select', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('17', '2', '修改', NULL, 'sys:user:update,sys:role:select', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('18', '2', '删除', NULL, 'sys:user:delete', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('19', '3', '查看', NULL, 'sys:role:list,sys:role:info', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('20', '3', '新增', NULL, 'sys:role:save,sys:menu:list', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('21', '3', '修改', NULL, 'sys:role:update,sys:menu:list', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('22', '3', '删除', NULL, 'sys:role:delete', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('23', '4', '查看', NULL, 'sys:menu:list,sys:menu:info', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('24', '4', '新增', NULL, 'sys:menu:save,sys:menu:select', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('25', '4', '修改', NULL, 'sys:menu:update,sys:menu:select', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('26', '4', '删除', NULL, 'sys:menu:delete', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('27', '1', '参数管理', 'modules/sys/config.html', 'sys:config:list,sys:config:info,sys:config:save,sys:config:update,sys:config:delete', '1', 'fa fa-sun-o', '6');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('29', '1', '系统日志', 'modules/sys/log.html', 'sys:log:list', '1', 'fa fa-file-text-o', '7');
|
||||
|
||||
|
||||
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- 云存储服务相关SQL,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 文件上传
|
||||
CREATE TABLE `sys_oss` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`url` varchar(200) COMMENT 'URL地址',
|
||||
`create_date` datetime COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='文件上传';
|
||||
|
||||
INSERT INTO `sys_config` (`key`, `value`, `status`, `remark`) VALUES ('CLOUD_STORAGE_CONFIG_KEY', '{\"aliyunAccessKeyId\":\"\",\"aliyunAccessKeySecret\":\"\",\"aliyunBucketName\":\"\",\"aliyunDomain\":\"\",\"aliyunEndPoint\":\"\",\"aliyunPrefix\":\"\",\"qcloudBucketName\":\"\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qiniuAccessKey\":\"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ\",\"qiniuBucketName\":\"ios-app\",\"qiniuDomain\":\"http://7xqbwh.dl1.z0.glb.clouddn.com\",\"qiniuPrefix\":\"upload\",\"qiniuSecretKey\":\"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV\",\"type\":1}', '0', '云存储配置信息');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('30', '1', '文件上传', 'modules/oss/oss.html', 'sys:oss:all', '1', 'fa fa-file-image-o', '6');
|
||||
|
||||
|
||||
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- APP接口相关SQL,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 用户表
|
||||
CREATE TABLE `tb_user` (
|
||||
`user_id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||
`mobile` varchar(20) NOT NULL COMMENT '手机号',
|
||||
`password` varchar(64) COMMENT '密码',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE INDEX (`username`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户';
|
||||
|
||||
|
||||
-- 账号:13612345678 密码:admin
|
||||
INSERT INTO `tb_user` (`username`, `mobile`, `password`, `create_time`) VALUES ('mark', '13612345678', '8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', '2017-03-23 22:37:41');
|
||||
|
||||
|
||||
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- 定时任务相关表结构,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
|
||||
-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 初始化菜单数据
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('6', '1', '定时任务', 'modules/job/schedule.html', NULL, '1', 'fa fa-tasks', '5');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('7', '6', '查看', NULL, 'sys:schedule:list,sys:schedule:info', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('8', '6', '新增', NULL, 'sys:schedule:save', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('9', '6', '修改', NULL, 'sys:schedule:update', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('10', '6', '删除', NULL, 'sys:schedule:delete', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('11', '6', '暂停', NULL, 'sys:schedule:pause', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('12', '6', '恢复', NULL, 'sys:schedule:resume', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('13', '6', '立即执行', NULL, 'sys:schedule:run', '2', NULL, '0');
|
||||
INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('14', '6', '日志列表', NULL, 'sys:schedule:log', '2', NULL, '0');
|
||||
|
||||
-- 定时任务
|
||||
CREATE TABLE `schedule_job` (
|
||||
`job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
|
||||
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
|
||||
`method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
|
||||
`params` varchar(2000) DEFAULT NULL COMMENT '参数',
|
||||
`cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
|
||||
`status` tinyint(4) DEFAULT NULL COMMENT '任务状态 0:正常 1:暂停',
|
||||
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`job_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务';
|
||||
|
||||
-- 定时任务日志
|
||||
CREATE TABLE `schedule_job_log` (
|
||||
`log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志id',
|
||||
`job_id` bigint(20) NOT NULL COMMENT '任务id',
|
||||
`bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
|
||||
`method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
|
||||
`params` varchar(2000) DEFAULT NULL COMMENT '参数',
|
||||
`status` tinyint(4) NOT NULL COMMENT '任务状态 0:成功 1:失败',
|
||||
`error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
|
||||
`times` int(11) NOT NULL COMMENT '耗时(单位:毫秒)',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (`log_id`),
|
||||
KEY `job_id` (`job_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务日志';
|
||||
|
||||
|
||||
|
||||
INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
|
||||
INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
|
||||
|
||||
|
||||
-- quartz自带表结构
|
||||
CREATE TABLE QRTZ_JOB_DETAILS(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR(250) NULL,
|
||||
JOB_CLASS_NAME VARCHAR(250) NOT NULL,
|
||||
IS_DURABLE VARCHAR(1) NOT NULL,
|
||||
IS_NONCONCURRENT VARCHAR(1) NOT NULL,
|
||||
IS_UPDATE_DATA VARCHAR(1) NOT NULL,
|
||||
REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
|
||||
JOB_DATA BLOB NULL,
|
||||
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_TRIGGERS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR(250) NULL,
|
||||
NEXT_FIRE_TIME BIGINT(13) NULL,
|
||||
PREV_FIRE_TIME BIGINT(13) NULL,
|
||||
PRIORITY INTEGER NULL,
|
||||
TRIGGER_STATE VARCHAR(16) NOT NULL,
|
||||
TRIGGER_TYPE VARCHAR(8) NOT NULL,
|
||||
START_TIME BIGINT(13) NOT NULL,
|
||||
END_TIME BIGINT(13) NULL,
|
||||
CALENDAR_NAME VARCHAR(200) NULL,
|
||||
MISFIRE_INSTR SMALLINT(2) NULL,
|
||||
JOB_DATA BLOB NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
REPEAT_COUNT BIGINT(7) NOT NULL,
|
||||
REPEAT_INTERVAL BIGINT(12) NOT NULL,
|
||||
TIMES_TRIGGERED BIGINT(10) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_CRON_TRIGGERS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
CRON_EXPRESSION VARCHAR(120) NOT NULL,
|
||||
TIME_ZONE_ID VARCHAR(80),
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_SIMPROP_TRIGGERS
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
STR_PROP_1 VARCHAR(512) NULL,
|
||||
STR_PROP_2 VARCHAR(512) NULL,
|
||||
STR_PROP_3 VARCHAR(512) NULL,
|
||||
INT_PROP_1 INT NULL,
|
||||
INT_PROP_2 INT NULL,
|
||||
LONG_PROP_1 BIGINT NULL,
|
||||
LONG_PROP_2 BIGINT NULL,
|
||||
DEC_PROP_1 NUMERIC(13,4) NULL,
|
||||
DEC_PROP_2 NUMERIC(13,4) NULL,
|
||||
BOOL_PROP_1 VARCHAR(1) NULL,
|
||||
BOOL_PROP_2 VARCHAR(1) NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_BLOB_TRIGGERS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
BLOB_DATA BLOB NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_CALENDARS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
CALENDAR_NAME VARCHAR(200) NOT NULL,
|
||||
CALENDAR BLOB NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_FIRED_TRIGGERS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
ENTRY_ID VARCHAR(95) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR(200) NOT NULL,
|
||||
FIRED_TIME BIGINT(13) NOT NULL,
|
||||
SCHED_TIME BIGINT(13) NOT NULL,
|
||||
PRIORITY INTEGER NOT NULL,
|
||||
STATE VARCHAR(16) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NULL,
|
||||
JOB_GROUP VARCHAR(200) NULL,
|
||||
IS_NONCONCURRENT VARCHAR(1) NULL,
|
||||
REQUESTS_RECOVERY VARCHAR(1) NULL,
|
||||
PRIMARY KEY (SCHED_NAME,ENTRY_ID))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_SCHEDULER_STATE (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR(200) NOT NULL,
|
||||
LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
|
||||
CHECKIN_INTERVAL BIGINT(13) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE QRTZ_LOCKS (
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
LOCK_NAME VARCHAR(40) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,LOCK_NAME))
|
||||
ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
|
||||
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
|
||||
|
||||
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
|
||||
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
|
||||
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
|
||||
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
|
||||
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
|
||||
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
|
||||
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
|
||||
CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
|
||||
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
|
||||
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
|
||||
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
|
||||
188
db/oracle.sql
Normal file
188
db/oracle.sql
Normal file
@ -0,0 +1,188 @@
|
||||
-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
|
||||
|
||||
|
||||
|
||||
|
||||
delete from qrtz_fired_triggers;
|
||||
delete from qrtz_simple_triggers;
|
||||
delete from qrtz_simprop_triggers;
|
||||
delete from qrtz_cron_triggers;
|
||||
delete from qrtz_blob_triggers;
|
||||
delete from qrtz_triggers;
|
||||
delete from qrtz_job_details;
|
||||
delete from qrtz_calendars;
|
||||
delete from qrtz_paused_trigger_grps;
|
||||
delete from qrtz_locks;
|
||||
delete from qrtz_scheduler_state;
|
||||
|
||||
drop table qrtz_calendars;
|
||||
drop table qrtz_fired_triggers;
|
||||
drop table qrtz_blob_triggers;
|
||||
drop table qrtz_cron_triggers;
|
||||
drop table qrtz_simple_triggers;
|
||||
drop table qrtz_simprop_triggers;
|
||||
drop table qrtz_triggers;
|
||||
drop table qrtz_job_details;
|
||||
drop table qrtz_paused_trigger_grps;
|
||||
drop table qrtz_locks;
|
||||
drop table qrtz_scheduler_state;
|
||||
|
||||
|
||||
CREATE TABLE qrtz_job_details
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
JOB_NAME VARCHAR2(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR2(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR2(250) NULL,
|
||||
JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
|
||||
IS_DURABLE VARCHAR2(1) NOT NULL,
|
||||
IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
|
||||
IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
|
||||
REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
|
||||
JOB_DATA BLOB NULL,
|
||||
CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
JOB_NAME VARCHAR2(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR2(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR2(250) NULL,
|
||||
NEXT_FIRE_TIME NUMBER(13) NULL,
|
||||
PREV_FIRE_TIME NUMBER(13) NULL,
|
||||
PRIORITY NUMBER(13) NULL,
|
||||
TRIGGER_STATE VARCHAR2(16) NOT NULL,
|
||||
TRIGGER_TYPE VARCHAR2(8) NOT NULL,
|
||||
START_TIME NUMBER(13) NOT NULL,
|
||||
END_TIME NUMBER(13) NULL,
|
||||
CALENDAR_NAME VARCHAR2(200) NULL,
|
||||
MISFIRE_INSTR NUMBER(2) NULL,
|
||||
JOB_DATA BLOB NULL,
|
||||
CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_simple_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
REPEAT_COUNT NUMBER(7) NOT NULL,
|
||||
REPEAT_INTERVAL NUMBER(12) NOT NULL,
|
||||
TIMES_TRIGGERED NUMBER(10) NOT NULL,
|
||||
CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_cron_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
CRON_EXPRESSION VARCHAR2(120) NOT NULL,
|
||||
TIME_ZONE_ID VARCHAR2(80),
|
||||
CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_simprop_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
STR_PROP_1 VARCHAR2(512) NULL,
|
||||
STR_PROP_2 VARCHAR2(512) NULL,
|
||||
STR_PROP_3 VARCHAR2(512) NULL,
|
||||
INT_PROP_1 NUMBER(10) NULL,
|
||||
INT_PROP_2 NUMBER(10) NULL,
|
||||
LONG_PROP_1 NUMBER(13) NULL,
|
||||
LONG_PROP_2 NUMBER(13) NULL,
|
||||
DEC_PROP_1 NUMERIC(13,4) NULL,
|
||||
DEC_PROP_2 NUMERIC(13,4) NULL,
|
||||
BOOL_PROP_1 VARCHAR2(1) NULL,
|
||||
BOOL_PROP_2 VARCHAR2(1) NULL,
|
||||
CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_blob_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
BLOB_DATA BLOB NULL,
|
||||
CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_calendars
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
CALENDAR_NAME VARCHAR2(200) NOT NULL,
|
||||
CALENDAR BLOB NOT NULL,
|
||||
CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
|
||||
);
|
||||
CREATE TABLE qrtz_paused_trigger_grps
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
CREATE TABLE qrtz_fired_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
ENTRY_ID VARCHAR2(95) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR2(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR2(200) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR2(200) NOT NULL,
|
||||
FIRED_TIME NUMBER(13) NOT NULL,
|
||||
SCHED_TIME NUMBER(13) NOT NULL,
|
||||
PRIORITY NUMBER(13) NOT NULL,
|
||||
STATE VARCHAR2(16) NOT NULL,
|
||||
JOB_NAME VARCHAR2(200) NULL,
|
||||
JOB_GROUP VARCHAR2(200) NULL,
|
||||
IS_NONCONCURRENT VARCHAR2(1) NULL,
|
||||
REQUESTS_RECOVERY VARCHAR2(1) NULL,
|
||||
CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
|
||||
);
|
||||
CREATE TABLE qrtz_scheduler_state
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR2(200) NOT NULL,
|
||||
LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
|
||||
CHECKIN_INTERVAL NUMBER(13) NOT NULL,
|
||||
CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
|
||||
);
|
||||
CREATE TABLE qrtz_locks
|
||||
(
|
||||
SCHED_NAME VARCHAR2(120) NOT NULL,
|
||||
LOCK_NAME VARCHAR2(40) NOT NULL,
|
||||
CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
|
||||
);
|
||||
|
||||
create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
|
||||
create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
|
||||
|
||||
create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
|
||||
create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
|
||||
create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
|
||||
create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
|
||||
create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
|
||||
create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
|
||||
create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
|
||||
|
||||
|
||||
186
db/postgresql.sql
Normal file
186
db/postgresql.sql
Normal file
@ -0,0 +1,186 @@
|
||||
-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
|
||||
|
||||
|
||||
|
||||
drop table qrtz_fired_triggers;
|
||||
DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
|
||||
DROP TABLE QRTZ_SCHEDULER_STATE;
|
||||
DROP TABLE QRTZ_LOCKS;
|
||||
drop table qrtz_simple_triggers;
|
||||
drop table qrtz_cron_triggers;
|
||||
drop table qrtz_simprop_triggers;
|
||||
DROP TABLE QRTZ_BLOB_TRIGGERS;
|
||||
drop table qrtz_triggers;
|
||||
drop table qrtz_job_details;
|
||||
drop table qrtz_calendars;
|
||||
|
||||
CREATE TABLE qrtz_job_details
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR(250) NULL,
|
||||
JOB_CLASS_NAME VARCHAR(250) NOT NULL,
|
||||
IS_DURABLE BOOL NOT NULL,
|
||||
IS_NONCONCURRENT BOOL NOT NULL,
|
||||
IS_UPDATE_DATA BOOL NOT NULL,
|
||||
REQUESTS_RECOVERY BOOL NOT NULL,
|
||||
JOB_DATA BYTEA NULL,
|
||||
PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NOT NULL,
|
||||
JOB_GROUP VARCHAR(200) NOT NULL,
|
||||
DESCRIPTION VARCHAR(250) NULL,
|
||||
NEXT_FIRE_TIME BIGINT NULL,
|
||||
PREV_FIRE_TIME BIGINT NULL,
|
||||
PRIORITY INTEGER NULL,
|
||||
TRIGGER_STATE VARCHAR(16) NOT NULL,
|
||||
TRIGGER_TYPE VARCHAR(8) NOT NULL,
|
||||
START_TIME BIGINT NOT NULL,
|
||||
END_TIME BIGINT NULL,
|
||||
CALENDAR_NAME VARCHAR(200) NULL,
|
||||
MISFIRE_INSTR SMALLINT NULL,
|
||||
JOB_DATA BYTEA NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_simple_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
REPEAT_COUNT BIGINT NOT NULL,
|
||||
REPEAT_INTERVAL BIGINT NOT NULL,
|
||||
TIMES_TRIGGERED BIGINT NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_cron_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
CRON_EXPRESSION VARCHAR(120) NOT NULL,
|
||||
TIME_ZONE_ID VARCHAR(80),
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_simprop_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
STR_PROP_1 VARCHAR(512) NULL,
|
||||
STR_PROP_2 VARCHAR(512) NULL,
|
||||
STR_PROP_3 VARCHAR(512) NULL,
|
||||
INT_PROP_1 INT NULL,
|
||||
INT_PROP_2 INT NULL,
|
||||
LONG_PROP_1 BIGINT NULL,
|
||||
LONG_PROP_2 BIGINT NULL,
|
||||
DEC_PROP_1 NUMERIC(13,4) NULL,
|
||||
DEC_PROP_2 NUMERIC(13,4) NULL,
|
||||
BOOL_PROP_1 BOOL NULL,
|
||||
BOOL_PROP_2 BOOL NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_blob_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
BLOB_DATA BYTEA NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
||||
FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_calendars
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
CALENDAR_NAME VARCHAR(200) NOT NULL,
|
||||
CALENDAR BYTEA NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE qrtz_paused_trigger_grps
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_fired_triggers
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
ENTRY_ID VARCHAR(95) NOT NULL,
|
||||
TRIGGER_NAME VARCHAR(200) NOT NULL,
|
||||
TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR(200) NOT NULL,
|
||||
FIRED_TIME BIGINT NOT NULL,
|
||||
SCHED_TIME BIGINT NOT NULL,
|
||||
PRIORITY INTEGER NOT NULL,
|
||||
STATE VARCHAR(16) NOT NULL,
|
||||
JOB_NAME VARCHAR(200) NULL,
|
||||
JOB_GROUP VARCHAR(200) NULL,
|
||||
IS_NONCONCURRENT BOOL NULL,
|
||||
REQUESTS_RECOVERY BOOL NULL,
|
||||
PRIMARY KEY (SCHED_NAME,ENTRY_ID)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_scheduler_state
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
INSTANCE_NAME VARCHAR(200) NOT NULL,
|
||||
LAST_CHECKIN_TIME BIGINT NOT NULL,
|
||||
CHECKIN_INTERVAL BIGINT NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
|
||||
);
|
||||
|
||||
CREATE TABLE qrtz_locks
|
||||
(
|
||||
SCHED_NAME VARCHAR(120) NOT NULL,
|
||||
LOCK_NAME VARCHAR(40) NOT NULL,
|
||||
PRIMARY KEY (SCHED_NAME,LOCK_NAME)
|
||||
);
|
||||
|
||||
create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
|
||||
create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
|
||||
|
||||
create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
|
||||
create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
|
||||
create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
|
||||
create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
|
||||
create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
|
||||
|
||||
create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
|
||||
create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
|
||||
create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
|
||||
create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
|
||||
create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
|
||||
|
||||
|
||||
commit;
|
||||
77
db/scene_troy_190119.sql
Normal file
77
db/scene_troy_190119.sql
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : localhost
|
||||
Source Server Version : 50534
|
||||
Source Host : localhost:3306
|
||||
Source Database : aijinan
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50534
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2019-01-19 14:52:16
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene`;
|
||||
CREATE TABLE `live_scene` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`title` varchar(255) DEFAULT NULL COMMENT '现场标题',
|
||||
`scene_type` smallint(6) DEFAULT NULL COMMENT '现场类型',
|
||||
`title_image` varchar(255) DEFAULT NULL COMMENT '标题图',
|
||||
`live_desc` varchar(255) DEFAULT NULL COMMENT '现场简介',
|
||||
`live_start` datetime DEFAULT NULL COMMENT '直播时间',
|
||||
`live_position` varchar(255) DEFAULT NULL COMMENT '直播地点',
|
||||
`live_state` smallint(6) DEFAULT NULL COMMENT '直播状态',
|
||||
`scene_mark` varchar(255) DEFAULT NULL COMMENT '现场备注',
|
||||
`scene_state` smallint(6) DEFAULT NULL COMMENT '现场状态',
|
||||
`direct_state` smallint(6) DEFAULT NULL COMMENT '导播状态',
|
||||
`process_id` int(11) DEFAULT NULL COMMENT '流程ID',
|
||||
`scene_sign` varchar(64) DEFAULT NULL COMMENT '现场唯一标识',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`creator_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`updator_id` int(11) DEFAULT NULL COMMENT '修改人',
|
||||
`delete_flag` smallint(6) DEFAULT NULL COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene_check
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene_check`;
|
||||
CREATE TABLE `live_scene_check` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`process_id` int(11) DEFAULT NULL COMMENT '流程ID',
|
||||
`node_id` int(11) DEFAULT NULL COMMENT '节点ID',
|
||||
`auditor_id` int(11) DEFAULT NULL COMMENT '审核人ID',
|
||||
`auditor_name` varchar(64) DEFAULT NULL COMMENT '审核人姓名',
|
||||
`autitor_act` varchar(16) DEFAULT NULL COMMENT '审核动作标识',
|
||||
`check_info` varchar(255) DEFAULT NULL COMMENT '审核说明',
|
||||
`check_date` datetime DEFAULT NULL COMMENT '操作时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场审核表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for live_scene_live_info
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `live_scene_live_info`;
|
||||
CREATE TABLE `live_scene_live_info` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`user_id` int(11) DEFAULT NULL COMMENT '人员ID',
|
||||
`push_url` varchar(255) DEFAULT NULL COMMENT '推流地址',
|
||||
`push_state` smallint(6) DEFAULT NULL COMMENT '推流状态',
|
||||
`push_start` datetime DEFAULT NULL COMMENT '推流开始时间',
|
||||
`push_end` datetime DEFAULT NULL COMMENT '推流结束时间',
|
||||
`play_url_rmtp` varchar(255) DEFAULT NULL COMMENT 'RMTP播流地址',
|
||||
`play_url_hls` varchar(255) DEFAULT NULL COMMENT 'HLS播流地址',
|
||||
`play_url_flv` varchar(255) DEFAULT NULL COMMENT 'FLV播流地址',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场直播信息表';
|
||||
23
db/video.sql
Normal file
23
db/video.sql
Normal file
@ -0,0 +1,23 @@
|
||||
DROP TABLE IF EXISTS `video`;
|
||||
CREATE TABLE `video` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`title_img` varchar(64) DEFAULT NULL COMMENT '标题图',
|
||||
`title` varchar(255) DEFAULT NULL COMMENT '标题',
|
||||
`file_size` varchar(64) DEFAULT NULL COMMENT '文件大小',
|
||||
`duration_time` varchar(64) DEFAULT NULL COMMENT '时长',
|
||||
`publish_channel` varchar(64) DEFAULT NULL COMMENT '发布渠道',
|
||||
`create_method` varchar(64) DEFAULT NULL COMMENT '创建方式',
|
||||
`status` tinyint(1) DEFAULT '0' COMMENT '视频的状态(0,草稿,1,审核中,2,成品)',
|
||||
`video_type` varchar(64) DEFAULT NULL COMMENT '视频的类型',
|
||||
`date` date DEFAULT NULL COMMENT '时间',
|
||||
`server_video_path` varchar(64) DEFAULT NULL COMMENT '服务器的视频路径',
|
||||
`digest` varchar(255) DEFAULT NULL COMMENT '摘要',
|
||||
`opinion` varchar(255) DEFAULT NULL COMMENT '审核意见',
|
||||
`create_date` date DEFAULT NULL COMMENT '创建日期',
|
||||
`create_user` int(4) DEFAULT NULL COMMENT '创建人',
|
||||
`update_date` date DEFAULT NULL COMMENT '修改日期',
|
||||
`update_user` tinyint(4) DEFAULT NULL COMMENT '修改人',
|
||||
`is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
22
db/weiyan_20190119.sql
Normal file
22
db/weiyan_20190119.sql
Normal file
@ -0,0 +1,22 @@
|
||||
DROP TABLE IF EXISTS `live_report`;
|
||||
CREATE TABLE `live_report` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`scene_id` int(11) NOT NULL COMMENT '现场ID',
|
||||
`report_type` int(4) NOT NULL COMMENT '报道类型 1视频 2音频 3图文 4文字',
|
||||
`title` varchar(300) DEFAULT NULL COMMENT '报道标题',
|
||||
`user_id` int(11) DEFAULT NULL COMMENT '报道记者ID',
|
||||
`img_list` varchar(512) DEFAULT NULL COMMENT '图片路径,多张用,分割',
|
||||
`media_url` varchar(512) DEFAULT NULL COMMENT '视频、音频回看URL地址',
|
||||
`content` text COMMENT '报道内容',
|
||||
`create_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
|
||||
`is_release` tinyint(1) DEFAULT 0 COMMENT '是否发布 0未发布 1 已发布',
|
||||
`release_user` int(11) DEFAULT NULL COMMENT '发布人',
|
||||
`release_date` varchar(25) DEFAULT NULL COMMENT '发布时间',
|
||||
`last_update_user` int(11) DEFAULT NULL COMMENT '最后操作人',
|
||||
`last_update_date` datetime DEFAULT NULL COMMENT '最后操作时间',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `INDEX_id` (`scene_id`),
|
||||
KEY `INDEX_S` (`id`,`scene_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '直播报道';
|
||||
16
db/weiyan_20190215.sql
Normal file
16
db/weiyan_20190215.sql
Normal file
@ -0,0 +1,16 @@
|
||||
DROP TABLE IF EXISTS `live_comment`;
|
||||
CREATE TABLE `live_comment` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`source` int(4) NOT NULL COMMENT '评论来源 1用户 2后台 3第三方',
|
||||
`text` varchar(500) DEFAULT NULL COMMENT '评论内容',
|
||||
`scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
|
||||
`create_id` int(11) DEFAULT NULL COMMENT '评论人',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '评论时间',
|
||||
`is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
|
||||
`is_release` tinyint(1) DEFAULT 0 COMMENT '是否发布 0未发布 1 已发布',
|
||||
`release_user` int(11) DEFAULT NULL COMMENT '发布人',
|
||||
`release_date` datetime DEFAULT NULL COMMENT '发布时间',
|
||||
`last_update_user` int(11) DEFAULT NULL COMMENT '最后操作人',
|
||||
`last_update_date` datetime DEFAULT NULL COMMENT '最后操作时间',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '现场评论';
|
||||
16
db/weiyan_20190220.sql
Normal file
16
db/weiyan_20190220.sql
Normal file
@ -0,0 +1,16 @@
|
||||
DROP TABLE IF EXISTS `live_scene_count`;
|
||||
CREATE TABLE `live_scene_count` (
|
||||
`scene_id` int(11) NOT NULL,
|
||||
`views` int(11) NOT NULL DEFAULT '0' COMMENT '总访问数',
|
||||
`views_show` int(11) NOT NULL DEFAULT '0' COMMENT '前端显示访问数',
|
||||
`views_month` int(11) NOT NULL DEFAULT '0' COMMENT '月访问数',
|
||||
`views_week` int(11) NOT NULL DEFAULT '0' COMMENT '周访问数',
|
||||
`views_day` int(11) NOT NULL DEFAULT '0' COMMENT '日访问数',
|
||||
`comments` int(11) NOT NULL DEFAULT '0' COMMENT '总评论数',
|
||||
`comments_show` int(11) NOT NULL DEFAULT '0' COMMENT '前端显示评论数',
|
||||
`comments_month` int(11) NOT NULL DEFAULT '0' COMMENT '月评论数',
|
||||
`comments_week` smallint(6) NOT NULL DEFAULT '0' COMMENT '周评论数',
|
||||
`comments_day` smallint(6) NOT NULL DEFAULT '0' COMMENT '日评论数',
|
||||
`last_update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||
PRIMARY KEY (`scene_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='现场直播计数表';
|
||||
4
db/weiyan_20190222.sql
Normal file
4
db/weiyan_20190222.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `file_duration` bigint NULL DEFAULT 0 COMMENT '音视频时长',
|
||||
ADD COLUMN `file_size` bigint NULL DEFAULT 0 COMMENT '文件大小';
|
||||
|
||||
3
db/weiyan_20190227.sql
Normal file
3
db/weiyan_20190227.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `is_top` tinyint(1) NULL DEFAULT 0 COMMENT '是否置顶 0未置顶 1 置顶' AFTER `is_release`,
|
||||
ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前' AFTER `is_top`;
|
||||
4
db/weiyan_20190305.sql
Normal file
4
db/weiyan_20190305.sql
Normal file
@ -0,0 +1,4 @@
|
||||
ALTER TABLE `sys_user`
|
||||
ADD COLUMN `gender` tinyint(1) NULL DEFAULT NULL COMMENT '性别 0:女 1:男' AFTER `mobile`,
|
||||
ADD COLUMN `user_img` varchar(255) NULL DEFAULT NULL COMMENT '用户头像' AFTER `gender`,
|
||||
ADD COLUMN `intro` varchar(255) NULL DEFAULT NULL COMMENT '用户介绍' AFTER `user_img`;
|
||||
9
db/weiyan_20190308.sql
Normal file
9
db/weiyan_20190308.sql
Normal file
@ -0,0 +1,9 @@
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
|
||||
|
||||
ALTER TABLE `live_scene_record`
|
||||
ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
|
||||
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `is_top` tinyint(1) NULL DEFAULT 0 COMMENT '是否置顶 0未置顶 1 置顶',
|
||||
ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
|
||||
28
db/weiyan_20190312.sql
Normal file
28
db/weiyan_20190312.sql
Normal file
@ -0,0 +1,28 @@
|
||||
DROP TABLE IF EXISTS `live_multimedia`;
|
||||
CREATE TABLE `live_multimedia` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`title` varchar(200) DEFAULT NULL COMMENT '标题',
|
||||
`media_type` int(11) DEFAULT NULL COMMENT '素材类型 1视频 2语音 3图片',
|
||||
`request_id` varchar(100) DEFAULT NULL COMMENT '请求ID',
|
||||
`cate_id` varchar(100) DEFAULT NULL COMMENT '视频分类ID。',
|
||||
`media_size` int(11) DEFAULT '0' COMMENT '素材资源大小,单位:字节。',
|
||||
`media_duration` float(11,0) DEFAULT '0' COMMENT '源文件时长 ,单位:秒',
|
||||
`media_width` int(11) DEFAULT '0' COMMENT '源文件宽 ,源片为纯音频不会该字段',
|
||||
`media_height` int(11) DEFAULT '0' COMMENT '源文件高 ,源片为纯音频不会有该字段',
|
||||
`media_bitrate` varchar(255) DEFAULT NULL COMMENT '源文件码率 ,单位:Kbps',
|
||||
`media_fps` varchar(255) DEFAULT NULL COMMENT '源文件帧率 ,每秒多少帧,源片为纯音频不会有该字段',
|
||||
`media_snapshots` varchar(1000) DEFAULT NULL COMMENT '视频快照',
|
||||
`ori_file_name` varchar(255) DEFAULT NULL,
|
||||
`cover_url` varchar(1000) DEFAULT NULL COMMENT '视频封面图',
|
||||
`tags` varchar(600) DEFAULT NULL COMMENT '标签 单个标签不超过32字节,最多不超过16个标签,多个用","分隔。',
|
||||
`media_id` varchar(50) DEFAULT NULL COMMENT '媒资ID',
|
||||
`media_url` varchar(200) DEFAULT NULL COMMENT '媒资地址。如果配置了CDN域名则返回CDN地址,否则为OSS地址。',
|
||||
`description` varchar(1000) DEFAULT NULL COMMENT '素材描述。',
|
||||
`state` smallint(1) DEFAULT '0' COMMENT '状态 0 上传中 1上传成功 2 上传失败',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建日期',
|
||||
`creator_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`last_update_date` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`last_update_user` int(11) DEFAULT NULL COMMENT '修改人',
|
||||
`is_delete` smallint(1) DEFAULT '0' COMMENT '是否删除 0 未删除 1删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='素材信息';
|
||||
3
db/weiyan_20190320.sql
Normal file
3
db/weiyan_20190320.sql
Normal file
@ -0,0 +1,3 @@
|
||||
ALTER TABLE `live_multimedia`
|
||||
ADD COLUMN `media_source` smallint(2) NULL COMMENT '视频来源 1直播录制 2 素材上传' AFTER `media_type`;
|
||||
|
||||
18
db/weiyan_20190328.sql
Normal file
18
db/weiyan_20190328.sql
Normal file
@ -0,0 +1,18 @@
|
||||
DROP TABLE IF EXISTS `live_channel`;
|
||||
CREATE TABLE `live_channel` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '栏目数据ID',
|
||||
`name` varchar(200) DEFAULT NULL COMMENT '栏目名称',
|
||||
`identify` varchar(200) DEFAULT NULL COMMENT '栏目标识',
|
||||
`priority` int(11) DEFAULT NULL COMMENT '排序,数字越大,排序越靠前',
|
||||
`is_display` smallint(1) DEFAULT '1' COMMENT '是否显示 0 不显示 1显示',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建日期',
|
||||
`creator_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`last_update_date` datetime DEFAULT NULL COMMENT '修改时间',
|
||||
`last_update_user` int(11) DEFAULT NULL COMMENT '修改人',
|
||||
`is_delete` smallint(1) DEFAULT '0' COMMENT '是否删除 0 未删除 1删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='现场栏目信息';
|
||||
|
||||
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `channel_id` int(11) NULL COMMENT '栏目ID' AFTER `id`;
|
||||
16
db/weiyan_20190423.sql
Normal file
16
db/weiyan_20190423.sql
Normal file
@ -0,0 +1,16 @@
|
||||
ALTER TABLE `live_scene`
|
||||
ADD COLUMN `auditor_id` int(11) NULL DEFAULT NULL COMMENT '实际审核人Id',
|
||||
ADD COLUMN `audit_date` datetime NULL DEFAULT NULL COMMENT '审核时间',
|
||||
ADD COLUMN `channels_name` varchar(255) NULL DEFAULT NULL COMMENT '栏目名称(多选)';
|
||||
|
||||
DROP TABLE IF EXISTS `live_scene_channel`;
|
||||
CREATE TABLE `live_scene_channel` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`scene_id` int(11) NOT NULL,
|
||||
`channel_id` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='现场与栏目对应关系';
|
||||
|
||||
|
||||
insert into live_scene_channel(scene_id,channel_id) select id,channel_id from live_scene bean where bean.channel_id is not NULL;
|
||||
update live_scene a SET a.channels_name=(SELECT c.`name` FROM live_channel as c where c.id=a.channel_id)
|
||||
25
db/weiyan_20200410.sql
Normal file
25
db/weiyan_20200410.sql
Normal file
@ -0,0 +1,25 @@
|
||||
DROP TABLE IF EXISTS `live_task_allocation`;
|
||||
CREATE TABLE `live_task_allocation` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||
`uri` varchar(500) DEFAULT NULL COMMENT '语音url',
|
||||
`text` varchar(500) DEFAULT NULL COMMENT '语音内容',
|
||||
`duration_time` int(11) DEFAULT NULL COMMENT '语音时长',
|
||||
`reporter_id` int(11) DEFAULT NULL COMMENT '记者ID',
|
||||
`create_id` int(11) DEFAULT NULL COMMENT '创建人',
|
||||
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
|
||||
`is_read` tinyint(1) DEFAULT 0 COMMENT '是否发布 0 未读 1 已读',
|
||||
`read_date` datetime DEFAULT NULL COMMENT '阅读时间',
|
||||
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '任务分配';
|
||||
|
||||
|
||||
ALTER TABLE `live_task_allocation`
|
||||
ADD COLUMN `task_id` varchar(20) NULL DEFAULT NULL COMMENT 'taskId' AFTER `id`;
|
||||
|
||||
ALTER TABLE `live_task_allocation`
|
||||
MODIFY COLUMN `reporter_id` varchar(500) NULL DEFAULT NULL COMMENT '记者ID' AFTER `duration_time`;
|
||||
|
||||
ALTER TABLE `live_report`
|
||||
ADD COLUMN `related_report` varchar(512) NULL DEFAULT NULL COMMENT '相关报道' AFTER `tenant_id`;
|
||||
8
db/weiyan_20210115.sql
Normal file
8
db/weiyan_20210115.sql
Normal file
@ -0,0 +1,8 @@
|
||||
ALTER TABLE `live_scene_live_info`
|
||||
MODIFY COLUMN `info_type` smallint(6) NULL DEFAULT NULL COMMENT '类型,1:记者,2:直播间,3:第三方拉流' AFTER `info_name`,
|
||||
ADD COLUMN `pull_start` datetime NULL COMMENT '拉流开始时间' AFTER `tenant_id`,
|
||||
ADD COLUMN `pull_end` datetime NULL COMMENT '拉流结束时间' AFTER `pull_start`;
|
||||
|
||||
ALTER TABLE `live_scene_live_info_ext`
|
||||
ADD COLUMN `pull_url` varchar(500) NULL COMMENT '拉流地址' AFTER `tenant_id`;
|
||||
|
||||
231
pom-war.xml
Normal file
231
pom-war.xml
Normal file
@ -0,0 +1,231 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.poly</groupId>
|
||||
<artifactId>ifs</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<packaging>war</packaging>
|
||||
<description>war包对应的pom,打war包,执行【mvn clean package -f pom-war.xml】</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>1.5.10.RELEASE</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<mybatisplus.spring.boot.version>1.0.5</mybatisplus.spring.boot.version>
|
||||
<mybatisplus.version>2.1.9</mybatisplus.version>
|
||||
<mysql.version>5.1.38</mysql.version>
|
||||
<druid.version>1.1.3</druid.version>
|
||||
<quartz.version>2.3.0</quartz.version>
|
||||
<commons.lang.version>2.6</commons.lang.version>
|
||||
<commons.fileupload.version>1.3.1</commons.fileupload.version>
|
||||
<commons.io.version>2.5</commons.io.version>
|
||||
<commons.codec.version>1.10</commons.codec.version>
|
||||
<commons.configuration.version>1.10</commons.configuration.version>
|
||||
<shiro.version>1.3.2</shiro.version>
|
||||
<jwt.version>0.7.0</jwt.version>
|
||||
<kaptcha.version>0.0.9</kaptcha.version>
|
||||
<qiniu.version>[7.2.0, 7.2.99]</qiniu.version>
|
||||
<aliyun.oss.version>2.5.0</aliyun.oss.version>
|
||||
<qcloud.cos.version>4.4</qcloud.cos.version>
|
||||
<swagger.version>2.2.2</swagger.version>
|
||||
<joda.time.version>2.9.9</joda.time.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatisplus-spring-boot-starter</artifactId>
|
||||
<version>${mybatisplus.spring.boot.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus</artifactId>
|
||||
<version>${mybatisplus.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>${mysql.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>${druid.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
<version>${quartz.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.mchange</groupId>
|
||||
<artifactId>c3p0</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<version>${commons.lang.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
<version>${commons.fileupload.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>${commons.io.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>${commons.codec.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-configuration</groupId>
|
||||
<artifactId>commons-configuration</artifactId>
|
||||
<version>${commons.configuration.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-core</artifactId>
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-spring</artifactId>
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt</artifactId>
|
||||
<version>${jwt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.axet</groupId>
|
||||
<artifactId>kaptcha</artifactId>
|
||||
<version>${kaptcha.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
<version>${swagger.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
<version>${swagger.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
<version>${qiniu.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
<version>${aliyun.oss.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos_api</artifactId>
|
||||
<version>${qcloud.cos.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>${joda.time.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>${artifactId}</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- 跳过单元测试 -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skipTests>true</skipTests>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>public</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>public</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</project>
|
||||
431
pom.xml
Normal file
431
pom.xml
Normal file
@ -0,0 +1,431 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.poly</groupId>
|
||||
<artifactId>platform</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<packaging>jar</packaging>
|
||||
<description>pluralism-media</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>1.5.10.RELEASE</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<mybatisplus.spring.boot.version>2.1.9</mybatisplus.spring.boot.version>
|
||||
<mybatisplus.version>2.1.9</mybatisplus.version>
|
||||
<mysql.version>5.1.38</mysql.version>
|
||||
<druid.version>1.1.3</druid.version>
|
||||
<quartz.version>2.3.0</quartz.version>
|
||||
<commons.lang.version>2.6</commons.lang.version>
|
||||
<commons.fileupload.version>1.3.1</commons.fileupload.version>
|
||||
<commons.io.version>2.5</commons.io.version>
|
||||
<commons.codec.version>1.10</commons.codec.version>
|
||||
<commons.configuration.version>1.10</commons.configuration.version>
|
||||
<shiro.version>1.3.2</shiro.version>
|
||||
<jwt.version>0.7.0</jwt.version>
|
||||
<kaptcha.version>0.0.9</kaptcha.version>
|
||||
<qiniu.version>[7.2.0, 7.2.99]</qiniu.version>
|
||||
<aliyun.oss.version>3.10.2</aliyun.oss.version>
|
||||
<qcloud.cos.version>4.4</qcloud.cos.version>
|
||||
<swagger.version>2.9.2</swagger.version>
|
||||
<joda.time.version>2.9.9</joda.time.version>
|
||||
<lucene.version>7.7.0</lucene.version>
|
||||
|
||||
<t-io.version>0.0.9-tio-http</t-io.version>
|
||||
|
||||
<!--wagon plugin 配置-->
|
||||
<service-path>/work/platform</service-path>
|
||||
<pack-name>${project.artifactId}-${project.version}.jar</pack-name>
|
||||
<remote-addr>192.168.1.10:22</remote-addr>
|
||||
<remote-username>root</remote-username>
|
||||
<remote-passwd>123456</remote-passwd>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
<!--<scope>provided</scope>-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!--<dependency>-->
|
||||
<!--<groupId>org.springframework.boot</groupId>-->
|
||||
<!--<artifactId>spring-boot-devtools</artifactId>-->
|
||||
<!--<optional>true</optional>-->
|
||||
<!--</dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>${mybatisplus.spring.boot.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus</artifactId>
|
||||
<version>${mybatisplus.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>${mysql.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>${druid.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
<version>${quartz.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.mchange</groupId>
|
||||
<artifactId>c3p0</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<version>${commons.lang.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-fileupload</groupId>
|
||||
<artifactId>commons-fileupload</artifactId>
|
||||
<version>${commons.fileupload.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>${commons.io.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>${commons.codec.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-configuration</groupId>
|
||||
<artifactId>commons-configuration</artifactId>
|
||||
<version>${commons.configuration.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-core</artifactId>
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.shiro</groupId>
|
||||
<artifactId>shiro-spring</artifactId>
|
||||
<version>${shiro.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.jsonwebtoken</groupId>
|
||||
<artifactId>jjwt</artifactId>
|
||||
<version>${jwt.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.axet</groupId>
|
||||
<artifactId>kaptcha</artifactId>
|
||||
<version>${kaptcha.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger2</artifactId>
|
||||
<version>${swagger.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>swagger-bootstrap-ui</artifactId>
|
||||
<version>1.9.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.springfox</groupId>
|
||||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
<version>${swagger.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
<version>${qiniu.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
<version>${aliyun.oss.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos_api</artifactId>
|
||||
<version>${qcloud.cos.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>${joda.time.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.t-io</groupId>
|
||||
<artifactId>tio-http-common</artifactId>
|
||||
<version>${t-io.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jave</groupId>
|
||||
<artifactId>jave</artifactId>
|
||||
<scope>system</scope>
|
||||
<version>1.0.2</version>
|
||||
<systemPath>${project.basedir}/lib/jave-1.0.2.jar</systemPath>
|
||||
</dependency>
|
||||
<!--Lombok-->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.16.16</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!--ali sdk-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-core</artifactId>
|
||||
<version>4.5.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-messaging</artifactId>
|
||||
<version>4.3.14.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-websocket</artifactId>
|
||||
<version>4.2.4.RELEASE</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!---->
|
||||
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-mts</artifactId>
|
||||
<version>2.5.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-live</artifactId>
|
||||
<version>3.7.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.46</version>
|
||||
</dependency>
|
||||
<!--vod-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-sdk-vod</artifactId>
|
||||
<version>2.15.11</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>aliyun-java-vod-upload</artifactId>
|
||||
<scope>system</scope>
|
||||
<version>1.4.13</version>
|
||||
<systemPath>${project.basedir}/lib/aliyun-java-vod-upload-1.4.13.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
<artifactId>json</artifactId>
|
||||
<version>20170516</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.sf.json-lib</groupId>
|
||||
<artifactId>json-lib</artifactId>
|
||||
<version>2.4</version>
|
||||
<classifier>jdk15</classifier>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>jdk.tools</groupId>
|
||||
<artifactId>jdk.tools</artifactId>
|
||||
<version>1.8</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
|
||||
|
||||
</dependency>
|
||||
<!-- lucene -->
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-core</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-analyzers-common</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.lucene</groupId>
|
||||
<artifactId>lucene-queryparser</artifactId>
|
||||
<version>${lucene.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>3.3.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.tencentyun</groupId>
|
||||
<artifactId>tls-sig-api</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.jianggujin</groupId>
|
||||
<artifactId>IKAnalyzer-lucene</artifactId>
|
||||
<version>8.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<extensions>
|
||||
<extension>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-ssh</artifactId>
|
||||
<version>2.8</version>
|
||||
</extension>
|
||||
</extensions>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
<includeSystemScope>true</includeSystemScope>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- 跳过单元测试 -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skipTests>true</skipTests>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>wagon-maven-plugin</artifactId>
|
||||
<version>1.0</version>
|
||||
<configuration>
|
||||
<fromFile>target/${pack-name}</fromFile>
|
||||
<url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url>
|
||||
<commands>
|
||||
<!-- Kill Old Process -->
|
||||
<command>pkill -f ${pack-name}</command>
|
||||
<command>rm -f ${service-path}/platform.log</command>
|
||||
<!-- Restart jar package,write result into platform.log -->
|
||||
<command>
|
||||
<![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=test > ${service-path}/platform.log 2>&1 & ]]></command>
|
||||
<command><![CDATA[netstat -nptl]]></command>
|
||||
<command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
|
||||
</commands>
|
||||
<!-- 运行命令 mvn clean package wagon:upload-single wagon:sshexec-->
|
||||
<displayCommandOutputs>true</displayCommandOutputs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>com.spotify</groupId>
|
||||
<artifactId>docker-maven-plugin</artifactId>
|
||||
<version>0.4.14</version>
|
||||
<!--<executions>-->
|
||||
<!--<execution>-->
|
||||
<!--<phase>package</phase>-->
|
||||
<!--<goals>-->
|
||||
<!--<goal>build</goal>-->
|
||||
<!--</goals>-->
|
||||
<!--</execution>-->
|
||||
<!--</executions>-->
|
||||
<configuration>
|
||||
<imageName>renren/fast</imageName>
|
||||
<dockerDirectory>${project.basedir}</dockerDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<targetPath>/</targetPath>
|
||||
<directory>${project.build.directory}</directory>
|
||||
<include>${project.build.finalName}.jar</include>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
<!-- 运行命令 mvn clean package docker:build 打包并生成docker镜像 -->
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>public</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>public</id>
|
||||
<name>aliyun nexus</name>
|
||||
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
</project>
|
||||
42
src/main/java/com/platform/PlatformApplication.java
Normal file
42
src/main/java/com/platform/PlatformApplication.java
Normal file
@ -0,0 +1,42 @@
|
||||
package com.platform;
|
||||
|
||||
import com.platform.datasources.DynamicDataSourceConfig;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
|
||||
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
|
||||
import org.springframework.boot.web.support.SpringBootServletInitializer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
|
||||
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
|
||||
@Import({DynamicDataSourceConfig.class})
|
||||
@EnableAsync
|
||||
public class PlatformApplication extends SpringBootServletInitializer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(PlatformApplication.class, args);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||
return application.sources(PlatformApplication.class);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public EmbeddedServletContainerFactory servletContainer() {
|
||||
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
|
||||
// factory.setPort(9000);
|
||||
factory.setSessionTimeout(1, TimeUnit.DAYS);
|
||||
// factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html"));
|
||||
return factory;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
package com.platform.autoconfigure.live;
|
||||
|
||||
import com.platform.plugs.live.config.*;
|
||||
import com.platform.plugs.common.rpc.DefaultRequestParams;
|
||||
import com.platform.plugs.common.rpc.Profile;
|
||||
import com.platform.plugs.live.LiveClient;
|
||||
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* @Author TONG
|
||||
* @Date 2019/2/18 14:23
|
||||
**/
|
||||
@Configuration
|
||||
@ConditionalOnClass({LiveClient.class})
|
||||
@EnableConfigurationProperties({LiveProperties.class})
|
||||
public class LiveAutoConfiguration {
|
||||
|
||||
private final LiveProperties properties;
|
||||
|
||||
private LiveClient liveClient;
|
||||
|
||||
public LiveAutoConfiguration(LiveProperties properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public LiveClient liveClient() {
|
||||
this.liveClient = createLiveClient();
|
||||
return liveClient;
|
||||
}
|
||||
|
||||
private LiveClient createLiveClient() {
|
||||
|
||||
this.liveClient = new LiveClient(
|
||||
new Profile(properties.getCommon().getRegionId(), properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret()),
|
||||
new DefaultRequestParams(properties.getCommon().getDomain(), properties.getCommon().getVersion()));
|
||||
|
||||
LiveProperties.LiveRecord liveRecord = properties.getRecord();
|
||||
// LiveRecordConfig liveRecordConfig = new LiveRecordConfig(
|
||||
// liveRecord.getDomainName(), liveRecord.getOssBucket(), liveRecord.getOssEndpoint(),
|
||||
// liveRecord.getRecordFormat().getRecordFormat(), liveRecord.getRecordFormat().getOssRecordPrefix() + liveRecord.getRecordFormat().getOssObjectPrefix(), null,
|
||||
// liveRecord.getOnDemand(), liveRecord.getRecordFormat().getCycleDuration());
|
||||
LiveRecordConfig liveRecordConfig = new LiveRecordConfig(
|
||||
liveRecord.getDomainName(), liveRecord.getVodTranscodeGroupIdMp4(), liveRecord.getVodTranscodeGroupIdMp3(), liveRecord.getVodRecordCategory(), liveRecord.getRecordFormat().getCycleDuration());
|
||||
this.liveClient.configLiveRecord(liveRecordConfig);
|
||||
|
||||
LiveProperties.LiveDomains domains = properties.getDomains();
|
||||
LiveStreamConfig liveStreamConfig = new LiveStreamConfig(
|
||||
domains.getPush().getDomainName(), domains.getPush().getKey(),
|
||||
domains.getLive().getDomainName(), domains.getLive().getKey());
|
||||
if(domains.getPush().getAuthTime() != null)
|
||||
liveStreamConfig.setPushAuthTime(domains.getPush().getAuthTime());
|
||||
if(domains.getLive().getAuthTime() != null)
|
||||
liveStreamConfig.setLiveAuthTime(domains.getLive().getAuthTime());
|
||||
this.liveClient.configLiveStream(liveStreamConfig);
|
||||
|
||||
LiveProperties.LiveCaster caster = properties.getCaster();
|
||||
String ossObjectPrefix = liveRecord.getRecordFormat().getOssRecordPrefix() + (liveRecord.getRecordFormat().getOssObjectPrefix().replaceAll("Escaped", ""));
|
||||
LiveCasterConfig liveCasterConfig = new LiveCasterConfig(
|
||||
domains.getLive().getDomainName(), caster.getCasterTemplate(), caster.getLiveTemplateIds(),
|
||||
liveRecord.getOssBucket(), liveRecord.getOssEndpoint(), liveRecord.getRecordFormat().getRecordFormat(),
|
||||
ossObjectPrefix, null, liveRecord.getRecordFormat().getCycleDuration());
|
||||
this.liveClient.configLiveCaster(liveCasterConfig);
|
||||
|
||||
LiveUploadToVoDConfig liveUploadToVoDConfig = new LiveUploadToVoDConfig(properties.getAccount().getAccessKeyId(),properties.getAccount().getSecret(),domains.getMedia().getDomainName(), domains.getMedia().getBucket(), domains.getMedia().getEndpoint(), domains.getMedia().getApiRegionId());
|
||||
this.liveClient.configLiveUploadToVoD(liveUploadToVoDConfig);
|
||||
|
||||
LiveTransCodeConfig liveTransCodeConfig = new LiveTransCodeConfig(properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret(), properties.getCommon().getRegionId());
|
||||
this.liveClient.configLiveTransCode(liveTransCodeConfig);
|
||||
|
||||
// LiveAudioConfig liveAudioConfig = new LiveAudioConfig(properties.getAudio().getRecognition().getAppKey(), properties.getAudio().getRecognition().getRegionId(), properties.getAudio().getRecognition().getEndpointName(),
|
||||
// properties.getAudio().getRecognition().getProduct(), properties.getAudio().getRecognition().getDomainName(), properties.getAudio().getRecognition().getApiVersion(), properties.getAudio().getRecognition().getPostRequestAction(),
|
||||
// properties.getAudio().getRecognition().getGetRequestAction(), properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret(), properties.getAudio().getRecognition().getCallbackDomainName());
|
||||
// this.liveClient.configLiveAudio(liveAudioConfig);
|
||||
|
||||
LivePullStreamConfig livePullStreamConfig = new LivePullStreamConfig(domains.getLive().getDomainName(), properties.getAccount().getAccessKeyId(),properties.getAccount().getSecret(), properties.getCommon().getRegionId());
|
||||
this.liveClient.configLivePullStream(livePullStreamConfig);
|
||||
|
||||
return this.liveClient;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,334 @@
|
||||
package com.platform.autoconfigure.live;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 直播配置
|
||||
*
|
||||
* @Author TONG
|
||||
* @Date 2019/2/18 11:39
|
||||
**/
|
||||
@ConfigurationProperties("zkdx.live")
|
||||
@Data
|
||||
public class LiveProperties {
|
||||
|
||||
/**
|
||||
* 直播账号配置
|
||||
*/
|
||||
private final LiveAccount account = new LiveAccount();
|
||||
/**
|
||||
* 直播基础配置
|
||||
*/
|
||||
private final LiveCommon common = new LiveCommon();
|
||||
/**
|
||||
* 直播域名
|
||||
*/
|
||||
private final LiveDomains domains = new LiveDomains();
|
||||
/**
|
||||
* 直播录制配置
|
||||
*/
|
||||
private final LiveRecord record = new LiveRecord();
|
||||
/**
|
||||
* 导播台配置
|
||||
*/
|
||||
private final LiveCaster caster = new LiveCaster();
|
||||
/**
|
||||
* 语音配置
|
||||
*/
|
||||
private final LiveAudio audio = new LiveAudio();
|
||||
/**
|
||||
* 微信配置
|
||||
*/
|
||||
private final LiveWeixin weixin = new LiveWeixin();
|
||||
/**
|
||||
* 转码模板
|
||||
*/
|
||||
private List<Template> templates;
|
||||
/**
|
||||
* 图片压缩
|
||||
* */
|
||||
private final CompressImage compressImage = new CompressImage();
|
||||
|
||||
@Data
|
||||
public static class LiveAccount {
|
||||
private String accessKeyId;
|
||||
private String secret;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveCommon {
|
||||
private String regionId = "cn-shanghai";
|
||||
private String domain = "live.aliyuncs.com";
|
||||
private String version = "2017-03-21";
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveDomains {
|
||||
/**
|
||||
* 推流域名
|
||||
*/
|
||||
private Domain push = new Domain();
|
||||
/**
|
||||
* 播流域名
|
||||
*/
|
||||
private Domain live = new Domain();
|
||||
|
||||
/**
|
||||
* 煤资库
|
||||
*
|
||||
* @author weiyan 20190311
|
||||
*/
|
||||
private Media media = new Media();
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveAudio{
|
||||
/*
|
||||
* 语音识别
|
||||
* @author weiyan 20200408
|
||||
*/
|
||||
private Recognition recognition = new Recognition();
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveWeixin {
|
||||
private String appId;
|
||||
private String appSecret;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveCaster {
|
||||
/**
|
||||
* 输出模板lp_ud: 超清 lp_hd: 高清 lp_sd: 标清 lp_ld: 流畅
|
||||
*/
|
||||
private String casterTemplate = "lp_ud";
|
||||
/**
|
||||
* 转码输出模板 lld: 流畅 lsd: 标清 lhd: 高清 lud: 超清
|
||||
*/
|
||||
private List<String> liveTemplateIds = new ArrayList<>();
|
||||
|
||||
public void setLiveTemplateIds(List<String> liveTemplateIds) {
|
||||
if (liveTemplateIds != null && liveTemplateIds.size() > 0)
|
||||
this.liveTemplateIds = liveTemplateIds;
|
||||
else {
|
||||
switch (this.casterTemplate) {
|
||||
|
||||
case "lp_ud":
|
||||
liveTemplateIds.add("lld");
|
||||
liveTemplateIds.add("lsd");
|
||||
liveTemplateIds.add("lhd");
|
||||
liveTemplateIds.add("lud");
|
||||
break;
|
||||
case "lp_hd":
|
||||
liveTemplateIds.add("lld");
|
||||
liveTemplateIds.add("lsd");
|
||||
liveTemplateIds.add("lhd");
|
||||
break;
|
||||
case "lp_sd":
|
||||
liveTemplateIds.add("lld");
|
||||
liveTemplateIds.add("lsd");
|
||||
break;
|
||||
case "lp_ld":
|
||||
liveTemplateIds.add("lld");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Domain {
|
||||
/**
|
||||
* 域名名称
|
||||
*/
|
||||
private String domainName;
|
||||
/**
|
||||
* URL鉴权key
|
||||
*/
|
||||
private String key;
|
||||
/**
|
||||
* URL鉴权时间, 默认30分钟
|
||||
*/
|
||||
private Integer authTime = 30 * 60;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Media {
|
||||
|
||||
/**
|
||||
* 域名名称
|
||||
*/
|
||||
private String domainName;
|
||||
/**
|
||||
* 煤资库Bucket名称
|
||||
*/
|
||||
private String bucket;
|
||||
/**
|
||||
* 煤资库Endpoint域名
|
||||
*/
|
||||
private String endpoint;
|
||||
/**
|
||||
* 点播服务接入点
|
||||
*/
|
||||
private String apiRegionId;
|
||||
/**
|
||||
* 模板组ID
|
||||
*/
|
||||
private String templateGroupId;
|
||||
|
||||
public String getTemplateGroupId() {
|
||||
return templateGroupId;
|
||||
}
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveRecord {
|
||||
|
||||
/**
|
||||
* 加速域名
|
||||
*/
|
||||
private String domainName;
|
||||
/**
|
||||
* 视频转码模板ID
|
||||
*/
|
||||
private String vodTranscodeGroupIdMp4;
|
||||
|
||||
/**
|
||||
* 音频转码模板ID
|
||||
*/
|
||||
private String vodTranscodeGroupIdMp3;
|
||||
|
||||
/**
|
||||
* 录制默认分类
|
||||
*/
|
||||
private String vodRecordCategory;
|
||||
/**
|
||||
* OssBucket名称
|
||||
*/
|
||||
private String ossBucket;
|
||||
/**
|
||||
* 媒资库Bucket名称
|
||||
*/
|
||||
private String mediaBucket;
|
||||
/**
|
||||
* OssEndpoint域名
|
||||
* oss-cn-shanghai.aliyuncs.com
|
||||
*/
|
||||
private String ossEndpoint = "oss-cn-shanghai.aliyuncs.com";
|
||||
/**
|
||||
* 按需录制
|
||||
* 0表示关闭
|
||||
* 1表示通过HTTP回调方式,使用1方式时候需要设置OnDemandCallback,否则默认不录制
|
||||
* 2表示通过推流参数方式
|
||||
*/
|
||||
private Integer onDemand;
|
||||
/**
|
||||
* 直播录制格式
|
||||
*/
|
||||
private final LiveRecordFormat recordFormat = new LiveRecordFormat();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class LiveRecordFormat {
|
||||
/**
|
||||
* 周期录制时长。单位:秒。不填则默认为 6 小时。
|
||||
*/
|
||||
private Integer cycleDuration = 60 * 60 * 6;
|
||||
/**
|
||||
* 格式。目前支持 m3u8、flv、mp4 周期录制。
|
||||
*/
|
||||
private String recordFormat = "mp4";
|
||||
/**
|
||||
* OSS 存储的录制文件名
|
||||
* live-record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}
|
||||
*/
|
||||
private String ossObjectPrefix = "/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}";
|
||||
|
||||
/**
|
||||
* 更细后生成回顾地址
|
||||
*/
|
||||
private String ossRecordPrefix = "live-record";
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Template {
|
||||
|
||||
/**
|
||||
* 模板名称
|
||||
*/
|
||||
String templateName;
|
||||
/**
|
||||
* 模板id
|
||||
*/
|
||||
String templateId;
|
||||
/**
|
||||
* 分辨率:宽
|
||||
*/
|
||||
String wide;
|
||||
/**
|
||||
* 分辨率:高
|
||||
*/
|
||||
String high;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class CompressImage{
|
||||
/**
|
||||
* 图片等比压缩
|
||||
* */
|
||||
String geometricFormat;
|
||||
/**
|
||||
* 图片强制宽高压缩
|
||||
* */
|
||||
String mandatoryFormat;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Recognition{
|
||||
/**
|
||||
* 管控台项目的appkey
|
||||
*/
|
||||
String appKey;
|
||||
/**
|
||||
* 服务接入点
|
||||
*/
|
||||
String regionId;
|
||||
/**
|
||||
* 服务总结点
|
||||
*/
|
||||
String endpointName;
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
String product;
|
||||
/**
|
||||
* 域名
|
||||
*/
|
||||
String domainName;
|
||||
/**
|
||||
* API的版本号
|
||||
*/
|
||||
String apiVersion;
|
||||
/**
|
||||
* post提交的action
|
||||
*/
|
||||
String postRequestAction;
|
||||
/**
|
||||
* get提交的action
|
||||
*/
|
||||
String getRequestAction;
|
||||
/**
|
||||
* 回调域名
|
||||
* */
|
||||
String callbackDomainName;
|
||||
}
|
||||
}
|
||||
18
src/main/java/com/platform/common/annotation/SysLog.java
Normal file
18
src/main/java/com/platform/common/annotation/SysLog.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.platform.common.annotation;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* 系统日志注解
|
||||
*/
|
||||
@Target(ElementType.METHOD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface SysLog {
|
||||
|
||||
String value() default "";
|
||||
}
|
||||
36
src/main/java/com/platform/common/aspect/RedisAspect.java
Normal file
36
src/main/java/com/platform/common/aspect/RedisAspect.java
Normal file
@ -0,0 +1,36 @@
|
||||
package com.platform.common.aspect;
|
||||
|
||||
import com.platform.common.exception.RRException;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* Redis切面处理类
|
||||
*/
|
||||
@Aspect
|
||||
@Configuration
|
||||
public class RedisAspect {
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
//是否开启redis缓存 true开启 false关闭
|
||||
@Value("${spring.redis.open: false}")
|
||||
private boolean open;
|
||||
|
||||
@Around("execution(* com.platform.common.utils.RedisUtils.*(..))")
|
||||
public Object around(ProceedingJoinPoint point) throws Throwable {
|
||||
Object result = null;
|
||||
if(open){
|
||||
try{
|
||||
result = point.proceed();
|
||||
}catch (Exception e){
|
||||
logger.error("redis error", e);
|
||||
throw new RRException("Redis服务异常");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
108
src/main/java/com/platform/common/aspect/SysLogAspect.java
Normal file
108
src/main/java/com/platform/common/aspect/SysLogAspect.java
Normal file
@ -0,0 +1,108 @@
|
||||
package com.platform.common.aspect;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.platform.common.annotation.SysLog;
|
||||
import com.platform.common.utils.HttpContextUtils;
|
||||
import com.platform.common.utils.IPUtils;
|
||||
import com.platform.modules.live.constants.SceneConstants;
|
||||
import com.platform.modules.sys.entity.SysLogEntity;
|
||||
import com.platform.modules.sys.entity.SysUserEntity;
|
||||
import com.platform.modules.sys.service.SysLogService;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* 系统日志,切面处理类
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
public class SysLogAspect {
|
||||
@Autowired
|
||||
private SysLogService sysLogService;
|
||||
|
||||
@Pointcut("@annotation(com.platform.common.annotation.SysLog)")
|
||||
public void logPointCut() {
|
||||
|
||||
}
|
||||
|
||||
@Around("logPointCut()")
|
||||
public Object around(ProceedingJoinPoint point) throws Throwable {
|
||||
long beginTime = System.currentTimeMillis();
|
||||
//执行方法
|
||||
Object result = point.proceed();
|
||||
//执行时长(毫秒)
|
||||
long time = System.currentTimeMillis() - beginTime;
|
||||
|
||||
//保存日志
|
||||
saveSysLog(point, time);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void saveSysLog(ProceedingJoinPoint joinPoint, long time) {
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
|
||||
SysLogEntity sysLog = new SysLogEntity();
|
||||
|
||||
SysLog syslog = method.getAnnotation(SysLog.class);
|
||||
if(syslog != null){
|
||||
//注解上的描述
|
||||
sysLog.setOperation(syslog.value());
|
||||
}
|
||||
|
||||
//请求的方法名
|
||||
String className = joinPoint.getTarget().getClass().getName();
|
||||
String methodName = signature.getName();
|
||||
sysLog.setMethod(className + "." + methodName + "()");
|
||||
|
||||
//请求的参数
|
||||
Object[] args = joinPoint.getArgs();
|
||||
try{
|
||||
String params = new Gson().toJson(args[0]);
|
||||
sysLog.setParams(params);
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
|
||||
//获取request
|
||||
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
|
||||
//设置IP地址
|
||||
sysLog.setIp(IPUtils.getIpAddr(request));
|
||||
//用户名
|
||||
String username = SecurityUtils.getSubject().getPrincipal()==null ? null : ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername();
|
||||
if(className=="com.platform.modules.qk.controller.CloudClipsController" || className.equals("com.platform.modules.qk.controller.CloudClipsController")){
|
||||
username = "趣看";
|
||||
}else if("com.platform.modules.live.controller.LiveNotifyController".equals(className)){
|
||||
username = "阿里云";
|
||||
// try {
|
||||
Object liveNotifyControllerNotifyMsg = request.getAttribute(SceneConstants.LIVENOTIFY_REQUESTMSG);
|
||||
if(liveNotifyControllerNotifyMsg != null)
|
||||
sysLog.setParams(liveNotifyControllerNotifyMsg.toString());
|
||||
// } catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
}
|
||||
sysLog.setUsername(username);
|
||||
|
||||
sysLog.setTime(time);
|
||||
sysLog.setCreateDate(new Date());
|
||||
//保存系统日志
|
||||
sysLogService.insert(sysLog);
|
||||
}
|
||||
}
|
||||
51
src/main/java/com/platform/common/exception/RRException.java
Normal file
51
src/main/java/com/platform/common/exception/RRException.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.platform.common.exception;
|
||||
|
||||
/**
|
||||
* 自定义异常
|
||||
*/
|
||||
public class RRException extends RuntimeException {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String msg;
|
||||
private int code = 500;
|
||||
|
||||
public RRException(String msg) {
|
||||
super(msg);
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public RRException(String msg, Throwable e) {
|
||||
super(msg, e);
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public RRException(String msg, int code) {
|
||||
super(msg);
|
||||
this.msg = msg;
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public RRException(String msg, int code, Throwable e) {
|
||||
super(msg, e);
|
||||
this.msg = msg;
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMsg() {
|
||||
return msg;
|
||||
}
|
||||
|
||||
public void setMsg(String msg) {
|
||||
this.msg = msg;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
package com.platform.common.exception;
|
||||
|
||||
import com.platform.common.utils.R;
|
||||
import org.apache.shiro.authz.AuthorizationException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
|
||||
/**
|
||||
* 异常处理器
|
||||
*/
|
||||
@RestControllerAdvice
|
||||
public class RRExceptionHandler {
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
/**
|
||||
* 处理自定义异常
|
||||
*/
|
||||
@ExceptionHandler(RRException.class)
|
||||
public R handleRRException(RRException e){
|
||||
R r = new R();
|
||||
r.put("code", e.getCode());
|
||||
r.put("msg", e.getMessage());
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
@ExceptionHandler(DuplicateKeyException.class)
|
||||
public R handleDuplicateKeyException(DuplicateKeyException e){
|
||||
logger.error(e.getMessage(), e);
|
||||
return R.error("数据库中已存在该记录");
|
||||
}
|
||||
|
||||
@ExceptionHandler(AuthorizationException.class)
|
||||
public R handleAuthorizationException(AuthorizationException e){
|
||||
logger.error(e.getMessage(), e);
|
||||
return R.error("没有权限,请联系管理员授权");
|
||||
}
|
||||
|
||||
@ExceptionHandler(Exception.class)
|
||||
public R handleException(Exception e){
|
||||
logger.error(e.getMessage(), e);
|
||||
return R.error();
|
||||
}
|
||||
}
|
||||
15
src/main/java/com/platform/common/utils/ConfigConstant.java
Normal file
15
src/main/java/com/platform/common/utils/ConfigConstant.java
Normal file
@ -0,0 +1,15 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
/**
|
||||
* 系统参数相关Key
|
||||
*/
|
||||
public class ConfigConstant {
|
||||
/**
|
||||
* 云存储配置KEY
|
||||
*/
|
||||
public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
|
||||
/**
|
||||
* 现场计数器清除时间
|
||||
*/
|
||||
public static final String SCENE_COUNT_CLEAR_TIME = "SCENE_COUNT_CLEAR_TIME";
|
||||
}
|
||||
95
src/main/java/com/platform/common/utils/Constant.java
Normal file
95
src/main/java/com/platform/common/utils/Constant.java
Normal file
@ -0,0 +1,95 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
/**
|
||||
* 常量
|
||||
*/
|
||||
public class Constant {
|
||||
/** 超级管理员ID */
|
||||
public static final int SUPER_ADMIN = 1;
|
||||
|
||||
// public static final String DEFAULT_TENENT_COLUMN = "tenant_id";
|
||||
|
||||
public static final String REDIS_SYS_TENANT_ENTITY = "sys:tenant:entity";
|
||||
|
||||
public static final String REDIS_LOCATION_REPORT = "app:location:report";
|
||||
/**
|
||||
* 菜单类型
|
||||
*/
|
||||
public enum MenuType {
|
||||
/**
|
||||
* 目录
|
||||
*/
|
||||
CATALOG(0),
|
||||
/**
|
||||
* 菜单
|
||||
*/
|
||||
MENU(1),
|
||||
/**
|
||||
* 按钮
|
||||
*/
|
||||
BUTTON(2);
|
||||
|
||||
private int value;
|
||||
|
||||
MenuType(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时任务状态
|
||||
*/
|
||||
public enum ScheduleStatus {
|
||||
/**
|
||||
* 正常
|
||||
*/
|
||||
NORMAL(0),
|
||||
/**
|
||||
* 暂停
|
||||
*/
|
||||
PAUSE(1);
|
||||
|
||||
private int value;
|
||||
|
||||
ScheduleStatus(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 云服务商
|
||||
*/
|
||||
public enum CloudService {
|
||||
/**
|
||||
* 七牛云
|
||||
*/
|
||||
QINIU(1),
|
||||
/**
|
||||
* 阿里云
|
||||
*/
|
||||
ALIYUN(2),
|
||||
/**
|
||||
* 腾讯云
|
||||
*/
|
||||
QCLOUD(3);
|
||||
|
||||
private int value;
|
||||
|
||||
CloudService(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
161
src/main/java/com/platform/common/utils/ConverterUtils.java
Normal file
161
src/main/java/com/platform/common/utils/ConverterUtils.java
Normal file
@ -0,0 +1,161 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ConverterUtils {
|
||||
|
||||
/**
|
||||
* <将obj转换为string,如果obj为null则返回defaultVal>
|
||||
*
|
||||
* @param obj 需要转换为string的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return obj转换为string
|
||||
*/
|
||||
public static String parseString(Object obj, String defaultVal){
|
||||
return (obj != null) ? obj.toString() : defaultVal;
|
||||
}
|
||||
/**
|
||||
* <将obj转换为string,默认为空>
|
||||
*
|
||||
* @param obj 需要转换为string的对象
|
||||
* @return 将对象转换为string的字符串
|
||||
*/
|
||||
public static String parseString(Object obj){
|
||||
return parseString(obj, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* <将对象转换为int>
|
||||
*
|
||||
* @param obj 需要转换为int的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return obj转换成的int值
|
||||
*/
|
||||
public static Integer parseInt(Object obj, Integer defaultVal) {
|
||||
try
|
||||
{
|
||||
return (obj != null) ? Integer.parseInt(parseString(obj, "0")) : defaultVal;
|
||||
}catch(Exception e)
|
||||
{
|
||||
}
|
||||
return defaultVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* <将对象转换为int>
|
||||
*
|
||||
* @param obj 需要转换为int的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return obj转换成的int值
|
||||
*/
|
||||
public static Integer parseInt(Object obj)
|
||||
{
|
||||
return parseInt(obj, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* <将对象转换为Integer>
|
||||
*
|
||||
* @param obj 需要转换为Integer的对象
|
||||
* @return obj转换成的Integer值
|
||||
*/
|
||||
public static Integer parseInteger(Object obj)
|
||||
{
|
||||
return parseInt(obj, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* <将对象转换为int>
|
||||
*
|
||||
* @param obj 需要转换为int的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return obj转换成的int值
|
||||
*/
|
||||
public static Float parseFloat(Object obj, float defaultVal)
|
||||
{
|
||||
return (obj != null) ? Float.parseFloat(parseString(obj, "0")) : defaultVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* <将对象转换为Float>
|
||||
*
|
||||
* @param obj 需要转换为Float的对象
|
||||
* @return obj转换成的Float值
|
||||
*/
|
||||
public static Float parseFloat(Object obj)
|
||||
{
|
||||
return parseFloat(obj, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* <将obj转换为long>
|
||||
*
|
||||
* @param obj 需要转换的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return 如果obj为空则返回默认,不为空则返回转换后的long结果
|
||||
*/
|
||||
public static Long parseLong(Object obj, long defaultVal)
|
||||
{
|
||||
return (obj != null) ? Long.parseLong(parseString(obj)) : defaultVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* <将obj转换为long>
|
||||
*
|
||||
* @param obj 需要转换的对象
|
||||
* @return 如果obj为空则返回默认的0l,不为空则返回转换后的long结果
|
||||
*/
|
||||
public static Long parseLong(Object obj)
|
||||
{
|
||||
return parseLong(obj, 0l);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将object转换为double类型,如果出错则返回 defaultVal
|
||||
* @param obj 需要转换的对象
|
||||
* @param defaultVal 默认值
|
||||
* @return 转换后的结果
|
||||
*/
|
||||
public static Double parseDouble(Object obj,Double defaultVal)
|
||||
{
|
||||
try
|
||||
{
|
||||
return Double.parseDouble(obj.toString());
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return defaultVal;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将object转换为double类型,如果出错则返回 0d
|
||||
* @param obj 需要转换的对象
|
||||
* @return 转换后的结果
|
||||
*/
|
||||
public static double parseDouble(Object obj)
|
||||
{
|
||||
return parseDouble(obj,0d);
|
||||
}
|
||||
|
||||
/**
|
||||
* <将List<Object>转换为List<Map<String, Object>>>
|
||||
*
|
||||
* @param list 需要转换的list
|
||||
* @return 转换的结果
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<Map<String, Object>> converterForMapList(List<Object> list)
|
||||
{
|
||||
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
|
||||
for (Object tempObj : list)
|
||||
{
|
||||
result.add((HashMap<String, Object>)tempObj);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
180
src/main/java/com/platform/common/utils/DateUtils.java
Normal file
180
src/main/java/com/platform/common/utils/DateUtils.java
Normal file
@ -0,0 +1,180 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.joda.time.format.DateTimeFormat;
|
||||
import org.joda.time.format.DateTimeFormatter;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 日期处理
|
||||
*/
|
||||
public class DateUtils {
|
||||
/** 时间格式(yyyy-MM-dd) */
|
||||
public final static String DATE_PATTERN = "yyyy-MM-dd";
|
||||
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
||||
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
||||
public final static String DATE_TIME_SHORT_PATTERN = "MM-dd HH:mm";
|
||||
/** 时间格式(yyyy-MM-dd HH:mm) */
|
||||
public final static String DATE_TIME_MINUTE_PATTERN = "yyyy-MM-dd HH:mm";
|
||||
|
||||
/**
|
||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||
* @param date 日期
|
||||
* @return 返回yyyy-MM-dd格式日期
|
||||
*/
|
||||
public static String format(Date date) {
|
||||
return format(date, DATE_PATTERN);
|
||||
}
|
||||
|
||||
/**
|
||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||
* @param date 日期
|
||||
* @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN
|
||||
* @return 返回yyyy-MM-dd格式日期
|
||||
*/
|
||||
public static String format(Date date, String pattern) {
|
||||
if(date != null){
|
||||
SimpleDateFormat df = new SimpleDateFormat(pattern);
|
||||
return df.format(date);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 字符串转换成日期
|
||||
* @param strDate 日期字符串
|
||||
* @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN
|
||||
*/
|
||||
public static Date stringToDate(String strDate, String pattern) {
|
||||
if (StringUtils.isBlank(strDate)){
|
||||
return null;
|
||||
}
|
||||
|
||||
DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
|
||||
return fmt.parseLocalDateTime(strDate).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据周数,获取开始日期、结束日期
|
||||
* @param week 周期 0本周,-1上周,-2上上周,1下周,2下下周
|
||||
* @return 返回date[0]开始日期、date[1]结束日期
|
||||
*/
|
||||
public static Date[] getWeekStartAndEnd(int week) {
|
||||
DateTime dateTime = new DateTime();
|
||||
LocalDate date = new LocalDate(dateTime.plusWeeks(week));
|
||||
|
||||
date = date.dayOfWeek().withMinimumValue();
|
||||
Date beginDate = date.toDate();
|
||||
Date endDate = date.plusDays(6).toDate();
|
||||
return new Date[]{beginDate, endDate};
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【秒】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param seconds 秒数,负数为减
|
||||
* @return 加/减几秒后的日期
|
||||
*/
|
||||
public static Date addDateSeconds(Date date, int seconds) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusSeconds(seconds).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【分钟】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param minutes 分钟数,负数为减
|
||||
* @return 加/减几分钟后的日期
|
||||
*/
|
||||
public static Date addDateMinutes(Date date, int minutes) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusMinutes(minutes).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【小时】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param hours 小时数,负数为减
|
||||
* @return 加/减几小时后的日期
|
||||
*/
|
||||
public static Date addDateHours(Date date, int hours) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusHours(hours).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【天】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param days 天数,负数为减
|
||||
* @return 加/减几天后的日期
|
||||
*/
|
||||
public static Date addDateDays(Date date, int days) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusDays(days).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【周】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param weeks 周数,负数为减
|
||||
* @return 加/减几周后的日期
|
||||
*/
|
||||
public static Date addDateWeeks(Date date, int weeks) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusWeeks(weeks).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【月】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param months 月数,负数为减
|
||||
* @return 加/减几月后的日期
|
||||
*/
|
||||
public static Date addDateMonths(Date date, int months) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusMonths(months).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 对日期的【年】进行加/减
|
||||
*
|
||||
* @param date 日期
|
||||
* @param years 年数,负数为减
|
||||
* @return 加/减几年后的日期
|
||||
*/
|
||||
public static Date addDateYears(Date date, int years) {
|
||||
DateTime dateTime = new DateTime(date);
|
||||
return dateTime.plusYears(years).toDate();
|
||||
}
|
||||
|
||||
/**
|
||||
* (Unix时间戳)类型转换为日期时间格式字符串
|
||||
* @param format
|
||||
* @param unixTime
|
||||
* @return
|
||||
* @throws ParseException
|
||||
*/
|
||||
public static Date unixTimeToDate(SimpleDateFormat format, Integer unixTime) throws ParseException {
|
||||
if (unixTime == null) {
|
||||
return null;
|
||||
}
|
||||
if (format == null) {
|
||||
format = new SimpleDateFormat(DATE_TIME_PATTERN);
|
||||
}
|
||||
Long time = new Long(unixTime)*1000;
|
||||
String date = format.format(time);
|
||||
return format.parse(date);
|
||||
}
|
||||
}
|
||||
193
src/main/java/com/platform/common/utils/DesUtils.java
Normal file
193
src/main/java/com/platform/common/utils/DesUtils.java
Normal file
@ -0,0 +1,193 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.security.Key;
|
||||
import java.security.Security;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
|
||||
public class DesUtils {
|
||||
|
||||
/** 字符串默认键值 */
|
||||
private static String strDefaultKey = "national";
|
||||
|
||||
/** 加密工具 */
|
||||
private Cipher encryptCipher = null;
|
||||
|
||||
/** 解密工具 */
|
||||
private Cipher decryptCipher = null;
|
||||
|
||||
public static String thirdTypeSceneReport = "scene_report";
|
||||
public static String thirdTypeScene = "scene";
|
||||
public static String thirdTypeGetScene = "get_scene";
|
||||
public static String thirdTypeGetSceneReport = "get_scene_report";
|
||||
|
||||
/**
|
||||
* 将byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813, 和public static byte[]
|
||||
* hexStr2ByteArr(String strIn) 互为可逆的转换过程
|
||||
*
|
||||
* @param arrB
|
||||
* 需要转换的byte数组
|
||||
* @return 转换后的字符串
|
||||
* @throws Exception
|
||||
* 本方法不处理任何异常,所有异常全部抛出
|
||||
*/
|
||||
public static String byteArr2HexStr(byte[] arrB) throws Exception {
|
||||
int iLen = arrB.length;
|
||||
// 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍
|
||||
StringBuffer sb = new StringBuffer(iLen * 2);
|
||||
for (int i = 0; i < iLen; i++) {
|
||||
int intTmp = arrB[i];
|
||||
// 把负数转换为正数
|
||||
while (intTmp < 0) {
|
||||
intTmp = intTmp + 256;
|
||||
}
|
||||
// 小于0F的数需要在前面补0
|
||||
if (intTmp < 16) {
|
||||
sb.append("0");
|
||||
}
|
||||
sb.append(Integer.toString(intTmp, 16));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 将表示16进制值的字符串转换为byte数组, 和public static String byteArr2HexStr(byte[] arrB)
|
||||
* 互为可逆的转换过程
|
||||
*
|
||||
* @param strIn
|
||||
* 需要转换的字符串
|
||||
* @return 转换后的byte数组
|
||||
* @throws Exception
|
||||
* 本方法不处理任何异常,所有异常全部抛出
|
||||
* @author <a href="mailto:leo841001@163.com">LiGuoQing</a>
|
||||
*/
|
||||
public static byte[] hexStr2ByteArr(String strIn) throws Exception {
|
||||
byte[] arrB = strIn.getBytes();
|
||||
int iLen = arrB.length;
|
||||
|
||||
// 两个字符表示一个字节,所以字节数组长度是字符串长度除以2
|
||||
byte[] arrOut = new byte[iLen / 2];
|
||||
for (int i = 0; i < iLen; i = i + 2) {
|
||||
String strTmp = new String(arrB, i, 2);
|
||||
arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16);
|
||||
}
|
||||
return arrOut;
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认构造方法,使用默认密钥
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
public DesUtils() throws Exception {
|
||||
this(strDefaultKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* 指定密钥构造方法
|
||||
*
|
||||
* @param strKey
|
||||
* 指定的密钥
|
||||
* @throws Exception
|
||||
*/
|
||||
public DesUtils(String strKey) throws Exception {
|
||||
Security.addProvider(new com.sun.crypto.provider.SunJCE());
|
||||
Key key = getKey(strKey.getBytes());
|
||||
|
||||
encryptCipher = Cipher.getInstance("DES");
|
||||
encryptCipher.init(Cipher.ENCRYPT_MODE, key);
|
||||
|
||||
decryptCipher = Cipher.getInstance("DES");
|
||||
decryptCipher.init(Cipher.DECRYPT_MODE, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密字节数组
|
||||
*
|
||||
* @param arrB
|
||||
* 需加密的字节数组
|
||||
* @return 加密后的字节数组
|
||||
* @throws Exception
|
||||
*/
|
||||
public byte[] encrypt(byte[] arrB) throws Exception {
|
||||
return encryptCipher.doFinal(arrB);
|
||||
}
|
||||
|
||||
/**
|
||||
* 加密字符串
|
||||
*
|
||||
* @param strIn
|
||||
* 需加密的字符串
|
||||
* @return 加密后的字符串
|
||||
* @throws Exception
|
||||
*/
|
||||
public String encrypt(String strIn) throws Exception {
|
||||
return byteArr2HexStr(encrypt(strIn.getBytes()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密字节数组
|
||||
*
|
||||
* @param arrB
|
||||
* 需解密的字节数组
|
||||
* @return 解密后的字节数组
|
||||
* @throws Exception
|
||||
*/
|
||||
public byte[] decrypt(byte[] arrB) throws Exception {
|
||||
return decryptCipher.doFinal(arrB);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解密字符串
|
||||
*
|
||||
* @param strIn
|
||||
* 需解密的字符串
|
||||
* @return 解密后的字符串
|
||||
* @throws Exception
|
||||
*/
|
||||
public String decrypt(String strIn) throws Exception {
|
||||
return new String(decrypt(hexStr2ByteArr(strIn)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从指定字符串生成密钥,密钥所需的字节数组长度为8位 不足8位时后面补0,超出8位只取前8位
|
||||
*
|
||||
* @param arrBTmp
|
||||
* 构成该字符串的字节数组
|
||||
* @return 生成的密钥
|
||||
* @throws java.lang.Exception
|
||||
*/
|
||||
private Key getKey(byte[] arrBTmp) throws Exception {
|
||||
// 创建一个空的8位字节数组(默认值为0)
|
||||
byte[] arrB = new byte[8];
|
||||
|
||||
// 将原始字节数组转换为8位
|
||||
for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) {
|
||||
arrB[i] = arrBTmp[i];
|
||||
}
|
||||
|
||||
// 生成密钥
|
||||
Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES");
|
||||
|
||||
return key;
|
||||
}
|
||||
|
||||
|
||||
public static String encryptThirdType(String thirdType) {
|
||||
|
||||
if(thirdType == null)
|
||||
return null;
|
||||
try {
|
||||
DateFormat df = new SimpleDateFormat("yyyyMMddHHmm");
|
||||
String voteIdCode = thirdType + "|" + df.format(new Date());
|
||||
DesUtils des = new DesUtils("leemenz");// 自定义密钥
|
||||
return des.encrypt(voteIdCode);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
232
src/main/java/com/platform/common/utils/FileUtils.java
Normal file
232
src/main/java/com/platform/common/utils/FileUtils.java
Normal file
@ -0,0 +1,232 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* 文件的工具类
|
||||
*
|
||||
* @author yikaihong
|
||||
*/
|
||||
public class FileUtils {
|
||||
|
||||
public static String BASE_PATH = "/data/pluralism/media/";
|
||||
// public static String BASE_PATH = "D:/pluralism/media/";
|
||||
|
||||
public static String PAGE_PATH = "/data/pluralism/page/";
|
||||
|
||||
/**
|
||||
* 创建文件名称
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String createFileName() {
|
||||
return UUID.randomUUID().toString().replaceAll("-", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件后缀名称
|
||||
*
|
||||
* @param file
|
||||
* @return
|
||||
*/
|
||||
public static String getSuffix(File file) {
|
||||
if (file == null) {
|
||||
return null;
|
||||
}
|
||||
String fileName = file.getName();
|
||||
return fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件的后缀
|
||||
*
|
||||
* @param fileName
|
||||
* @return
|
||||
*/
|
||||
public static String getSuffix(String fileName) {
|
||||
if(StringUtils.isEmpty(fileName)){
|
||||
return null;
|
||||
}
|
||||
return fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件复制
|
||||
*
|
||||
* @param source
|
||||
* @param target
|
||||
*/
|
||||
public static void copy(File source, File target) {
|
||||
if (source == null || target == null) {
|
||||
return;
|
||||
}
|
||||
if (!target.getParentFile().exists()) {
|
||||
target.getParentFile().mkdirs();
|
||||
}
|
||||
if (target.isDirectory() && !target.exists()) {
|
||||
target.mkdir();
|
||||
}
|
||||
if (target.isFile() && !target.exists()) {
|
||||
try {
|
||||
target.createNewFile();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
InputStream in = null;
|
||||
OutputStream out = null;
|
||||
try {
|
||||
in = new FileInputStream(source);
|
||||
out = new FileOutputStream(target);
|
||||
byte[] byteArray = new byte[1024];
|
||||
int length = 0;
|
||||
while ((length = in.read(byteArray)) != -1) {
|
||||
out.write(byteArray, 0, length);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (out != null) {
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 文件复制
|
||||
*
|
||||
* @param source
|
||||
* @param targetPath
|
||||
*/
|
||||
public static void copy(File source, String targetPath) {
|
||||
if (source == null || StringUtils.isEmpty(targetPath)) {
|
||||
return;
|
||||
}
|
||||
File target = new File(targetPath);
|
||||
if (!target.getParentFile().exists()) {
|
||||
target.getParentFile().mkdirs();
|
||||
}
|
||||
if (target.isDirectory() && !target.exists()) {
|
||||
target.mkdir();
|
||||
}
|
||||
if (target.isFile() && !target.exists()) {
|
||||
try {
|
||||
target.createNewFile();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
InputStream in = null;
|
||||
OutputStream out = null;
|
||||
try {
|
||||
in = new FileInputStream(source);
|
||||
out = new FileOutputStream(target);
|
||||
byte[] byteArray = new byte[1024];
|
||||
int length = 0;
|
||||
while ((length = in.read(byteArray)) != -1) {
|
||||
out.write(byteArray, 0, length);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (out != null) {
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件复制
|
||||
*
|
||||
* @param source
|
||||
* @param targetPath
|
||||
*/
|
||||
public static void copy(InputStream source, String targetPath) {
|
||||
if (source == null || StringUtils.isEmpty(targetPath)) {
|
||||
return;
|
||||
}
|
||||
System.out.println(targetPath);
|
||||
File target = new File(targetPath);
|
||||
if (!target.getParentFile().exists()) {
|
||||
target.getParentFile().mkdirs();
|
||||
}
|
||||
if (target.isDirectory() && !target.exists()) {
|
||||
target.mkdir();
|
||||
}
|
||||
if (target.isFile() && !target.exists()) {
|
||||
try {
|
||||
target.createNewFile();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = new FileOutputStream(target);
|
||||
byte[] byteArray = new byte[1024];
|
||||
int length = 0;
|
||||
while ((length = source.read(byteArray)) != -1) {
|
||||
out.write(byteArray, 0, length);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
|
||||
if (source != null) {
|
||||
try {
|
||||
source.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (out != null) {
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
524
src/main/java/com/platform/common/utils/HttpClientHelper.java
Normal file
524
src/main/java/com/platform/common/utils/HttpClientHelper.java
Normal file
@ -0,0 +1,524 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.Proxy;
|
||||
import java.net.URL;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import javax.net.ssl.*;
|
||||
|
||||
|
||||
/**
|
||||
* HttpClientHelper
|
||||
*/
|
||||
public class HttpClientHelper {
|
||||
|
||||
/**
|
||||
* @Description:使用HttpURLConnection发送post请求
|
||||
*/
|
||||
public static String sendPost(String urlParam, Map<String, Object> params, String charset,boolean isProxy) {
|
||||
StringBuffer resultBuffer = null;
|
||||
// 构建请求参数
|
||||
String sbParams = buildingParams(params);
|
||||
HttpURLConnection con = null;
|
||||
OutputStreamWriter osw = null;
|
||||
BufferedReader br = null;
|
||||
// 发送请求
|
||||
try {
|
||||
URL url = new URL(urlParam);
|
||||
|
||||
con = (HttpURLConnection) url.openConnection();
|
||||
if(isProxy){
|
||||
InetSocketAddress addr = new InetSocketAddress("47.93.4.104",80);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
|
||||
con = (HttpURLConnection) url.openConnection(proxy);
|
||||
}
|
||||
|
||||
con.setRequestMethod("POST");
|
||||
con.setDoOutput(true);
|
||||
con.setDoInput(true);
|
||||
con.setUseCaches(false);
|
||||
|
||||
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
if (sbParams != null && sbParams.length() > 0) {
|
||||
osw = new OutputStreamWriter(con.getOutputStream(), charset);
|
||||
osw.write(sbParams.substring(0, sbParams.length() - 1));
|
||||
osw.flush();
|
||||
}
|
||||
|
||||
// 读取返回内容
|
||||
resultBuffer = new StringBuffer();
|
||||
int contentLength = Integer.parseInt(con.getHeaderField("Content-Length"));
|
||||
if (contentLength > 0) {
|
||||
br = new BufferedReader(new InputStreamReader(con.getInputStream(), charset));
|
||||
String temp;
|
||||
while ((temp = br.readLine()) != null) {
|
||||
resultBuffer.append(temp);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (osw != null) {
|
||||
try {
|
||||
osw.close();
|
||||
} catch (IOException e) {
|
||||
osw = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
br = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return resultBuffer.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description:使用HttpURLConnection发送get请求
|
||||
*/
|
||||
public static String sendGet(String urlParam, Map<String, Object> params, String charset,boolean isProxy) {
|
||||
StringBuffer resultBuffer = null;
|
||||
// 构建请求参数
|
||||
String sbParams = buildingParams(params);
|
||||
HttpURLConnection con = null;
|
||||
BufferedReader br = null;
|
||||
try {
|
||||
URL url = null;
|
||||
if (sbParams != null && sbParams.length() > 0) {
|
||||
url = new URL(urlParam + "?" + sbParams.substring(0, sbParams.length() - 1));
|
||||
} else {
|
||||
url = new URL(urlParam);
|
||||
}
|
||||
con = (HttpURLConnection) url.openConnection();
|
||||
if(isProxy){
|
||||
InetSocketAddress addr = new InetSocketAddress("47.93.4.104",80);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
|
||||
con = (HttpURLConnection) url.openConnection(proxy);
|
||||
}
|
||||
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
con.connect();
|
||||
resultBuffer = new StringBuffer();
|
||||
br = new BufferedReader(new InputStreamReader(con.getInputStream(), charset));
|
||||
String temp;
|
||||
while ((temp = br.readLine()) != null) {
|
||||
resultBuffer.append(temp);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
br = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return resultBuffer.toString();
|
||||
}
|
||||
|
||||
public static void sendGetAndSaveFile(String urlParam, Map<String, Object> params, String fileSavePath,boolean isProxy) {
|
||||
// 构建请求参数
|
||||
String sbParams = buildingParams(params);
|
||||
HttpURLConnection con = null;
|
||||
BufferedReader br = null;
|
||||
FileOutputStream os = null;
|
||||
try {
|
||||
URL url = null;
|
||||
if (sbParams != null && sbParams.length() > 0) {
|
||||
url = new URL(urlParam + (urlParam.indexOf("?")>-1 ? "&" : "?") + sbParams.substring(0, sbParams.length() - 1));
|
||||
} else {
|
||||
url = new URL(urlParam);
|
||||
}
|
||||
con = (HttpURLConnection) url.openConnection();
|
||||
if(isProxy){
|
||||
InetSocketAddress addr = new InetSocketAddress("47.93.4.104",80);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
|
||||
con = (HttpURLConnection) url.openConnection(proxy);
|
||||
}
|
||||
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
con.connect();
|
||||
InputStream is = con.getInputStream();
|
||||
|
||||
File outFile=new File(fileSavePath);
|
||||
if (!outFile.getParentFile().exists())
|
||||
outFile.getParentFile().mkdirs();
|
||||
|
||||
os = new FileOutputStream(fileSavePath);
|
||||
|
||||
byte buf[] = new byte[1024];
|
||||
int count = 0;
|
||||
while ((count = is.read(buf)) != -1) {
|
||||
os.write(buf, 0, count);
|
||||
}
|
||||
os.flush();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (os != null) {
|
||||
try {
|
||||
os.close();
|
||||
} catch (IOException e) {
|
||||
os = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
br = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 读取文件内容
|
||||
* @param urlParam
|
||||
* @param isProxy
|
||||
*/
|
||||
public static String sendGetAndGetFileContent(String urlParam,boolean isProxy) {
|
||||
if(urlParam.startsWith("https://")){
|
||||
return sendHttpsGetAndGetFileContent(urlParam,isProxy);
|
||||
}
|
||||
HttpURLConnection con = null;
|
||||
BufferedReader br = null;
|
||||
FileOutputStream os = null;
|
||||
InputStreamReader isReader = null;
|
||||
BufferedReader reader = null;
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
try {
|
||||
URL url = new URL(urlParam);
|
||||
|
||||
con = (HttpURLConnection) url.openConnection();
|
||||
|
||||
if(isProxy){
|
||||
InetSocketAddress addr = new InetSocketAddress("47.93.4.104",80);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
|
||||
con = (HttpURLConnection) url.openConnection(proxy);
|
||||
}
|
||||
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
con.connect();
|
||||
|
||||
int HttpResult = con.getResponseCode();
|
||||
if(HttpResult != HttpURLConnection.HTTP_OK) {
|
||||
System.out.print("无法连接到");
|
||||
} else {
|
||||
isReader = new InputStreamReader(con.getInputStream(),"UTF-8");
|
||||
reader = new BufferedReader(isReader);
|
||||
|
||||
String line; // 用来保存每行读取的内容
|
||||
line = reader.readLine(); // 读取第一行
|
||||
while (line != null) { // 如果 line 为空说明读完了
|
||||
buffer.append(line).append("\n");
|
||||
line = reader.readLine(); // 读取下一行
|
||||
}
|
||||
isReader.close();
|
||||
reader.close();
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (os != null) {
|
||||
try {
|
||||
os.close();
|
||||
} catch (IOException e) {
|
||||
os = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
br = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isReader != null) {
|
||||
try {
|
||||
isReader.close();
|
||||
} catch (IOException e) {
|
||||
isReader = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (reader != null) {
|
||||
try {
|
||||
reader.close();
|
||||
} catch (IOException e) {
|
||||
reader = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 读取文件内容
|
||||
* @param urlParam
|
||||
* @param isProxy
|
||||
*/
|
||||
public static String sendHttpsGetAndGetFileContent(String urlParam,boolean isProxy) {
|
||||
|
||||
if(urlParam.startsWith("http://")){
|
||||
return sendGetAndGetFileContent(urlParam,isProxy);
|
||||
}
|
||||
|
||||
HttpsURLConnection con = null;
|
||||
BufferedReader br = null;
|
||||
FileOutputStream os = null;
|
||||
InputStreamReader isReader = null;
|
||||
BufferedReader reader = null;
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
try {
|
||||
URL url = new URL(urlParam);
|
||||
|
||||
con = (HttpsURLConnection) url.openConnection();
|
||||
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
|
||||
TrustManager[] tm = { new MyX509TrustManager() };
|
||||
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
|
||||
sslContext.init(null, tm, new SecureRandom());
|
||||
// 从上述SSLContext对象中得到SSLSocketFactory对象
|
||||
SSLSocketFactory ssf = sslContext.getSocketFactory();
|
||||
|
||||
con.setSSLSocketFactory(ssf);
|
||||
|
||||
|
||||
if(isProxy){
|
||||
InetSocketAddress addr = new InetSocketAddress("47.93.4.104",80);
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
|
||||
con = (HttpsURLConnection) url.openConnection(proxy);
|
||||
}
|
||||
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
||||
con.connect();
|
||||
|
||||
int HttpResult = con.getResponseCode();
|
||||
if(HttpResult != HttpURLConnection.HTTP_OK) {
|
||||
System.out.print("无法连接到");
|
||||
} else {
|
||||
isReader = new InputStreamReader(con.getInputStream(),"UTF-8");
|
||||
reader = new BufferedReader(isReader);
|
||||
|
||||
String line; // 用来保存每行读取的内容
|
||||
line = reader.readLine(); // 读取第一行
|
||||
while (line != null) { // 如果 line 为空说明读完了
|
||||
buffer.append(line).append("\n");
|
||||
line = reader.readLine(); // 读取下一行
|
||||
}
|
||||
isReader.close();
|
||||
reader.close();
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (os != null) {
|
||||
try {
|
||||
os.close();
|
||||
} catch (IOException e) {
|
||||
os = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException e) {
|
||||
br = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isReader != null) {
|
||||
try {
|
||||
isReader.close();
|
||||
} catch (IOException e) {
|
||||
isReader = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (reader != null) {
|
||||
try {
|
||||
reader.close();
|
||||
} catch (IOException e) {
|
||||
reader = null;
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
if (con != null) {
|
||||
con.disconnect();
|
||||
con = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
// 构建请求参数
|
||||
public static String buildingParams(Map<String, Object> params){
|
||||
StringBuffer sbParams = new StringBuffer();
|
||||
if (params != null && params.size() > 0) {
|
||||
for (Entry<String, Object> entry : params.entrySet()) {
|
||||
if(StringUtils.isBlank(entry.getKey()) || entry.getValue()==null){
|
||||
continue;
|
||||
}
|
||||
sbParams.append(entry.getKey());
|
||||
sbParams.append("=");
|
||||
sbParams.append(entry.getValue());
|
||||
sbParams.append("&");
|
||||
}
|
||||
}
|
||||
return sbParams.toString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// int page = 1;
|
||||
// int pageSize = 10;
|
||||
// String keyword = "交通";
|
||||
// Long startTime = null;
|
||||
// Long endTime = null;
|
||||
// String latlng = null;
|
||||
// Integer precision = null; // 经纬度点方圆多少公里(1,5,10,15,20,30,50,100,150,200,300),默认值是5
|
||||
// Integer order = null; // 视频列表排序(0匹配度,1时间降序,2时间升序,3播放数,4点赞数),默认值是0
|
||||
// Boolean originWork = null; // 是否为快手用户本人手机原创拍摄
|
||||
// String operatorId = "1";
|
||||
// String paramList = String.format("page=%d&count=%d&keyword=%s&startTime=%d&endTime=%d&latlng=%s&precision=%d&order=%d&originWork=%s&operatorId=%s&secret=%s",
|
||||
// page, pageSize, keyword, startTime, endTime, latlng, precision, order, originWork,operatorId, "e85fdba04bf261e");
|
||||
// String md5Str = DigestUtils.md5Hex(paramList);
|
||||
// Map<String, Object> params = new HashMap<String, Object>();
|
||||
// params.put("page", page);
|
||||
// params.put("count", pageSize);
|
||||
// params.put("keyword", " ");
|
||||
// params.put("operatorId", 1);
|
||||
// params.put("signature", md5Str);
|
||||
// String result_json = HttpClientHelper.sendPost("http://lc.test.gifshow.com/rest/n/partner/xinhua/search",params,"UTF-8");
|
||||
// System.out.println(md5Str);
|
||||
// System.out.println(result_json);
|
||||
//
|
||||
// System.out.println(MapUtils.json2map(result_json));
|
||||
|
||||
// String BASE_PATH = ClassUtils.getDefaultClassLoader().getResource("").getPath().substring(1) + File.separator + "kuaishou/";
|
||||
//// String BASE_PATH = "c:\\kuaishou"+ File.separator + VideoUtils.getDateDir() + File.separator ;
|
||||
// String newFilePath = FileUtils.BASE_PATH + "11111111.mp4";
|
||||
// System.out.println(newFilePath);
|
||||
// Map<String, Object> params = new HashMap<String, Object>();
|
||||
// params.put("page", 1);
|
||||
// params.put("count", 10);
|
||||
// params.put("keyword", " ");
|
||||
// params.put("operatorId", 1);
|
||||
//
|
||||
// HttpClientHelper.sendGetAndSaveFile(url, params, newFilePath,false);
|
||||
String url = "https://hhtestlive.zhongkedongxin.com/caster/a65223a812504cfea858edf241f93255.m3u8?auth_key=1618455146-0-0-473ebb9ef6c40a3147c90a2cd0a444ba&aliyunols=on&lhs_start_human_s_8=20210412105226&lhs_vodend_human_s_8=20210412113337";
|
||||
|
||||
System.out.println(HttpClientHelper.sendGetAndGetFileContent(url,false));
|
||||
|
||||
// Map<String, Object> map = new HashMap<String, Object>();
|
||||
// map.put("page", 1);
|
||||
// map.put("count", 10);
|
||||
// System.out.println(sendPost("http://lc.test.gifshow.com/rest/n/partner/xinhua/search", map, "utf-8"));
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
class MyX509TrustManager implements X509TrustManager {
|
||||
public void checkClientTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
}
|
||||
|
||||
public void checkServerTrusted(X509Certificate[] chain, String authType)
|
||||
throws CertificateException {
|
||||
}
|
||||
|
||||
public X509Certificate[] getAcceptedIssuers() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
public class HttpContextUtils {
|
||||
|
||||
public static HttpServletRequest getHttpServletRequest() {
|
||||
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
}
|
||||
|
||||
public static String getDomain(){
|
||||
HttpServletRequest request = getHttpServletRequest();
|
||||
StringBuffer url = request.getRequestURL();
|
||||
return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
|
||||
}
|
||||
|
||||
public static String getOrigin(){
|
||||
HttpServletRequest request = getHttpServletRequest();
|
||||
return request.getHeader("Origin");
|
||||
}
|
||||
}
|
||||
64
src/main/java/com/platform/common/utils/IPUtils.java
Normal file
64
src/main/java/com/platform/common/utils/IPUtils.java
Normal file
@ -0,0 +1,64 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.net.InetAddress;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* IP地址
|
||||
*/
|
||||
public class IPUtils {
|
||||
private static Logger logger = LoggerFactory.getLogger(IPUtils.class);
|
||||
|
||||
/**
|
||||
* 获取IP地址
|
||||
*
|
||||
* 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
|
||||
* 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
|
||||
*/
|
||||
public static String getIpAddr(HttpServletRequest request) {
|
||||
String ip = null;
|
||||
try {
|
||||
ip = request.getHeader("x-forwarded-for");
|
||||
if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("Proxy-Client-IP");
|
||||
}
|
||||
if (StringUtils.isEmpty(ip) || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||
}
|
||||
if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("HTTP_CLIENT_IP");
|
||||
}
|
||||
if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
|
||||
}
|
||||
if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("X-Real-IP");
|
||||
}
|
||||
if (StringUtils.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getRemoteAddr();
|
||||
}
|
||||
if(ip.equals("127.0.0.1") || ip.equals("0:0:0:0:0:0:0:1")){
|
||||
//根据网卡取本机配置的IP
|
||||
InetAddress inet = InetAddress.getLocalHost();
|
||||
ip= inet.getHostAddress();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("IPUtils ERROR ", e);
|
||||
}
|
||||
|
||||
// //使用代理,则获取第一个IP地址
|
||||
// if(StringUtils.isEmpty(ip) && ip.length() > 15) {
|
||||
// if(ip.indexOf(",") > 0) {
|
||||
// ip = ip.substring(0, ip.indexOf(","));
|
||||
// }
|
||||
// }
|
||||
|
||||
return ip;
|
||||
}
|
||||
|
||||
}
|
||||
57
src/main/java/com/platform/common/utils/MapUtils.java
Normal file
57
src/main/java/com/platform/common/utils/MapUtils.java
Normal file
@ -0,0 +1,57 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
|
||||
/**
|
||||
* Map工具类
|
||||
*/
|
||||
public class MapUtils extends HashMap<String, Object> {
|
||||
|
||||
@Override
|
||||
public MapUtils put(String key, Object value) {
|
||||
super.put(key, value);
|
||||
return this;
|
||||
}
|
||||
public static Map<String, Object> json2map(String jsonStr) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
jsonStr = jsonStr.replaceAll("null", "\"\"");
|
||||
if(StringUtils.isNotBlank(jsonStr)){
|
||||
//最外层解析
|
||||
JSONObject json = JSONObject.fromObject(jsonStr);
|
||||
if(json==null || json.isNullObject()){
|
||||
return null;
|
||||
}
|
||||
for (Object k : json.keySet()) {
|
||||
Object v = json.get(k);
|
||||
//如果内层还是数组的话,继续解析
|
||||
if((v instanceof JSONArray)) {
|
||||
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
|
||||
Iterator<JSONObject> it = ((JSONArray) v).iterator();
|
||||
while (it.hasNext()) {
|
||||
JSONObject json2 = it.next();
|
||||
Map<String, Object> m = json2map(json2.toString());
|
||||
if(m!=null && m.size()>0){
|
||||
list.add(m);
|
||||
}
|
||||
}
|
||||
map.put(k.toString(), list);
|
||||
}else{
|
||||
map.put(k.toString(), (v==null || v.equals(null)) ? "":v);
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}else{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
90
src/main/java/com/platform/common/utils/PageUtils.java
Normal file
90
src/main/java/com/platform/common/utils/PageUtils.java
Normal file
@ -0,0 +1,90 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import com.baomidou.mybatisplus.plugins.Page;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分页工具类
|
||||
*/
|
||||
public class PageUtils implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
//总记录数
|
||||
private int totalCount;
|
||||
//每页记录数
|
||||
private int pageSize;
|
||||
//总页数
|
||||
private int totalPage;
|
||||
//当前页数
|
||||
private int currPage;
|
||||
//列表数据
|
||||
private List<?> list;
|
||||
|
||||
/**
|
||||
* 分页
|
||||
* @param list 列表数据
|
||||
* @param totalCount 总记录数
|
||||
* @param pageSize 每页记录数
|
||||
* @param currPage 当前页数
|
||||
*/
|
||||
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
|
||||
this.list = list;
|
||||
this.totalCount = totalCount;
|
||||
this.pageSize = pageSize;
|
||||
this.currPage = currPage;
|
||||
this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
public PageUtils(Page<?> page) {
|
||||
this.list = page.getRecords();
|
||||
this.totalCount = page.getTotal();
|
||||
this.pageSize = page.getSize();
|
||||
this.currPage = page.getCurrent();
|
||||
this.totalPage = page.getPages();
|
||||
}
|
||||
|
||||
public int getTotalCount() {
|
||||
return totalCount;
|
||||
}
|
||||
|
||||
public void setTotalCount(int totalCount) {
|
||||
this.totalCount = totalCount;
|
||||
}
|
||||
|
||||
public int getPageSize() {
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getTotalPage() {
|
||||
return totalPage;
|
||||
}
|
||||
|
||||
public void setTotalPage(int totalPage) {
|
||||
this.totalPage = totalPage;
|
||||
}
|
||||
|
||||
public int getCurrPage() {
|
||||
return currPage;
|
||||
}
|
||||
|
||||
public void setCurrPage(int currPage) {
|
||||
this.currPage = currPage;
|
||||
}
|
||||
|
||||
public List<?> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
public void setList(List<?> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
}
|
||||
71
src/main/java/com/platform/common/utils/Query.java
Normal file
71
src/main/java/com/platform/common/utils/Query.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import com.baomidou.mybatisplus.plugins.Page;
|
||||
import com.platform.common.xss.SQLFilter;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 查询参数
|
||||
*/
|
||||
public class Query<T> extends LinkedHashMap<String, Object> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* mybatis-plus分页参数
|
||||
*/
|
||||
private Page<T> page;
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
private int currPage = 1;
|
||||
/**
|
||||
* 每页条数
|
||||
*/
|
||||
private int limit = 10;
|
||||
|
||||
public Query(Map<String, Object> params){
|
||||
this.putAll(params);
|
||||
|
||||
//分页参数
|
||||
if(params.get("page") != null){
|
||||
currPage = Integer.parseInt((String)params.get("page"));
|
||||
}
|
||||
if(params.get("limit") != null){
|
||||
limit = Integer.parseInt((String)params.get("limit"));
|
||||
}
|
||||
|
||||
this.put("offset", (currPage - 1) * limit);
|
||||
this.put("page", currPage);
|
||||
this.put("limit", limit);
|
||||
|
||||
//防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
|
||||
String sidx = SQLFilter.sqlInject((String)params.get("sidx"));
|
||||
String order = SQLFilter.sqlInject((String)params.get("order"));
|
||||
this.put("sidx", sidx);
|
||||
this.put("order", order);
|
||||
|
||||
//mybatis-plus分页
|
||||
this.page = new Page<>(currPage, limit);
|
||||
|
||||
//排序
|
||||
if(StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)){
|
||||
this.page.setOrderByField(sidx);
|
||||
this.page.setAsc("ASC".equalsIgnoreCase(order));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Page<T> getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public int getCurrPage() {
|
||||
return currPage;
|
||||
}
|
||||
|
||||
public int getLimit() {
|
||||
return limit;
|
||||
}
|
||||
}
|
||||
54
src/main/java/com/platform/common/utils/R.java
Normal file
54
src/main/java/com/platform/common/utils/R.java
Normal file
@ -0,0 +1,54 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import org.apache.http.HttpStatus;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 返回数据
|
||||
*/
|
||||
public class R extends HashMap<String, Object> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public R() {
|
||||
put("code", 0);
|
||||
put("msg", "success");
|
||||
}
|
||||
|
||||
public static R error() {
|
||||
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");
|
||||
}
|
||||
|
||||
public static R error(String msg) {
|
||||
return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
|
||||
}
|
||||
|
||||
public static R error(int code, String msg) {
|
||||
R r = new R();
|
||||
r.put("code", code);
|
||||
r.put("msg", msg);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static R ok(String msg) {
|
||||
R r = new R();
|
||||
r.put("msg", msg);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static R ok(Map<String, Object> map) {
|
||||
R r = new R();
|
||||
r.putAll(map);
|
||||
return r;
|
||||
}
|
||||
|
||||
public static R ok() {
|
||||
return new R();
|
||||
}
|
||||
|
||||
public R put(String key, Object value) {
|
||||
super.put(key, value);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
77
src/main/java/com/platform/common/utils/RedisContants.java
Normal file
77
src/main/java/com/platform/common/utils/RedisContants.java
Normal file
@ -0,0 +1,77 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
/**
|
||||
* Redis的Key
|
||||
*
|
||||
* @author weiyan
|
||||
*
|
||||
* @date 2019-02-20
|
||||
*/
|
||||
public class RedisContants {
|
||||
|
||||
/**
|
||||
* 现场计数数(所有)
|
||||
*/
|
||||
public static final String SCENE_COUNT = "_scene_count_";
|
||||
|
||||
/**
|
||||
* 现场浏览数(所有)
|
||||
*/
|
||||
public static final String SCENE_COUNT_VIEWS = "_scene_count_views_";
|
||||
/**
|
||||
* 现场浏览数(显示)
|
||||
*/
|
||||
public static final String SCENE_COUNT_VIEWS_SHOW = "_scene_count_views_show_";
|
||||
/**
|
||||
* 现场浏览数(增加)
|
||||
*/
|
||||
public static final String SCENE_COUNT_VIEWS_ADD = "_scene_count_views_add_";
|
||||
/**
|
||||
* 现场评论数(所有)
|
||||
*/
|
||||
public static final String SCENE_COUNT_COMMENTS = "_scene_count_comments_";
|
||||
/**
|
||||
* 现场评论数(显示)
|
||||
*/
|
||||
public static final String SCENE_COUNT_COMMENT_SHOW = "_scene_count_comment_show_";
|
||||
/**
|
||||
* 现场评论数(增加)
|
||||
*/
|
||||
public static final String SCENE_COUNT_COMMENT_ADD = "_scene_count_comment_add_";
|
||||
/**
|
||||
* 现场栏目(所有)
|
||||
*/
|
||||
public static final String CHANNEL_LIST = "_channel_list_";
|
||||
/**
|
||||
* 记者在线状态
|
||||
*/
|
||||
public static final String REPORTER_ONLINE_LIST = "_reporter_online_list_";
|
||||
/**
|
||||
* 记者状态
|
||||
*/
|
||||
public static final String REPORTER_STATE = "_reporter_state_";
|
||||
|
||||
/**
|
||||
* 记者
|
||||
*/
|
||||
public static final String REPORTER_ONLINE = "online_list_";
|
||||
|
||||
/**
|
||||
* 记者推流状态
|
||||
* */
|
||||
public static final String REPORTER_PUSH_STATE = "_reporter_push_state_";
|
||||
|
||||
/**
|
||||
* 直播监控数据统计
|
||||
* */
|
||||
public static final String LIVE_STATISTIC = "_live_statistic_";
|
||||
/**
|
||||
* 拖动排序用户操作标识
|
||||
* */
|
||||
public static final String DRAG_SORT = "_drag_sort_";
|
||||
|
||||
/**
|
||||
* 自动开关播现场
|
||||
* */
|
||||
public static final String AUTO_LIVE_SCENE = "_auto_live_scene_";
|
||||
}
|
||||
51
src/main/java/com/platform/common/utils/RedisKeys.java
Normal file
51
src/main/java/com/platform/common/utils/RedisKeys.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
/**
|
||||
* Redis所有Keys
|
||||
*/
|
||||
public class RedisKeys {
|
||||
|
||||
public static String getSysConfigKey(String key){
|
||||
return "sys:config:" + key;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户哈希key
|
||||
* @return
|
||||
*/
|
||||
public static String getSysUserKey() {
|
||||
return "sys:user:cache";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户哈希值
|
||||
* @param field
|
||||
* @return
|
||||
*/
|
||||
public static String getSysUserFeild(Long field) {
|
||||
return "sys:user:" + field;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取现场Key值
|
||||
* @return
|
||||
*/
|
||||
public static String getSceneKey() {
|
||||
return "live:scene:scene";
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取对外用户key值
|
||||
* @return
|
||||
*/
|
||||
public static String getForeignUserToken(String token) {
|
||||
return "foreign:user:token:"+token;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上传视频资源分块key值
|
||||
*/
|
||||
public static String getUploadMediaKey() {
|
||||
return "media:chunk:";
|
||||
}
|
||||
}
|
||||
182
src/main/java/com/platform/common/utils/RedisUtils.java
Normal file
182
src/main/java/com/platform/common/utils/RedisUtils.java
Normal file
@ -0,0 +1,182 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.HashOperations;
|
||||
import org.springframework.data.redis.core.ListOperations;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.data.redis.core.SetOperations;
|
||||
import org.springframework.data.redis.core.ValueOperations;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
/**
|
||||
* Redis工具类
|
||||
*/
|
||||
@Component
|
||||
public class RedisUtils {
|
||||
@Autowired
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
@Autowired
|
||||
private ValueOperations<String, String> valueOperations;
|
||||
@Autowired
|
||||
private HashOperations<String, String, Object> hashOperations;
|
||||
@Autowired
|
||||
private ListOperations<String, Object> listOperations;
|
||||
@Autowired
|
||||
private SetOperations<String, Object> setOperations;
|
||||
@Autowired
|
||||
private ZSetOperations<String, Object> zSetOperations;
|
||||
/** 默认过期时长,单位:秒 */
|
||||
public final static long DEFAULT_EXPIRE = 60 * 60 * 24;
|
||||
/** 不设置过期时长 */
|
||||
public final static long NOT_EXPIRE = -1;
|
||||
private final static Gson gson = new Gson();
|
||||
|
||||
public Set<String> keys(String key) {
|
||||
return redisTemplate.keys(key);
|
||||
}
|
||||
|
||||
public boolean hasKey(String key) {
|
||||
return redisTemplate.hasKey(key);
|
||||
}
|
||||
|
||||
public void set(String key, Object value, long expire){
|
||||
valueOperations.set(key, toJson(value));
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
}
|
||||
|
||||
public void set(String key, Object value){
|
||||
set(key, value, DEFAULT_EXPIRE);
|
||||
}
|
||||
|
||||
public <T> T get(String key, Class<T> clazz, long expire) {
|
||||
String value = valueOperations.get(key);
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
return value == null ? null : fromJson(value, clazz);
|
||||
}
|
||||
|
||||
public <T> T get(String key, Class<T> clazz) {
|
||||
return get(key, clazz, NOT_EXPIRE);
|
||||
}
|
||||
|
||||
public String get(String key, long expire) {
|
||||
String value = valueOperations.get(key);
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public String get(String key) {
|
||||
return get(key, NOT_EXPIRE);
|
||||
}
|
||||
|
||||
public void delete(String key) {
|
||||
redisTemplate.delete(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从hash中删除指定的存储
|
||||
* @param String key
|
||||
* @param String field 存储的名字
|
||||
* */
|
||||
public void hdel(String key, String field) {
|
||||
redisTemplate.opsForHash().delete(key,field);
|
||||
}
|
||||
/**
|
||||
* 将数据放入set缓存
|
||||
* @param key
|
||||
* @param field
|
||||
* @param value
|
||||
*/
|
||||
public void hset(String key, String field, Object value){
|
||||
hashOperations.put(key, field, toJson(value));
|
||||
}
|
||||
public void hset(String key, String field, Object value, long expire){
|
||||
hashOperations.put(key, field, toJson(value));
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
}
|
||||
|
||||
public void hsetall(String key, Map<String, Object> map, long expire) {
|
||||
hashOperations.putAll(key, map);
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
}
|
||||
|
||||
public <T> T hget(String key, String field, Class<T> clazz, long expire) {
|
||||
Object value = hashOperations.get(key, field);
|
||||
if(expire != NOT_EXPIRE){
|
||||
redisTemplate.expire(key, expire, TimeUnit.SECONDS);
|
||||
}
|
||||
return value == null ? null : fromJson(toJson(value),clazz);
|
||||
}
|
||||
|
||||
public <T> T hget(String key, String field, Class<T> clazz) {
|
||||
Object value = hget(key,field);
|
||||
return value == null ? null : fromJson(toJson(value),clazz);
|
||||
}
|
||||
|
||||
public Object hget(String key, String field) {
|
||||
return hashOperations.get(key, field);
|
||||
}
|
||||
|
||||
public Map<String, Object> hentries(String key) {
|
||||
return hashOperations.entries(key);
|
||||
}
|
||||
|
||||
public Set<String> hkeys(String key) {
|
||||
Set<String> set = hashOperations.keys(key);
|
||||
return set;
|
||||
}
|
||||
|
||||
public List<Object> hmget(String key, List<String> fields) {
|
||||
return hashOperations.multiGet(key, fields);
|
||||
}
|
||||
|
||||
public long hlen(String key) {
|
||||
return hashOperations.size(key);
|
||||
}
|
||||
/**
|
||||
* 判断hash中指定的存储是否存在
|
||||
* @param String key
|
||||
* @param String field 存储的名字
|
||||
* @return true存在,false不存在
|
||||
* */
|
||||
public boolean hexists(String key, String field) {
|
||||
boolean s = hashOperations.hasKey(key, field);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Object转成JSON数据
|
||||
*/
|
||||
private String toJson(Object object){
|
||||
if(object instanceof Integer || object instanceof Long || object instanceof Float ||
|
||||
object instanceof Double || object instanceof Boolean || object instanceof String){
|
||||
return String.valueOf(object);
|
||||
}
|
||||
return gson.toJson(object);
|
||||
}
|
||||
|
||||
/**
|
||||
* JSON数据,转成Object
|
||||
*/
|
||||
private <T> T fromJson(String json, Class<T> clazz){
|
||||
return gson.fromJson(json, clazz);
|
||||
}
|
||||
}
|
||||
581
src/main/java/com/platform/common/utils/SensitiveWordUtil.java
Normal file
581
src/main/java/com/platform/common/utils/SensitiveWordUtil.java
Normal file
@ -0,0 +1,581 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 敏感词库工具<br>
|
||||
* 每个敏感词库独立使用对象,加对象锁(初始化、增加、删除)
|
||||
*
|
||||
* @author Anine
|
||||
* @date 2019/3/11
|
||||
*/
|
||||
public class SensitiveWordUtil {
|
||||
/**
|
||||
* 敏感词匹配规则,最小匹配规则,如:敏感词库["中国","中国人"],语句:"我是中国人",匹配结果:我是[中国]人
|
||||
*/
|
||||
private static final int MinMatchTYpe = 1;
|
||||
/**
|
||||
* 敏感词匹配规则,最大匹配规则,如:敏感词库["中国","中国人"],语句:"我是中国人",匹配结果:我是[中国人]
|
||||
*/
|
||||
private static final int MaxMatchType = 2;
|
||||
|
||||
/**
|
||||
* 敏感词集合
|
||||
*/
|
||||
private HashMap sensitiveWordMap = new HashMap();
|
||||
|
||||
/**
|
||||
* 停顿符集合
|
||||
*/
|
||||
private HashSet<String> stopWords = new HashSet<>();
|
||||
|
||||
/**
|
||||
* 初始化敏感词工具:敏感词库、停顿符库
|
||||
*
|
||||
* @param sensitiveWordSet
|
||||
* 敏感词库
|
||||
*/
|
||||
public synchronized void init(Set<String> sensitiveWordSet, HashSet<String> stopWords) {
|
||||
initSensitiveWordMap(sensitiveWordSet);
|
||||
initStopWords(stopWords);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化敏感词工具:敏感词库及对应的替换词库、停顿符库
|
||||
*
|
||||
* @param sensitiveWords
|
||||
* 敏感词库
|
||||
* @param stopWords
|
||||
* 停顿符库
|
||||
*/
|
||||
public synchronized void init(Map<String, String> sensitiveWords, Set<String> stopWords) {
|
||||
initSensitiveWordMap(sensitiveWords);
|
||||
initStopWords(stopWords);
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化停顿符库
|
||||
*
|
||||
* @param words
|
||||
* 停顿符库
|
||||
*/
|
||||
private synchronized void initStopWords(Set<String> words) {
|
||||
stopWords = new HashSet<>();
|
||||
if (words != null && words.size() > 0) {
|
||||
for (String s : words) {
|
||||
if (s != null && s.length() == 1) {
|
||||
stopWords.add(convert(s));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化敏感词库及对应的替换词库,构建DFA算法模型
|
||||
*
|
||||
* @param sensitiveWordSet
|
||||
* 敏感词库
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private synchronized void initSensitiveWordMap(Set<String> sensitiveWordSet) {
|
||||
// 初始化敏感词容器,减少扩容操作
|
||||
sensitiveWordMap = new HashMap(sensitiveWordSet.size());
|
||||
String key;
|
||||
Map nowMap;
|
||||
// 迭代sensitiveWordSet
|
||||
if (sensitiveWordSet.size() > 0) {
|
||||
for (String sensitiveWord : sensitiveWordSet) {
|
||||
// 关键字
|
||||
key = convert(sensitiveWord);
|
||||
nowMap = sensitiveWordMap;
|
||||
for (int i = 0; i < key.length(); i++) {
|
||||
// 转换成char型
|
||||
char keyChar = key.charAt(i);
|
||||
// 如果存在该key,直接赋值,用于下一个循环获取
|
||||
nowMap = sensitiveWordMapInit(nowMap, keyChar);
|
||||
|
||||
if (i == key.length() - 1) {
|
||||
// 最后一个
|
||||
nowMap.put("isEnd", "1");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化敏感词库,构建DFA算法模型,包含对应的替换字符串
|
||||
*
|
||||
* @param sensitiveWords
|
||||
* 敏感词库
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private synchronized void initSensitiveWordMap(Map<String, String> sensitiveWords) {
|
||||
sensitiveWordMap = new HashMap(sensitiveWords.size());
|
||||
String key;
|
||||
String replaceWord;
|
||||
if (sensitiveWords.size() > 0) {
|
||||
for (String sensitiveWord : sensitiveWords.keySet()) {
|
||||
key = convert(sensitiveWord);
|
||||
replaceWord = convert(sensitiveWords.get(sensitiveWord));
|
||||
addSensitiveWordAndReplaceWord(key, replaceWord);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断文字是否包含敏感字符
|
||||
*
|
||||
* @param txt
|
||||
* 文字
|
||||
* @param matchType
|
||||
* 匹配规则 1:最小匹配规则,2:最大匹配规则
|
||||
* @return 若包含返回true,否则返回false
|
||||
*/
|
||||
public boolean contains(String txt, int matchType) {
|
||||
boolean flag = false;
|
||||
for (int i = 0; i < txt.length(); i++) {
|
||||
// 判断是否包含敏感字符
|
||||
int matchFlag = checkSensitiveWord(txt, i, matchType);
|
||||
if (matchFlag > 0) {
|
||||
// 大于0存在,返回true
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断文字是否包含敏感字符,默认为最大匹配规则
|
||||
*
|
||||
* @param txt
|
||||
* 文字
|
||||
* @return 若包含返回true,否则返回false
|
||||
*/
|
||||
public boolean contains(String txt) {
|
||||
return contains(txt, MaxMatchType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文字中的敏感词
|
||||
*
|
||||
* @param txt
|
||||
* 文字
|
||||
* @param matchType
|
||||
* 匹配规则 1:最小匹配规则,2:最大匹配规则
|
||||
* @return 敏感词集合
|
||||
*/
|
||||
private Set<String> getSensitiveWord(String txt, int matchType) {
|
||||
Set<String> sensitiveWordList = new HashSet<>();
|
||||
|
||||
for (int i = 0; i < txt.length(); i++) {
|
||||
// 判断是否包含敏感字符
|
||||
int length = checkSensitiveWord(txt, i, matchType);
|
||||
if (length > 0) {
|
||||
// 存在,加入list中
|
||||
sensitiveWordList.add(txt.substring(i, i + length));
|
||||
// 减1的原因,是因为for会自增
|
||||
i = i + length - 1;
|
||||
}
|
||||
}
|
||||
|
||||
return sensitiveWordList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文字中的敏感词,默认为最大匹配规则
|
||||
*
|
||||
* @param txt
|
||||
* 文字
|
||||
* @return 敏感词集合
|
||||
*/
|
||||
public Set<String> getSensitiveWord(String txt) {
|
||||
return getSensitiveWord(txt, MaxMatchType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换敏感字字符
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param replaceChar
|
||||
* 替换的字符,匹配的敏感词以字符逐个替换,如 语句:我爱中国人 敏感词:中国人,替换字符:*, 替换结果:我爱***
|
||||
* @param matchType
|
||||
* 敏感词匹配规则 1:最小匹配规则,2:最大匹配规则
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt, char replaceChar, int matchType) {
|
||||
String resultTxt = txt;
|
||||
// 获取所有的敏感词
|
||||
Set<String> set = getSensitiveWord(txt, matchType);
|
||||
Iterator<String> iterator = set.iterator();
|
||||
String word;
|
||||
String replaceString;
|
||||
while (iterator.hasNext()) {
|
||||
word = iterator.next();
|
||||
replaceString = getReplaceChars(replaceChar, word.length());
|
||||
resultTxt = resultTxt.replaceAll(word, replaceString);
|
||||
}
|
||||
|
||||
return resultTxt;
|
||||
}
|
||||
/**
|
||||
* 替换敏感字字符,默认使用最大匹配规则
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param replaceChar
|
||||
* 替换的字符,匹配的敏感词以字符逐个替换,如 语句:我爱中国人 敏感词:中国人,替换字符:*, 替换结果:我爱***
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt, char replaceChar) {
|
||||
return replaceSensitiveWord(txt, replaceChar, MaxMatchType);
|
||||
}
|
||||
/**
|
||||
* 替换敏感字字符
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param replaceStr
|
||||
* 替换的字符串,匹配的敏感词以字符逐个替换,如 语句:我爱中国人 敏感词:中国人,替换字符串:[屏蔽],替换结果:我爱[屏蔽]
|
||||
* @param matchType
|
||||
* 敏感词匹配规则:1:最小匹配规则,2:最大匹配规则
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt, String replaceStr, int matchType) {
|
||||
String resultTxt = txt;
|
||||
// 获取所有的敏感词
|
||||
Set<String> set = getSensitiveWord(txt, matchType);
|
||||
Iterator<String> iterator = set.iterator();
|
||||
String word;
|
||||
while (iterator.hasNext()) {
|
||||
word = iterator.next();
|
||||
resultTxt = resultTxt.replaceAll(word, replaceStr);
|
||||
}
|
||||
|
||||
return resultTxt;
|
||||
}
|
||||
/**
|
||||
* 替换敏感字字符,默认使用最大匹配规则
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param replaceStr
|
||||
* 替换的字符串,匹配的敏感词以字符逐个替换,如 语句:我爱中国人 敏感词:中国人,替换字符串:[屏蔽],替换结果:我爱[屏蔽]
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt, String replaceStr) {
|
||||
return replaceSensitiveWord(txt, replaceStr, MaxMatchType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用敏感词集合内部替换词替换敏感词
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param matchType
|
||||
* 敏感词匹配规则:1:最小匹配规则,2:最大匹配规则
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt, int matchType) {
|
||||
|
||||
// txt转换
|
||||
StringBuilder text = new StringBuilder(txt);
|
||||
StringBuilder test = new StringBuilder(convert(txt));
|
||||
for (int i = 0; i < test.length(); i++) {
|
||||
int j;
|
||||
// 敏感词结束标识位:用于敏感词只有1位的情况
|
||||
boolean flag = false;
|
||||
// 匹配标识数默认为0
|
||||
int matchFlag = 0;
|
||||
char word;
|
||||
|
||||
Map nowMap = sensitiveWordMap;
|
||||
String replaceWord;
|
||||
if (nowMap.containsKey(test.charAt(i))) {
|
||||
matchFlag++;
|
||||
Object replace = null;
|
||||
// 上一个字符
|
||||
char previous = test.charAt(i);
|
||||
// 上一个map
|
||||
Map previousMap;
|
||||
for (j = i; j < test.length(); j++) {
|
||||
word = test.charAt(j);
|
||||
// 获取指定key
|
||||
previousMap = nowMap;
|
||||
nowMap = (Map) nowMap.get(word);
|
||||
if (nowMap != null) {
|
||||
// 存在,则判断是否为最后一个
|
||||
// 找到相应key,匹配标识+1
|
||||
previous = word;
|
||||
matchFlag++;
|
||||
// 如果为最后一个匹配规则,结束循环,返回匹配标识数
|
||||
if ("1".equals(nowMap.get("isEnd"))) {
|
||||
// 结束标志位为true
|
||||
flag = true;
|
||||
replace = nowMap.get("replaceWord");
|
||||
|
||||
// 最小规则,直接返回,最大规则还需继续查找
|
||||
if (MinMatchTYpe == matchType) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 不存在,判断是否为停顿符
|
||||
if (stopWords.contains(word + "")) {
|
||||
matchFlag++;
|
||||
nowMap = previousMap;
|
||||
continue;
|
||||
}
|
||||
// 判断是否重复
|
||||
if (i != j && word == previous) {
|
||||
matchFlag++;
|
||||
nowMap = previousMap;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (matchFlag > 0 && flag) {
|
||||
replaceWord = String.valueOf(replace);
|
||||
test.replace(i, j, replaceWord);
|
||||
text.replace(i, j, replaceWord);
|
||||
i = i + replaceWord.length() - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return text.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用敏感词集合内部替换词替换敏感词 默认使用最大匹配规则
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @return 替换后的文本
|
||||
*/
|
||||
public String replaceSensitiveWord(String txt) {
|
||||
return replaceSensitiveWord(txt, MaxMatchType);
|
||||
}
|
||||
/**
|
||||
* 获取替换字符串
|
||||
*
|
||||
* @param replaceChar
|
||||
* 替换字符
|
||||
* @param length
|
||||
* 长度
|
||||
* @return 替换字符串
|
||||
*/
|
||||
public String getReplaceChars(char replaceChar, int length) {
|
||||
StringBuilder resultReplace = new StringBuilder(String.valueOf(replaceChar));
|
||||
for (int i = 1; i < length; i++) {
|
||||
resultReplace.append(replaceChar);
|
||||
}
|
||||
|
||||
return resultReplace.toString();
|
||||
}
|
||||
/**
|
||||
* 检查文字某个位置字符开始是否为敏感词开头,检查规则如下:<br>
|
||||
*
|
||||
* @param txt
|
||||
* 文本
|
||||
* @param beginIndex
|
||||
* 开始位置
|
||||
* @param matchType
|
||||
* 匹配规则
|
||||
* @return 如果存在,则返回敏感词字符的长度,不存在返回0
|
||||
*/
|
||||
private int checkSensitiveWord(String txt, int beginIndex, int matchType) {
|
||||
// txt转换
|
||||
txt = convert(txt);
|
||||
|
||||
// 敏感词结束标识位:用于敏感词只有1位的情况
|
||||
boolean flag = false;
|
||||
// 匹配标识数默认为0
|
||||
int matchFlag = 0;
|
||||
char word;
|
||||
Map nowMap = sensitiveWordMap;
|
||||
char previous = txt.charAt(beginIndex);
|
||||
|
||||
// 上一个map
|
||||
Map previousMap;
|
||||
|
||||
for (int i = beginIndex; i < txt.length(); i++) {
|
||||
word = txt.charAt(i);
|
||||
// 获取指定key
|
||||
previousMap = nowMap;
|
||||
nowMap = (Map) nowMap.get(word);
|
||||
if (nowMap != null) {
|
||||
// 存在,则判断是否为最后一个
|
||||
// 找到相应key,匹配标识+1
|
||||
previous = word;
|
||||
matchFlag++;
|
||||
// 如果为最后一个匹配规则,结束循环,返回匹配标识数
|
||||
if ("1".equals(nowMap.get("isEnd"))) {
|
||||
// 结束标志位为true
|
||||
flag = true;
|
||||
// 最小规则,直接返回,最大规则还需继续查找
|
||||
if (MinMatchTYpe == matchType) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 不存在,判断是否为停顿符
|
||||
if (stopWords.contains(word + "")) {
|
||||
matchFlag++;
|
||||
nowMap = previousMap;
|
||||
continue;
|
||||
}
|
||||
|
||||
// 判断是否重复
|
||||
if (i != beginIndex && word == previous) {
|
||||
matchFlag++;
|
||||
nowMap = previousMap;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (matchFlag < 2 || !flag) {
|
||||
// 长度必须大于等于1,为词
|
||||
matchFlag = 0;
|
||||
}
|
||||
return matchFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 大写转化为小写 全角转化为半角
|
||||
*
|
||||
* @param src
|
||||
* 字符串
|
||||
* @return 转化后的字符串
|
||||
*/
|
||||
private static String convert(String src) {
|
||||
String s = StringKit.toBj(src);
|
||||
return s.toLowerCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* map 迭代
|
||||
*
|
||||
* @param nowMap
|
||||
* 当前map
|
||||
* @param keyChar
|
||||
* 字符
|
||||
* @return 字符的map
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private static Map sensitiveWordMapInit(Map nowMap, char keyChar) {
|
||||
// 库中获取关键字
|
||||
Object wordMap = nowMap.get(keyChar);
|
||||
Map<String, String> newWorMap;
|
||||
if (wordMap != null) {
|
||||
nowMap = (Map) wordMap;
|
||||
} else {
|
||||
// 不存在则,则构建一个map,同时将isEnd设置为0,因为他不是最后一个
|
||||
newWorMap = new HashMap<>();
|
||||
// 不是最后一个
|
||||
newWorMap.put("isEnd", "0");
|
||||
nowMap.put(keyChar, newWorMap);
|
||||
nowMap = newWorMap;
|
||||
}
|
||||
return nowMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 敏感词库增加(敏感词-替换词)
|
||||
*
|
||||
* @param sensitiveWord
|
||||
* 敏感词
|
||||
* @param replaceWord
|
||||
* 替换词
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void addSensitiveWordAndReplaceWord(String sensitiveWord, String replaceWord) {
|
||||
if (sensitiveWord == null) {
|
||||
return;
|
||||
}
|
||||
if (replaceWord == null) {
|
||||
replaceWord = getReplaceChars('*', sensitiveWord.length());
|
||||
}
|
||||
Map nowMap = sensitiveWordMap;
|
||||
sensitiveWord = convert(sensitiveWord);
|
||||
replaceWord = convert(replaceWord);
|
||||
for (int i = 0; i < sensitiveWord.length(); i++) {
|
||||
char keyChar = sensitiveWord.charAt(i);
|
||||
nowMap = sensitiveWordMapInit(nowMap, keyChar);
|
||||
if (i == sensitiveWord.length() - 1) {
|
||||
nowMap.put("isEnd", "1");
|
||||
nowMap.put("replaceWord", replaceWord);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 敏感词库删除
|
||||
*
|
||||
* @param sensitiveWord
|
||||
* 敏感词
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void deleteSensitive(String sensitiveWord) {
|
||||
if (sensitiveWord == null) {
|
||||
return;
|
||||
}
|
||||
sensitiveWord = convert(sensitiveWord);
|
||||
Map nowMap = sensitiveWordMap;
|
||||
for (int i = 0; i < sensitiveWord.length(); i++) {
|
||||
char keyChar = sensitiveWord.charAt(i);
|
||||
nowMap = sensitiveWordMapInit(nowMap, keyChar);
|
||||
if (nowMap == null) {
|
||||
return;
|
||||
}
|
||||
if (i == sensitiveWord.length() - 1) {
|
||||
nowMap.put("isEnd", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加停顿符
|
||||
*
|
||||
* @param stopWord
|
||||
* 停顿符
|
||||
*/
|
||||
public void addStopWord(String stopWord) {
|
||||
if (stopWord != null && stopWord.length() == 1) {
|
||||
stopWords.add(convert(stopWord));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除停顿符
|
||||
*
|
||||
* @param oriStopWord
|
||||
* 停顿符
|
||||
*/
|
||||
public void deleteStopWord(String oriStopWord) {
|
||||
stopWords.remove(convert(oriStopWord));
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SensitiveWordUtil sensitiveWordUtil = new SensitiveWordUtil();
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("4567", "22");
|
||||
map.put("456", "22");
|
||||
map.put("Ea", "22");
|
||||
Set<String> stopWords = new HashSet<>();
|
||||
stopWords.add("@");
|
||||
sensitiveWordUtil.init(map, stopWords);
|
||||
String txt = "123@45@6789146044@5@61E@a32eA";
|
||||
System.out.println("文本:" + txt);
|
||||
String result = sensitiveWordUtil.replaceSensitiveWord(txt);
|
||||
System.out.println("敏感词:" + sensitiveWordUtil.getSensitiveWord(txt).toString());
|
||||
System.out.println("替换结果:" + result);
|
||||
}
|
||||
|
||||
}
|
||||
51
src/main/java/com/platform/common/utils/ShiroUtils.java
Normal file
51
src/main/java/com/platform/common/utils/ShiroUtils.java
Normal file
@ -0,0 +1,51 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import com.platform.modules.sys.entity.SysUserEntity;
|
||||
import com.platform.common.exception.RRException;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.session.Session;
|
||||
import org.apache.shiro.subject.Subject;
|
||||
|
||||
/**
|
||||
* Shiro工具类
|
||||
*/
|
||||
public class ShiroUtils {
|
||||
|
||||
public static Session getSession() {
|
||||
return SecurityUtils.getSubject().getSession();
|
||||
}
|
||||
|
||||
public static Subject getSubject() {
|
||||
return SecurityUtils.getSubject();
|
||||
}
|
||||
|
||||
public static SysUserEntity getUserEntity() {
|
||||
return (SysUserEntity) (SecurityUtils.getSubject() == null ? null : SecurityUtils.getSubject().getPrincipal());
|
||||
}
|
||||
|
||||
public static Long getUserId() {
|
||||
return getUserEntity() == null? 0L :getUserEntity().getUserId();
|
||||
}
|
||||
|
||||
public static void setSessionAttribute(Object key, Object value) {
|
||||
getSession().setAttribute(key, value);
|
||||
}
|
||||
|
||||
public static Object getSessionAttribute(Object key) {
|
||||
return getSession().getAttribute(key);
|
||||
}
|
||||
|
||||
public static boolean isLogin() {
|
||||
return SecurityUtils.getSubject().getPrincipal() != null;
|
||||
}
|
||||
|
||||
public static String getKaptcha(String key) {
|
||||
Object kaptcha = getSessionAttribute(key);
|
||||
if (kaptcha == null) {
|
||||
throw new RRException("验证码已失效");
|
||||
}
|
||||
getSession().removeAttribute(key);
|
||||
return kaptcha.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* Spring Context 工具类
|
||||
*/
|
||||
@Component
|
||||
public class SpringContextUtils implements ApplicationContextAware {
|
||||
public static ApplicationContext applicationContext;
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext)
|
||||
throws BeansException {
|
||||
SpringContextUtils.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
public static Object getBean(String name) {
|
||||
return applicationContext.getBean(name);
|
||||
}
|
||||
|
||||
public static <T> T getBean(String name, Class<T> requiredType) {
|
||||
return applicationContext.getBean(name, requiredType);
|
||||
}
|
||||
|
||||
public static boolean containsBean(String name) {
|
||||
return applicationContext.containsBean(name);
|
||||
}
|
||||
|
||||
public static boolean isSingleton(String name) {
|
||||
return applicationContext.isSingleton(name);
|
||||
}
|
||||
|
||||
public static Class<? extends Object> getType(String name) {
|
||||
return applicationContext.getType(name);
|
||||
}
|
||||
|
||||
}
|
||||
82
src/main/java/com/platform/common/utils/StringKit.java
Normal file
82
src/main/java/com/platform/common/utils/StringKit.java
Normal file
@ -0,0 +1,82 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
public class StringKit {
|
||||
|
||||
public static Integer[] convertStrToInt(String str, String regex) {
|
||||
|
||||
if (StringUtils.isBlank(str) || StringUtils.isBlank(regex))
|
||||
return new Integer[0];
|
||||
|
||||
String[] strs = str.split(regex);
|
||||
if (strs == null || strs.length <= 0)
|
||||
return new Integer[0];
|
||||
Integer[] result = new Integer[strs.length];
|
||||
for (int i = 0; i < strs.length; i++) {
|
||||
result[i] = Integer.valueOf(strs[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断字符是否英文半角字符或标点<br>
|
||||
* 32~126
|
||||
*
|
||||
* @param c
|
||||
* 字符
|
||||
* @return 是否为半角字符
|
||||
*/
|
||||
private static Boolean IsBjChar(char c) {
|
||||
int i = (int) c;
|
||||
return i >= 32 && i <= 126;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断字符是否为全角字符<br>
|
||||
* 全角字符-65248 = 半角字符<br>
|
||||
* 全角空格除外
|
||||
*
|
||||
* @param c
|
||||
* 字符
|
||||
* @return 是否为全角字符
|
||||
*/
|
||||
private static Boolean IsQjChar(char c) {
|
||||
if (c == '\u3000') {
|
||||
return true;
|
||||
}
|
||||
|
||||
int i = (int) c - 65248;
|
||||
if (i < 32) {
|
||||
return false;
|
||||
}
|
||||
return IsBjChar((char) i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将字符串转为半角字符串
|
||||
*
|
||||
* @param src
|
||||
* 字符串
|
||||
* @return 半角字符串
|
||||
*/
|
||||
static String toBj(String src) {
|
||||
if (StringUtils.isBlank(src)) {
|
||||
return src;
|
||||
}
|
||||
|
||||
char[] s = src.toCharArray();
|
||||
StringBuilder sb = new StringBuilder(s.length);
|
||||
for (char value : s) {
|
||||
if (value == '\u3000') {
|
||||
sb.append('\u0020');
|
||||
} else if (IsQjChar(value)) {
|
||||
sb.append((char)((int) value - 65248));
|
||||
} else {
|
||||
sb.append(value);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
|
||||
}
|
||||
}
|
||||
30
src/main/java/com/platform/common/utils/ThirdConstant.java
Normal file
30
src/main/java/com/platform/common/utils/ThirdConstant.java
Normal file
@ -0,0 +1,30 @@
|
||||
package com.platform.common.utils;
|
||||
|
||||
|
||||
public class ThirdConstant {
|
||||
|
||||
// public static String KS_SECRET = "e85fdba04bf261e";
|
||||
//
|
||||
// public static String QUERY_URL="http://lc.test.gifshow.com/rest/n/partner/xinhua/search";
|
||||
//
|
||||
// public static String REPORT_DOWNLOAD_URL="http://lc.test.gifshow.com/rest/n/partner/xinhua/reportDownload";
|
||||
|
||||
public static String KS_SECRET = "45c015971b47ee82";
|
||||
|
||||
public static String QUERY_URL="https://promotion-partner.gifshow.com/rest/n/partner/xinhua/search";
|
||||
|
||||
public static String REPORT_DOWNLOAD_URL="https://promotion-partner.gifshow.com/rest/n/partner/xinhua/reportDownload";
|
||||
|
||||
public static String KS_MEDIA_URL="kuaishou";
|
||||
|
||||
public static String QK_MEDIA_URL="qukan";
|
||||
|
||||
public static String SCENE_PAGE_URL="http://v.xhsnews.cn/third/scene/pull.jspx";
|
||||
|
||||
public static String GET_SCENE_URL="http://v.xhsnews.cn/third/getSceneById.jspx";
|
||||
|
||||
public static String SCENE_REPRORT_PAGE_URL="http://v.xhsnews.cn/third/scene/report/pull.jspx";
|
||||
|
||||
public static String GET_SCENE_REPRORT_URL="http://v.xhsnews.cn/third/scene/getReportById.jspx";
|
||||
|
||||
}
|
||||
22
src/main/java/com/platform/common/validator/Assert.java
Normal file
22
src/main/java/com/platform/common/validator/Assert.java
Normal file
@ -0,0 +1,22 @@
|
||||
package com.platform.common.validator;
|
||||
|
||||
import com.platform.common.exception.RRException;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
/**
|
||||
* 数据校验
|
||||
*/
|
||||
public abstract class Assert {
|
||||
|
||||
public static void isBlank(String str, String message) {
|
||||
if (StringUtils.isBlank(str)) {
|
||||
throw new RRException(message);
|
||||
}
|
||||
}
|
||||
|
||||
public static void isNull(Object object, String message) {
|
||||
if (object == null) {
|
||||
throw new RRException(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package com.platform.common.validator;
|
||||
|
||||
import com.platform.common.exception.RRException;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
import javax.validation.Validation;
|
||||
import javax.validation.Validator;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* hibernate-validator校验工具类
|
||||
*
|
||||
* 参考文档:http://docs.jboss.org/hibernate/validator/5.4/reference/en-US/html_single/
|
||||
*/
|
||||
public class ValidatorUtils {
|
||||
private static Validator validator;
|
||||
|
||||
static {
|
||||
validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验对象
|
||||
* @param object 待校验对象
|
||||
* @param groups 待校验的组
|
||||
* @throws RRException 校验不通过,则报RRException异常
|
||||
*/
|
||||
public static void validateEntity(Object object, Class<?>... groups)
|
||||
throws RRException {
|
||||
Set<ConstraintViolation<Object>> constraintViolations = validator.validate(object, groups);
|
||||
if (!constraintViolations.isEmpty()) {
|
||||
StringBuilder msg = new StringBuilder();
|
||||
for(ConstraintViolation<Object> constraint: constraintViolations){
|
||||
msg.append(constraint.getMessage()).append("<br>");
|
||||
}
|
||||
throw new RRException(msg.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
/**
|
||||
* 新增数据 Group
|
||||
*/
|
||||
public interface AddGroup {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
/**
|
||||
* 阿里云
|
||||
*/
|
||||
public interface AliyunGroup {
|
||||
}
|
||||
11
src/main/java/com/platform/common/validator/group/Group.java
Normal file
11
src/main/java/com/platform/common/validator/group/Group.java
Normal file
@ -0,0 +1,11 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
import javax.validation.GroupSequence;
|
||||
|
||||
/**
|
||||
* 定义校验顺序,如果AddGroup组失败,则UpdateGroup组不会再校验
|
||||
*/
|
||||
@GroupSequence({AddGroup.class, UpdateGroup.class})
|
||||
public interface Group {
|
||||
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
/**
|
||||
* 腾讯云
|
||||
*/
|
||||
public interface QcloudGroup {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
/**
|
||||
* 七牛
|
||||
*/
|
||||
public interface QiniuGroup {
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.platform.common.validator.group;
|
||||
|
||||
/**
|
||||
* 更新数据 Group
|
||||
*/
|
||||
|
||||
public interface UpdateGroup {
|
||||
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user