
USE `xgl_cases`;



-- ----------------------------
-- Table structure for data_dict
-- ----------------------------
DROP TABLE IF EXISTS `data_dict`;
CREATE TABLE `data_dict`  (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `datakey` varchar(32) NOT NULL COMMENT '字典key值',
  `name` varchar(64) NOT NULL COMMENT '字典名称',
  `isvalid` tinyint(4) DEFAULT '1' COMMENT '是否有效(1:有效，0:无效)',
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `ukey_datakey`(`datakey`)
) ENGINE = InnoDB COMMENT='数据字典表';

/*Data for the table `data_dict` */
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (1,'2020-05-27 15:54:33','2020-05-27 15:54:33','isValid','状态',1,'全局使用，不可删除');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (2,'2020-05-27 16:24:01','2020-05-27 16:24:01','logType','日志类型',1,'系统日志使用');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (3,'2020-05-27 16:25:09','2020-05-27 16:25:09','isTask','任务状态',1,'任务使用');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (4,'2020-05-27 16:29:08','2020-05-27 16:29:08','tag_ppqa','标签_品牌全案',1,'案例库-品牌全案目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (5,'2020-05-27 16:29:25','2020-05-27 16:29:49','tag_ggqa','标签_公关全案',1,'案例库-公关全案目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (6,'2020-05-27 16:30:16','2020-05-27 16:30:30','tag_design','标签_创意设计',1,'案例库-创意设计目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (7,'2020-05-27 16:30:43','2020-05-27 16:30:55','tag_video','标签_视频动画',1,'案例库-视频动画目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (8,'2020-05-27 16:31:05','2020-05-27 18:12:32','tag_h5','标签_技术开发',1,'案例库-技术开发目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (9,'2020-05-27 16:32:04','2020-05-27 16:32:14','tag_ldhd','标签_落地活动',1,'案例库-落地活动目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (10,'2020-05-27 16:32:24','2020-05-27 16:42:16','tag_others','标签_其他案例',1,'案例库-其他案例目录下的标签库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (11,'2020-05-27 16:39:02','2020-05-27 16:39:19','from_ppqa','来源_品牌全案',1,'案例库-品牌全案目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (12,'2020-05-27 16:39:36','2020-05-27 16:39:46','from_ggqa','来源_公关全案',1,'案例库-公关全案目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (13,'2020-05-27 16:40:01','2020-05-27 16:40:12','from_design','来源_创意设计',1,'案例库-创意设计目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (14,'2020-05-27 16:40:15','2020-05-27 16:40:34','from_video','来源_视频动画',1,'案例库-视频动画目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (15,'2020-05-27 16:40:47','2020-05-27 18:12:00','from_h5','来源_技术开发',1,'案例库-技术开发目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (16,'2020-05-27 16:41:19','2020-05-27 16:41:39','from_ldhd','来源_落地活动',1,'案例库-落地活动目录下的案例来源库');
insert  into `data_dict`(`id`,`createtime`,`updatetime`,`datakey`,`name`,`isvalid`,`description`) values (17,'2020-05-27 16:41:48','2020-05-27 16:42:18','from_others','来源_其他案例',1,'案例库-其他案例目录下的案例来源库');



-- ----------------------------
-- Table structure for data_dict_item
-- ----------------------------
DROP TABLE IF EXISTS `data_dict_item`;
CREATE TABLE `data_dict_item`  (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `dictid` bigint(20) NOT NULL COMMENT '字典id值(data_dict表id)',
  `value` varchar(50) NOT NULL COMMENT '字典value值(组合主键)',
  `name` varchar(50) NOT NULL COMMENT '字典名字',
  `sort` int(10) NOT NULL DEFAULT '0' COMMENT '排序',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `ukey`(`dictId`, `value`)
) ENGINE = InnoDB COMMENT='数据字典值集合表';




-- ----------------------------
-- Table structure for content
-- ----------------------------
DROP TABLE IF EXISTS `content`;
CREATE TABLE `content`  (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `type` enum('ppqa','ggqa','design','video','h5','ldhd','others') NOT NULL COMMENT '案例类型[ppqa:品牌全案, ggqa:公关全案, design:创意设计, video:视频动画, h5:技术开发, ldhd:落地活动, others:其他案例]',
  `isvalid` tinyint(4) DEFAULT '1' COMMENT '是否有效(1:有效，0:无效)',
  `fromid` int(11) NULL DEFAULT NULL COMMENT '案例来源ID',
  `title` varchar(100) NOT NULL COMMENT '标题',
  `desct` varchar(1000) NULL DEFAULT NULL COMMENT '摘要,描述',
  `viewno` int(11) NULL DEFAULT NULL COMMENT '查看数',
  `praiseno` int(11) NULL DEFAULT NULL COMMENT '点赞数',
  `listicon` varchar(200) NULL DEFAULT NULL COMMENT '列表icon图',
  `qrcode` varchar(200) NULL DEFAULT NULL COMMENT '二维码',
  `sort` int(11) NULL DEFAULT 0 COMMENT '排序值, 值越大越考前',
  `url` varchar(500) DEFAULT NULL COMMENT '访问地址',
  `content` mediumtext COMMENT 'HTML内容,富文本内容存储在这',
  `content_text` mediumtext COMMENT '纯Text内容,用于存到ES便于搜索',
  `attachment` json DEFAULT NULL COMMENT '附件',
  PRIMARY KEY (`ID`),
  INDEX `idx_title`(`title`),
  INDEX `idx_sort`(`sort`)
) ENGINE = InnoDB COMMENT = '案例库内容表';




-- ----------------------------
-- Table structure for content_images
-- ----------------------------
DROP TABLE IF EXISTS `content_images`;
CREATE TABLE `content_images`  (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `cid` bigint(20) NOT NULL COMMENT '内容表ID',
  `imgurl` varchar(500) NOT NULL COMMENT '图片地址',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  `ori_name` varchar(100) DEFAULT NULL COMMENT '原始名称',
  PRIMARY KEY (`id`)
) ENGINE = InnoDB COMMENT = '内容图片集表';



-- ----------------------------
-- Table structure for content_tags
-- ----------------------------
DROP TABLE IF EXISTS `content_tags`;
CREATE TABLE `content_tags`  (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `cid` bigint(20) NOT NULL COMMENT '内容表ID',
  `tid` bigint(20) NOT NULL COMMENT '标签id(与data_dict_item.id对应)',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `ukey_value`(`cid`, `tid`)
) ENGINE = InnoDB COMMENT = '内容标签关联表';





-- ----------------------------
-- Table structure for wx_department
-- 企业微信部门表
-- ----------------------------
DROP TABLE IF EXISTS `wx_department`;
CREATE TABLE `wx_department` (
  `id` bigint(20) NOT NULL COMMENT '主键, 部门id',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `name` varchar(100) NOT NULL COMMENT '部门名称',
  `parentid` bigint(20) NOT NULL COMMENT '父亲部门id。根部门为1',
  `order` int(11) DEFAULT NULL COMMENT '在父部门中的排序值',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ukey_deptid` (`id`)
) DEFAULT CHARSET=utf8mb4 COMMENT='企业微信部门表';



-- ----------------------------
-- Table structure for wx_user
-- 微信成员表
-- ----------------------------
DROP TABLE IF EXISTS `wx_user`;
CREATE TABLE `wx_user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID, 主键,自增',
  `createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `userid` varchar(50) NOT NULL COMMENT '成员UserID,对应管理端的帐号，企业内必须唯一',
  `name` varchar(50) NOT NULL COMMENT '成员名称',
  `mobile` varchar(25) DEFAULT NULL COMMENT '手机号码',
  `department` varchar(100) NOT NULL COMMENT '成员所属部门id列表',
  `position` varchar(100) DEFAULT NULL COMMENT '职位信息',
  `gender` char(1) DEFAULT '0' COMMENT '性别。0表示未定义，1表示男性，2表示女性',
  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  `weixinid` varchar(50) DEFAULT NULL COMMENT '微信号',
  `isleader` varchar(25) DEFAULT NULL COMMENT '上级字段，标识是否为上级',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像url。注：如果要获取小图将url最后的”/0”改成”/100”即可',
  `english_name` varchar(50) DEFAULT NULL COMMENT '英文名',
  `status` smallint(6) NOT NULL DEFAULT '0' COMMENT '激活状态: 1=已激活，2=已禁用，4=未激活',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ukey_userid` (`userid`)
) DEFAULT CHARSET=utf8mb4 COMMENT='微信成员表';



-- ----------------------------
-- Function structure for getChildDeptIds
-- 递归查询子部门ID函数
-- ----------------------------
DROP FUNCTION IF EXISTS getChildDeptIds;
DELIMITER $$
CREATE FUNCTION `getChildDeptIds`(rootdeptid INT) RETURNS VARCHAR(500) COMMENT '获取子部门ID列表,包含当前id'
    BEGIN
		DECLARE sChildList VARCHAR(500);
      	DECLARE sChildTemp VARCHAR(500);
      	SET sChildTemp =CAST(rootdeptid AS CHAR);
      	WHILE sChildTemp IS NOT NULL DO
        	IF (sChildList IS NOT NULL) THEN
	    		SET sChildList = CONCAT(sChildList,',',sChildTemp);
			ELSE
	    		SET sChildList = CONCAT(sChildTemp);
			END IF;
			SELECT GROUP_CONCAT(deptid) INTO sChildTemp FROM wx_department WHERE FIND_IN_SET(parentid,sChildTemp)>0;
  		END WHILE;
 	RETURN sChildList;
END $$
DELIMITER ;




