yanzhu-saas/sql/mysql/yanzhu-module-mp.sql

260 lines
14 KiB
SQL

-- ========================================
-- yanzhu-module-mp 建表 SQL
-- 数据库: MySQL 8.0+
-- 微信公众号模块
-- ========================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ========================================
-- 公众号核心表
-- ========================================
-- ----------------------------
-- Table structure for mp_account
-- ----------------------------
DROP TABLE IF EXISTS `mp_account`;
CREATE TABLE `mp_account` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(64) NOT NULL COMMENT '公众号名称',
`account` varchar(64) NOT NULL COMMENT '公众号账号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appid',
`app_secret` varchar(128) NOT NULL COMMENT '公众号密钥',
`token` varchar(128) NOT NULL COMMENT '公众号 token',
`aes_key` varchar(128) DEFAULT NULL COMMENT '消息加解密密钥',
`qr_code_url` varchar(256) DEFAULT NULL COMMENT '二维码图片 URL',
`remark` varchar(256) DEFAULT NULL COMMENT '备注',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_app_id` (`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号账号';
-- ----------------------------
-- Table structure for mp_user
-- ----------------------------
DROP TABLE IF EXISTS `mp_user`;
CREATE TABLE `mp_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`openid` varchar(64) NOT NULL COMMENT '粉丝标识',
`union_id` varchar(64) DEFAULT NULL COMMENT '微信生态唯一标识',
`subscribe_status` tinyint NOT NULL COMMENT '关注状态',
`subscribe_time` datetime DEFAULT NULL COMMENT '关注时间',
`unsubscribe_time` datetime DEFAULT NULL COMMENT '取消关注时间',
`nickname` varchar(64) DEFAULT NULL COMMENT '昵称',
`head_image_url` varchar(256) DEFAULT NULL COMMENT '头像地址',
`language` varchar(32) DEFAULT NULL COMMENT '语言',
`country` varchar(32) DEFAULT NULL COMMENT '国家',
`province` varchar(32) DEFAULT NULL COMMENT '省份',
`city` varchar(32) DEFAULT NULL COMMENT '城市',
`remark` varchar(64) DEFAULT NULL COMMENT '备注',
`tag_ids` text COMMENT '标签编号数组',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_openid` (`openid`),
KEY `idx_account_id` (`account_id`),
KEY `idx_union_id` (`union_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='微信公众号粉丝';
-- ----------------------------
-- Table structure for mp_tag
-- ----------------------------
DROP TABLE IF EXISTS `mp_tag`;
CREATE TABLE `mp_tag` (
`id` bigint NOT NULL COMMENT '主键',
`tag_id` bigint NOT NULL COMMENT '公众号标签 id',
`name` varchar(32) NOT NULL COMMENT '标签名',
`count` int DEFAULT NULL COMMENT '此标签下粉丝数',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号标签';
-- ----------------------------
-- Table structure for mp_menu
-- ----------------------------
DROP TABLE IF EXISTS `mp_menu`;
CREATE TABLE `mp_menu` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`name` varchar(32) NOT NULL COMMENT '菜单名称',
`menu_key` varchar(64) DEFAULT NULL COMMENT '菜单标识',
`parent_id` bigint DEFAULT NULL COMMENT '父菜单编号',
`type` varchar(16) DEFAULT NULL COMMENT '按钮类型',
`url` varchar(256) DEFAULT NULL COMMENT '网页链接',
`mini_program_app_id` varchar(32) DEFAULT NULL COMMENT '小程序的 appId',
`mini_program_page_path` varchar(128) DEFAULT NULL COMMENT '小程序的页面路径',
`article_id` varchar(64) DEFAULT NULL COMMENT '跳转图文的媒体编号',
`reply_message_type` varchar(16) DEFAULT NULL COMMENT '消息类型',
`reply_content` text COMMENT '回复的消息内容',
`reply_media_id` varchar(64) DEFAULT NULL COMMENT '回复的媒体 id',
`reply_media_url` varchar(256) DEFAULT NULL COMMENT '回复的媒体 URL',
`reply_title` varchar(128) DEFAULT NULL COMMENT '回复的标题',
`reply_description` varchar(256) DEFAULT NULL COMMENT '回复的描述',
`reply_thumb_media_id` varchar(64) DEFAULT NULL COMMENT '回复的缩略图的媒体 id',
`reply_thumb_media_url` varchar(256) DEFAULT NULL COMMENT '回复的缩略图的媒体 URL',
`reply_articles` text COMMENT '回复的图文消息数组',
`reply_music_url` varchar(256) DEFAULT NULL COMMENT '回复的音乐链接',
`reply_hq_music_url` varchar(256) DEFAULT NULL COMMENT '回复的高质量音乐链接',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_parent_id` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号菜单';
-- ----------------------------
-- Table structure for mp_message
-- ----------------------------
DROP TABLE IF EXISTS `mp_message`;
CREATE TABLE `mp_message` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`msg_id` bigint DEFAULT NULL COMMENT '微信公众号消息 id',
`account_id` bigint NOT NULL COMMENT '公众号账号的 ID',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appid',
`user_id` bigint DEFAULT NULL COMMENT '公众号粉丝的编号',
`openid` varchar(64) DEFAULT NULL COMMENT '公众号粉丝标志',
`type` varchar(16) NOT NULL COMMENT '消息类型',
`send_from` int DEFAULT NULL COMMENT '消息来源',
`content` text COMMENT '消息内容',
`media_id` varchar(64) DEFAULT NULL COMMENT '媒体文件的编号',
`media_url` varchar(256) DEFAULT NULL COMMENT '媒体文件的 URL',
`recognition` varchar(512) DEFAULT NULL COMMENT '语音识别后文本',
`format` varchar(16) DEFAULT NULL COMMENT '语音格式',
`title` varchar(128) DEFAULT NULL COMMENT '标题',
`description` varchar(256) DEFAULT NULL COMMENT '描述',
`thumb_media_id` varchar(64) DEFAULT NULL COMMENT '缩略图的媒体 id',
`thumb_media_url` varchar(256) DEFAULT NULL COMMENT '缩略图的媒体 URL',
`url` varchar(256) DEFAULT NULL COMMENT '点击图文消息跳转链接',
`location_x` double DEFAULT NULL COMMENT '地理位置维度',
`location_y` double DEFAULT NULL COMMENT '地理位置经度',
`scale` double DEFAULT NULL COMMENT '地图缩放大小',
`label` varchar(128) DEFAULT NULL COMMENT '详细地址',
`articles` text COMMENT '图文消息数组',
`music_url` varchar(256) DEFAULT NULL COMMENT '音乐链接',
`hq_music_url` varchar(256) DEFAULT NULL COMMENT '高质量音乐链接',
`event` varchar(32) DEFAULT NULL COMMENT '事件类型',
`event_key` varchar(128) DEFAULT NULL COMMENT '事件 Key',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_msg_id` (`msg_id`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号消息';
-- ----------------------------
-- Table structure for mp_message_template
-- ----------------------------
DROP TABLE IF EXISTS `mp_message_template`;
CREATE TABLE `mp_message_template` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`template_id` varchar(64) NOT NULL COMMENT '公众号模板 ID',
`title` varchar(64) NOT NULL COMMENT '标题',
`content` text COMMENT '模板内容',
`example` text COMMENT '模板示例',
`primary_industry` varchar(32) DEFAULT NULL COMMENT '模板所属行业的一级行业',
`deputy_industry` varchar(32) DEFAULT NULL COMMENT '模板所属行业的二级行业',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号模版消息';
-- ----------------------------
-- Table structure for mp_material
-- ----------------------------
DROP TABLE IF EXISTS `mp_material`;
CREATE TABLE `mp_material` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`media_id` varchar(64) NOT NULL COMMENT '公众号素材 id',
`type` varchar(16) NOT NULL COMMENT '文件类型',
`permanent` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否永久',
`url` varchar(256) DEFAULT NULL COMMENT '文件服务器的 URL',
`name` varchar(64) DEFAULT NULL COMMENT '名字',
`mp_url` varchar(256) DEFAULT NULL COMMENT '公众号文件 URL',
`title` varchar(128) DEFAULT NULL COMMENT '视频素材的标题',
`introduction` varchar(256) DEFAULT NULL COMMENT '视频素材的描述',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`),
KEY `idx_media_id` (`media_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号素材';
-- ----------------------------
-- Table structure for mp_auto_reply
-- ----------------------------
DROP TABLE IF EXISTS `mp_auto_reply`;
CREATE TABLE `mp_auto_reply` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`account_id` bigint NOT NULL COMMENT '公众号账号的编号',
`app_id` varchar(64) NOT NULL COMMENT '公众号 appId',
`type` tinyint NOT NULL COMMENT '回复类型',
`request_keyword` varchar(32) DEFAULT NULL COMMENT '请求的关键字',
`request_match` tinyint DEFAULT NULL COMMENT '请求的关键字的匹配',
`request_message_type` varchar(16) DEFAULT NULL COMMENT '请求的消息类型',
`response_message_type` varchar(16) DEFAULT NULL COMMENT '回复的消息类型',
`response_content` text COMMENT '回复的消息内容',
`response_media_id` varchar(64) DEFAULT NULL COMMENT '回复的媒体 id',
`response_media_url` varchar(256) DEFAULT NULL COMMENT '回复的媒体 URL',
`response_title` varchar(128) DEFAULT NULL COMMENT '回复的标题',
`response_description` varchar(256) DEFAULT NULL COMMENT '回复的描述',
`response_thumb_media_id` varchar(64) DEFAULT NULL COMMENT '回复的缩略图的媒体 id',
`response_thumb_media_url` varchar(256) DEFAULT NULL COMMENT '回复的缩略图的媒体 URL',
`response_articles` text COMMENT '回复的图文消息',
`response_music_url` varchar(256) DEFAULT NULL COMMENT '回复的音乐链接',
`response_hq_music_url` varchar(256) DEFAULT NULL COMMENT '回复的高质量音乐链接',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`),
KEY `idx_account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公众号消息自动回复';
SET FOREIGN_KEY_CHECKS = 1;