-- ============================================== 系统表 start ===============================
USE `caimei`;
-- 系统用户表system_user
DROP TABLE IF EXISTS `system_user`;
CREATE TABLE `system_user` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` VARCHAR(255) UNIQUE NOT NULL COMMENT '用户名',
  `password` VARCHAR(255) NOT NULL COMMENT '密码',
  `avatar` VARCHAR(255) DEFAULT 'https://www.caimei365.com/favicon.png' COMMENT '头像',
  `fullName` VARCHAR(100) NOT NULL COMMENT '姓名',
  `phone` varchar(20) NOT NULL COMMENT '电话',
  `login_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '是否阻止登录：0否，其他是',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记：0未删，其他删除',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统用户表';

-- 系统角色表
DROP TABLE IF EXISTS `system_role`;
CREATE TABLE `system_role` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '角色ID',
  `role_name` VARCHAR(50) UNIQUE  NOT NULL COMMENT '角色名称',
  `role_desc` VARCHAR(255) DEFAULT NULL COMMENT '描述',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记：0未删，其他删除',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统角色表';

-- 系统菜单表
DROP TABLE IF EXISTS `system_menu`;
CREATE TABLE `system_menu` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
  `title` VARCHAR(100) NOT NULL COMMENT '菜单名称',
  `name` VARCHAR(100) UNIQUE NOT NULL COMMENT '路由名称(前端匹配路由用)',
  `icon` VARCHAR(50) DEFAULT NULL COMMENT '图标',
  `parent_id` BIGINT NOT NULL DEFAULT '0' COMMENT '父级菜单Id',
  `hidden` CHAR(1) NOT NULL DEFAULT '0' COMMENT '隐藏状态：0显示，1隐藏',
  `status` CHAR(1) NOT NULL DEFAULT '0' COMMENT '状态：0启用，1停用',
  `sort` INT NOT NULL DEFAULT 0 COMMENT '排序',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标记：0未删，其他删除',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统菜单表';

