DROP TABLE IF EXISTS `qy_access_token`; CREATE TABLE `qy_access_token` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `suiteId` varchar(30) DEFAULT NULL COMMENT '模板ID', `agent_name` varchar(100) DEFAULT NULL COMMENT '应用名称', `agent_id` varchar(30) DEFAULT NULL COMMENT '应用ID', `corpid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '授权方企业 corpid', `secret` varchar(300) DEFAULT NULL COMMENT 'Secret(企业微信永久授权码 permanent_code)', `gettoken_time` datetime DEFAULT NULL COMMENT '获取时间', `access_token` varchar(1000) DEFAULT NULL COMMENT '获取到的凭证,最长为512字节', `expires_in` int DEFAULT NULL COMMENT '凭证的有效时间(秒) (正常情况下为7200秒(2小时))', `errcode` varchar(30) DEFAULT NULL COMMENT '出错返回码,为0表示成功,非0表示调用失败', `errmsg` varchar(500) DEFAULT NULL COMMENT '返回码提示语', `auth_state` varchar(30) NOT NULL DEFAULT '0' COMMENT '授权状态(0:未授权;1:已授权;2:已取消;)', `enable` varchar(2) NOT NULL DEFAULT '1' COMMENT '有效标志(1-有效,0-无效)', `appid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-access_token'; DROP TABLE IF EXISTS `qy_auth`; CREATE TABLE `qy_auth` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `SuiteId` varchar(30) DEFAULT NULL COMMENT '第三方应用的SuiteId或者代开发应用模板id', `AuthCode` varchar(512) DEFAULT NULL COMMENT '临时授权码,最长为512字节。用于获取企业永久授权码。10分钟内有效', `InfoType` varchar(30) DEFAULT NULL COMMENT '信息类型(create_auth:授权成功通知;change_auth:变更授权通知;cancel_auth:取消授权通知;suite_ticket:推送suite_ticket)', `TimeStamp` varchar(30) DEFAULT NULL COMMENT '时间戳', `AuthCorpId` varchar(50) DEFAULT NULL COMMENT '授权方的corpid', `State` varchar(100) DEFAULT NULL COMMENT '构造授权链接指定的state参数', `ExtraInfo` varchar(200) DEFAULT NULL COMMENT '额外信息,部分场景会携带,在其他文档中分别描述', `SuiteTicket` varchar(512) DEFAULT NULL COMMENT 'Ticket内容,最长为512字节', `appid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `ik_qy_auth_SuiteId` (`SuiteId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-代开发应用模板授权'; DROP TABLE IF EXISTS `qy_auth_corp_info`; CREATE TABLE `qy_auth_corp_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `corpid` varchar(50) DEFAULT NULL COMMENT '授权方企业微信id', `corp_name` varchar(100) DEFAULT NULL COMMENT '授权方企业名称,即企业简称', `corp_type` varchar(30) DEFAULT NULL COMMENT '授权方企业类型,认证号:verified, 注册号:unverified', `corp_square_logo_url` varchar(100) DEFAULT NULL COMMENT '授权方企业方形头像', `corp_user_max` varchar(30) DEFAULT NULL COMMENT '授权方企业用户规模', `corp_full_name` varchar(100) DEFAULT NULL COMMENT '授权方企业的主体名称,即企业全称。', `subject_type` varchar(30) DEFAULT NULL COMMENT '企业类型,1. 企业; 2. 政府以及事业单位; 3. 其他组织, 4.团队号', `verified_end_time` varchar(30) DEFAULT NULL COMMENT '认证到期时间', `corp_wxqrcode` varchar(100) DEFAULT NULL COMMENT '授权企业在微信插件(原企业号)的二维码,可用于关注微信插件', `corp_scale` varchar(30) DEFAULT NULL COMMENT '企业规模。当企业未设置该属性时,值为空', `corp_industry` varchar(30) DEFAULT NULL COMMENT '企业所属行业。当企业未设置该属性时,值为空', `corp_sub_industry` varchar(30) DEFAULT NULL COMMENT '企业所属子行业。当企业未设置该属性时,值为空', `agentid` varchar(30) DEFAULT NULL COMMENT '授权方应用id', `agentname` varchar(100) DEFAULT NULL COMMENT '授权方应用名字', `userid` varchar(50) DEFAULT NULL COMMENT '授权管理员的userid,可能为空', `open_userid` varchar(50) DEFAULT NULL COMMENT '授权管理员的open_userid,可能为空', `name` varchar(50) DEFAULT NULL COMMENT '授权管理员的name,可能为空', `avatar` varchar(500) DEFAULT NULL, `state` varchar(100) DEFAULT NULL COMMENT '安装应用时,扫码或者授权链接中带的state值。详见state说明', `suiteId` varchar(30) DEFAULT NULL COMMENT '模板ID', `AuthCode` varchar(512) DEFAULT NULL COMMENT '临时授权码', `permanent_code` varchar(512) DEFAULT NULL COMMENT '企业微信永久授权码', `auth_corp_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '授权方企业信息(json字符串)', `auth_state` varchar(30) NOT NULL DEFAULT '0' COMMENT '授权状态(0:未授权;1:已授权;2:已取消;)', `url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '代开发应用回调URL', `token` varchar(200) DEFAULT NULL COMMENT 'token回调', `encodingAESKey` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'encodingAESKey', `appid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `ik_qy_auth_corp_info_corpid` (`corpid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-授权方企业信息'; DROP TABLE IF EXISTS `qy_department`; CREATE TABLE `qy_department` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `parentid` varchar(30) DEFAULT NULL COMMENT '父部门id。根部门为1', `department_id` varchar(30) DEFAULT NULL COMMENT '创建的部门id', `name` varchar(100) DEFAULT NULL COMMENT '部门名称', `name_en` varchar(100) DEFAULT NULL COMMENT '英文名称', `department_leader` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '部门负责人的UserID', `department_order` varchar(30) DEFAULT NULL COMMENT '在父部门中的次序值。order值大的排序靠前。值范围是[0, 2^32)', `enable` varchar(2) NOT NULL DEFAULT '1' COMMENT '有效标志(1-有效,0-无效)', `corpid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '企业微信id', `appid` varchar(30) DEFAULT NULL COMMENT '应用ID', `cid` int DEFAULT NULL COMMENT '公司ID', `creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (`id`), KEY `ik_qy_department_department_id` (`department_id`), KEY `ik_qy_department_cid` (`corpid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-部门信息'; DROP TABLE IF EXISTS `qy_message`; CREATE TABLE `qy_message` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `send_time` datetime NOT NULL COMMENT '发送时间', `corpid` varchar(50) NOT NULL COMMENT '授权方企业 corpid', `appid` varchar(30) NOT NULL COMMENT '应用ID', `touser` text COMMENT '指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。\r\n 特殊情况:指定为"@all",则向该企业应用的全部成员发送', `toparty` text COMMENT '指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。\r\n 当touser为"@all"时忽略本参数', `totag` text COMMENT '指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。\r\n 当touser为"@all"时忽略本参数', `msgtype` varchar(30) NOT NULL COMMENT '消息类型(text)', `agentid` varchar(30) DEFAULT NULL COMMENT '企业应用的id', `message` text COMMENT '消息内容(JSON数据)', `safe` varchar(10) DEFAULT NULL COMMENT '表示是否是保密消息,0表示可对外分享,1表示不能分享且内容显示水印,默认为0', `enable_id_trans` varchar(10) DEFAULT NULL COMMENT '表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。', `enable_duplicate_check` varchar(10) DEFAULT NULL COMMENT '表示是否开启重复消息检查,0表示否,1表示是,默认0', `duplicate_check_interval` varchar(10) DEFAULT NULL COMMENT '表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时', `errcode` varchar(30) DEFAULT NULL COMMENT '返回码', `errmsg` varchar(1000) DEFAULT NULL COMMENT '对返回码的文本描述内容', `invaliduser` text COMMENT '不合法的userid,不区分大小写,统一转为小写', `invalidparty` text COMMENT '不合法的partyid', `invalidtag` text COMMENT '不合法的标签id', `unlicenseduser` text COMMENT '没有基础接口许可(包含已过期)的userid', `msgid` varchar(100) DEFAULT NULL COMMENT '消息id,用于撤回应用消息', `response_code` varchar(1000) DEFAULT NULL COMMENT '仅消息类型为“按钮交互型”,“投票选择型”和“多项选择型”的模板卡片消息返回,应用可使用response_code调用更新模版卡片消息接口,72小时内有效,且只能使用一次', `send_jsondata` text COMMENT '消息推送JSON内容', `recall_state` varchar(10) DEFAULT '0' COMMENT '撤回状态(0:未撤回;1:已撤回;)', `recall_time` datetime DEFAULT NULL COMMENT '撤回时间', `recall_errcode` varchar(30) DEFAULT NULL COMMENT '撤回,返回码', `recall_errmsg` varchar(1000) DEFAULT NULL COMMENT '撤回,对返回码的文本描述内容', `cid` int NOT NULL COMMENT '公司ID', `creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (`id`), KEY `ik_qy_message_cid` (`cid`), KEY `ik_qy_message_corpid` (`corpid`), KEY `ik_qy_message_msgtype` (`msgtype`), KEY `ik_qy_message_msgid` (`msgid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-消息推送'; DROP TABLE IF EXISTS `qy_template`; CREATE TABLE `qy_template` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `corpid` varchar(50) DEFAULT NULL COMMENT '服务商企业ID corpid', `corp_name` varchar(100) DEFAULT NULL COMMENT '服务商名称', `suiteId` varchar(30) DEFAULT NULL COMMENT '模板ID', `secret` varchar(100) DEFAULT NULL COMMENT '模板Secret', `url` varchar(100) DEFAULT NULL COMMENT '代开发模板回调URL', `token` varchar(50) DEFAULT NULL COMMENT 'Token', `encodingAESKey` varchar(100) DEFAULT NULL COMMENT 'EncodingAESKey', `SuiteTicket` varchar(512) DEFAULT NULL COMMENT 'Ticket内容,最长为512字节', `gettoken_time` datetime DEFAULT NULL COMMENT '获取时间', `suite_access_token` varchar(512) DEFAULT NULL COMMENT '第三方或者代开发应用access_token,最长为512字节', `expires_in` int DEFAULT NULL COMMENT '凭证的有效时间(秒)', `log_state` varchar(10) DEFAULT '0' COMMENT '日志输出状态(0:不输出;1:输出;)', `enable` varchar(2) NOT NULL DEFAULT '1' COMMENT '有效标志(1-有效,0-无效)', `appid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `ik_qy_template_suiteId` (`suiteId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-代开发应用模板信息'; DROP TABLE IF EXISTS `qy_user`; CREATE TABLE `qy_user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键编号', `oper_id` int DEFAULT NULL COMMENT '操作序号', `open_userid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '全局唯一', `userid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '成员UserID。对应管理端的账号,企业内必须唯一。不区分大小写', `name` varchar(30) DEFAULT NULL COMMENT '成员名称', `mobile` varchar(30) DEFAULT NULL COMMENT '手机号码', `department` varchar(100) DEFAULT NULL COMMENT '成员所属部门id列表', `user_order` varchar(100) DEFAULT NULL COMMENT '部门内的排序值,默认为0', `position` varchar(30) DEFAULT NULL COMMENT '职务信息', `gender` varchar(10) DEFAULT NULL COMMENT '性别。0表示未定义,1表示男性,2表示女性。', `email` varchar(100) DEFAULT NULL COMMENT '邮箱', `biz_mail` varchar(100) DEFAULT NULL COMMENT '企业邮箱', `is_leader_in_dept` varchar(100) DEFAULT NULL COMMENT '表示在所在的部门内是否为部门负责人,数量与department一致', `direct_leader` varchar(30) DEFAULT NULL COMMENT '直属上级UserID', `avatar` varchar(500) DEFAULT NULL, `thumb_avatar` varchar(100) DEFAULT NULL COMMENT '头像缩略图url', `telephone` varchar(30) DEFAULT NULL COMMENT '座机', `alias` varchar(30) DEFAULT NULL COMMENT '别名', `extattr` varchar(300) DEFAULT NULL COMMENT '扩展属性', `status` varchar(10) DEFAULT NULL COMMENT '激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。', `qr_code` varchar(100) DEFAULT NULL COMMENT '员工个人二维码', `external_profile` varchar(300) DEFAULT NULL COMMENT '成员对外属性', `external_position` varchar(30) DEFAULT NULL COMMENT '对外职务', `address` varchar(300) DEFAULT NULL COMMENT '地址', `main_department` varchar(30) DEFAULT NULL COMMENT '主部门,仅当应用对主部门有查看权限时返回。', `enable` varchar(2) NOT NULL DEFAULT '1' COMMENT '有效标志(1-有效,0-无效)', `corpid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '企业微信id', `appid` varchar(30) DEFAULT NULL COMMENT '应用ID', `cid` int DEFAULT NULL COMMENT '公司ID', `creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (`id`), KEY `ik_qy_user_cid` (`corpid`), KEY `ik_qy_user_userid` (`userid`), KEY `ik_qy_user_mobile` (`mobile`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企业微信-人员信息'; DROP TABLE IF EXISTS `shop_order`; CREATE TABLE `shop_order` ( `order_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '订单唯一ID', `ucid` VARCHAR(32) DEFAULT NULL COMMENT 'ucid', `openid` VARCHAR(32) NOT NULL COMMENT 'openid', `trade_id` VARCHAR(32) NULL COMMENT '支付网关交易id', `total_amount` DECIMAL(15,2) NOT NULL COMMENT '订单总金额', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '订单状态(1待付款 2已付款 3已发货 4已完成 5已取消)', `pay_status` TINYINT NOT NULL DEFAULT 1 COMMENT '支付状态(1未支付 2已支付 3退款中 4已退款)', `payment_method` VARCHAR(32) DEFAULT NULL COMMENT '支付方式', `pay_time` DATETIME DEFAULT NULL COMMENT '支付时间', `creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (`order_id`), KEY `idx_status` (`status`), KEY `idx_pay_status` (`pay_status`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品订单表'; DROP TABLE IF EXISTS `shop_order_goods`; CREATE TABLE `shop_order_goods` ( `order_goods_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '订单商品唯一ID', `order_id` BIGINT NOT NULL COMMENT '关联订单ID', `goods_id` BIGINT NOT NULL COMMENT '关联商品ID', `quantity` INT NOT NULL DEFAULT 1 COMMENT '购买数量', `price` DECIMAL(15,2) NOT NULL COMMENT '购买时单价', `total_amount` DECIMAL(15,2) NOT NULL COMMENT '商品总金额', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '商品状态(1正常 2已退货 3已换货)', `creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0存在 1删除)', PRIMARY KEY (`order_goods_id`), KEY `idx_order` (`order_id`), KEY `idx_goods` (`goods_id`), KEY `idx_status` (`status`), KEY `idx_create_time` (`create_time`), CONSTRAINT `fk_order_goods_order` FOREIGN KEY (`order_id`) REFERENCES `shop_order` (`order_id`), CONSTRAINT `fk_order_goods_goods` FOREIGN KEY (`goods_id`) REFERENCES `shop_goods` (`goods_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单商品明细表';