-- 系统权限表
-- DROP TABLE IF EXISTS `system_permission`;
-- CREATE TABLE `system_permission` (
--  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '权限ID',
--  `permission` VARCHAR(100) DEFAULT NULL COMMENT '权限标识',
--  PRIMARY KEY (`id`)
-- ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统权限表';

-- 用户&角色 关联表
DROP TABLE IF EXISTS `system_role_user`;
CREATE TABLE `system_role_user` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `role_id` VARCHAR(50) DEFAULT NULL COMMENT '角色ID',
  `user_id` VARCHAR(255) DEFAULT NULL COMMENT '用户ID',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统用户角色关联表';

-- 菜单&角色 关联表
DROP TABLE IF EXISTS `system_role_menu`;
CREATE TABLE `system_role_menu` (
  `id` BIGINT NOT NULL AUTO_INCREMENT,
  `role_id` VARCHAR(50) DEFAULT NULL COMMENT '角色ID',
  `menu_id` VARCHAR(255) DEFAULT NULL COMMENT '菜单ID',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='系统用户角色关联表';

-- ============================================== 系统表 end ===============================

-- ============================================== 微信表 start =============================
USE `caimei`;
-- 微信公众号菜单表(原表：caimei_weixin.menu_tree)
DROP TABLE IF EXISTS `wechat_menu`;
CREATE TABLE `wechat_menu` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `parent_id` bigint DEFAULT NULL COMMENT '父级编号',
  `parent_ids` varchar(2000) DEFAULT NULL COMMENT '所有父级编号',
  `name` varchar(30) DEFAULT '' COMMENT '菜单标题',
  `sort` int DEFAULT '0' COMMENT '排序',
  `type` varchar(30) DEFAULT '' COMMENT '菜单的响应动作类型',
  `key` varchar(64) DEFAULT '' COMMENT '菜单KEY值，用于消息接口推送(click等点击类型必须)',
  `url` text COMMENT '网页链接，用户点击菜单可打开链接(view类型必须)',
  `media_id` varchar(64) DEFAULT '' COMMENT '调用新增永久素材接口返回的合法media_id(media_id类型和view_limited类型必须)',
  `appid` varchar(64) DEFAULT '' COMMENT '小程序appId,公众号跳转小程序时使用',
  `page_path` varchar(100) DEFAULT '' COMMENT '小程序页面路径,公众号跳转小程序时使用',
  `wx_type` varchar(20) DEFAULT '' COMMENT '微信公众号类型',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` bigint DEFAULT NULL COMMENT '最后更新人',
  `update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4 COMMENT='微信菜单tree';

INSERT INTO caimei.wechat_menu (id,parent_id,parent_ids,`name`,sort,`type`,`key`,url,media_id,appid,page_path,wx_type,create_by,create_date,update_by,update_date)
SELECT id,parentId,parentIds,`name`,sort,`type`,`key`,url,mediaId,appid,pagepath,wxType,createBy,createDate,updateBy,updateDate FROM caimei_weixin.menu_tree;

-- 微信公众号自动回复表(原表：caimei_weixin.cm_wxparam)
DROP TABLE IF EXISTS `wechat_reply`;
CREATE TABLE `wechat_reply` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `keyword` varchar(128) DEFAULT NULL COMMENT '关键字',
  `response_type` varchar(16) DEFAULT NULL COMMENT '事件类型',
  `msg_type` varchar(16) DEFAULT NULL COMMENT '回复类型',
  `relate_id` bigint DEFAULT NULL COMMENT '素材id',
  `title` varchar(128) DEFAULT NULL COMMENT '回复素材标题',
  `wx_type` varchar(255) DEFAULT NULL COMMENT '公众号类型',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` bigint DEFAULT NULL COMMENT '最后更新人',
  `update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4 COMMENT='回复配置表';

INSERT INTO caimei.wechat_reply (id,keyword,response_type,msg_type,relate_id,title,wx_type,create_by,create_date,update_by,update_date)
SELECT cm_wxparamID,keyword,responseType,msgType,relateID,title,wx_type,create_by,create_date,update_by,update_date FROM caimei_weixin.cm_wxparam;

-- 微信公众号-文本素材(原表：caimei_weixin.cm_wxtext)
DROP TABLE IF EXISTS `wechat_text`;
CREATE TABLE `wechat_text` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `title` varchar(128) DEFAULT NULL COMMENT '标题',
  `content` text COMMENT '内容',
  `wx_type` varchar(20) DEFAULT NULL COMMENT '微信公众号类型',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` bigint DEFAULT NULL COMMENT '最后更新人',
  `update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4 COMMENT='微信文本素材表';

INSERT INTO caimei.wechat_text (id,title,content,wx_type,create_by,create_date,update_by,update_date)
SELECT cm_wxtextID,title,content,wx_type,create_by,create_date,update_by,update_date FROM caimei_weixin.cm_wxtext;

-- 微信公众号-文本素材(原表：caimei_weixin.cm_wxarticle)
DROP TABLE IF EXISTS `wechat_article`;
CREATE TABLE `wechat_article` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `title` varchar(128) DEFAULT NULL COMMENT '标题',
  `wx_type` varchar(20) DEFAULT NULL COMMENT '微信公众号类型',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` bigint DEFAULT NULL COMMENT '最后更新人',
  `update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4 COMMENT='微信图文素材表';

INSERT INTO caimei.wechat_article (id,title,wx_type,create_by,create_date,update_by,update_date)
SELECT cm_wxarticleID,title,wx_type,create_by,create_date,update_by,update_date FROM caimei_weixin.cm_wxarticle;

-- 微信公众号-文本素材(原表：caimei_weixin.cm_wxarticledtl)
DROP TABLE IF EXISTS `wechat_article_detail`;
CREATE TABLE `wechat_article_detail` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `article_id` int DEFAULT NULL COMMENT '图文素材id',
  `title` varchar(128) DEFAULT NULL COMMENT '标题',
  `url` varchar(255) DEFAULT NULL COMMENT '跳转链接',
  `pic_url` varchar(255) DEFAULT NULL COMMENT '图片链接',
  `create_by` bigint DEFAULT NULL COMMENT '创建人',
  `create_date` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` bigint DEFAULT NULL COMMENT '最后更新人',
  `update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4 COMMENT='微信图文素材详细表';

INSERT INTO caimei.wechat_article_detail (id,article_id,title,url,pic_url,create_by,create_date,update_by,update_date)
SELECT cm_wxarticledtlID,cm_wxarticleID,title,linkurl,picurl,create_by,create_date,update_by,update_date FROM caimei_weixin.cm_wxarticledtl;

-- ============================================== 微信表 end ===============================

UPDATE `wechat_menu` SET wx_type='gh_123456' WHERE wx_type='gh_ef75b1b89b74';
UPDATE `wechat_menu` SET wx_type='gh_123456' WHERE wx_type='gh_7de98a37fb6a';
UPDATE `wechat_menu` SET wx_type='gh_7890123' WHERE wx_type='gh_eecada09617d';

UPDATE `wechat_reply` SET wx_type='gh_123456' WHERE wx_type='gh_ef75b1b89b74';
UPDATE `wechat_reply` SET wx_type='gh_123456' WHERE wx_type='gh_7de98a37fb6a';
UPDATE `wechat_reply` SET wx_type='gh_7890123' WHERE wx_type='gh_eecada09617d';

UPDATE `wechat_text` SET wx_type='gh_123456' WHERE wx_type='gh_ef75b1b89b74';
UPDATE `wechat_text` SET wx_type='gh_123456' WHERE wx_type='gh_7de98a37fb6a';
UPDATE `wechat_text` SET wx_type='gh_7890123' WHERE wx_type='gh_eecada09617d';

UPDATE `wechat_article` SET wx_type='gh_123456' WHERE wx_type='gh_ef75b1b89b74';
UPDATE `wechat_article` SET wx_type='gh_123456' WHERE wx_type='gh_7de98a37fb6a';
UPDATE `wechat_article` SET wx_type='gh_7890123' WHERE wx_type='gh_eecada09617d';

COMMIT;
