-- 小韭菜云端登录系统 - 安装SQL

-- 系统配置表
DROP TABLE IF EXISTS `pre_config`;
CREATE TABLE `pre_config` (
  `k` varchar(32) NOT NULL,
  `v` text NULL,
  PRIMARY KEY (`k`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `pre_config` VALUES ('admin_user', 'admin');
INSERT INTO `pre_config` VALUES ('admin_pwd', '123456');
INSERT INTO `pre_config` VALUES ('qq', '123456789');
INSERT INTO `pre_config` VALUES ('apikey', MD5(CONCAT(UNIX_TIMESTAMP(NOW()),rand())));
INSERT INTO `pre_config` VALUES ('sqlkey', '');
INSERT INTO `pre_config` VALUES ('syskey', MD5(CONCAT(UNIX_TIMESTAMP(NOW()),rand())));
INSERT INTO `pre_config` VALUES ('cronkey', FLOOR(RAND()*900000+100000));
INSERT INTO `pre_config` VALUES ('domain', '127.0.0.1,localhost');
INSERT INTO `pre_config` VALUES ('sitename', '云端登录系统');
INSERT INTO `pre_config` VALUES ('title', '云端登录系统 - 网页登陆框架QQ');
INSERT INTO `pre_config` VALUES ('keywords', '云端登录系统,QQ机器人,云端挂机');
INSERT INTO `pre_config` VALUES ('description', '云端登录系统 - 专业的QQ云端管理平台');
INSERT INTO `pre_config` VALUES ('anounce', '');
INSERT INTO `pre_config` VALUES ('anounce_user', '欢迎使用云端登录系统！');
INSERT INTO `pre_config` VALUES ('tixian_rate', '98');
INSERT INTO `pre_config` VALUES ('tixian_min', '10');
INSERT INTO `pre_config` VALUES ('tixian', '3');
INSERT INTO `pre_config` VALUES ('fenzhan_page', '0');
INSERT INTO `pre_config` VALUES ('mail_stmp', 'smtp.qq.com');
INSERT INTO `pre_config` VALUES ('mail_pwd', '');
INSERT INTO `pre_config` VALUES ('mail_recv', '');
INSERT INTO `pre_config` VALUES ('user_free', '0');
INSERT INTO `pre_config` VALUES ('template', 'default');
INSERT INTO `pre_config` VALUES ('fenzhan_template', '0');
INSERT INTO `pre_config` VALUES ('kami_tc', '1');
INSERT INTO `pre_config` VALUES ('kami_open', '1');
INSERT INTO `pre_config` VALUES ('user_open', '1');
INSERT INTO `pre_config` VALUES ('is_time_shift', '1');
INSERT INTO `pre_config` VALUES ('is_new_time', '1');
INSERT INTO `pre_config` VALUES ('show_all_goods', '1');
INSERT INTO `pre_config` VALUES ('login_tip', '请使用手机QQ扫码登录');
INSERT INTO `pre_config` VALUES ('tc_to_rmb', '1');
INSERT INTO `pre_config` VALUES ('footinfo', '');
INSERT INTO `pre_config` VALUES ('tongji_code', '');
INSERT INTO `pre_config` VALUES ('shouhou_qun', '');
INSERT INTO `pre_config` VALUES ('blacklist', '');
INSERT INTO `pre_config` VALUES ('get_status_timeout', '5');
INSERT INTO `pre_config` VALUES ('login_timeout', '15');
INSERT INTO `pre_config` VALUES ('notice_end', '1');
INSERT INTO `pre_config` VALUES ('notify_end_day', '5');
INSERT INTO `pre_config` VALUES ('qq_end_notify_nr', '');
INSERT INTO `pre_config` VALUES ('qq_end_day', '0');
INSERT INTO `pre_config` VALUES ('del_qq_type', '0');
INSERT INTO `pre_config` VALUES ('end_time', '8');

-- 用户表
DROP TABLE IF EXISTS `pre_user`;
CREATE TABLE `pre_user` (
  `zid` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `upzid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '上级用户ID',
  `upzid_all` text DEFAULT NULL COMMENT '全部上级zid',
  `type` tinyint(1) NOT NULL DEFAULT '0',
  `domain` varchar(50) DEFAULT NULL COMMENT '分站域名',
  `domain2` varchar(50) DEFAULT NULL COMMENT '备用域名',
  `user` varchar(20) NOT NULL UNIQUE,
  `pwd` varchar(32) NOT NULL,
  `phone` varchar(32) DEFAULT NULL,
  `openid_qq` varchar(100) DEFAULT NULL,
  `openid_wx` varchar(100) DEFAULT NULL,
  `openid_alipay` varchar(100) DEFAULT NULL,
  `rmb` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '余额',
  `rmb_tc` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '佣金提成',
  `vip` tinyint(1) NOT NULL DEFAULT '1' COMMENT '会员等级',
  `qq` varchar(12) DEFAULT NULL COMMENT '联系QQ',
  `kf_wx` varchar(32) DEFAULT NULL COMMENT '客服微信',
  `shouhou_qun` varchar(255) DEFAULT NULL COMMENT '售后群链接',
  `fz_app_download_url` varchar(512) DEFAULT NULL COMMENT '分站App下载链接',
  `fz_app_download_name` varchar(80) DEFAULT NULL COMMENT '分站App按钮名称',
  `sitename` varchar(80) DEFAULT NULL COMMENT '分站名称',
  `title` varchar(80) DEFAULT NULL,
  `keywords` text DEFAULT NULL,
  `description` text DEFAULT NULL,
  `gonggao` text DEFAULT NULL COMMENT '分站公告',
  `alert_gonggao` text DEFAULT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0正常 1封禁',
  `pay_type` tinyint(1) NOT NULL DEFAULT '0',
  `pay_name` varchar(100) DEFAULT NULL COMMENT '收款人姓名',
  `pay_account` varchar(100) DEFAULT NULL COMMENT '收款账号',
  `pay_img` varchar(255) DEFAULT NULL COMMENT '收款码',
  `msgread` text DEFAULT NULL,
  `template` varchar(255) DEFAULT NULL,
  `addtime` datetime DEFAULT NULL,
  `endtime` datetime DEFAULT NULL,
  `ip` varchar(32) DEFAULT NULL,
  `wechat_appuid` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `notice_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '通知类型',
  `reason` text DEFAULT NULL COMMENT '封禁原因',
  `ban_day` int(11) NOT NULL DEFAULT 0 COMMENT '封禁天数',
  `uptime` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`zid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000;

-- 用户等级表（含折扣）
DROP TABLE IF EXISTS `pre_user_vip`;
CREATE TABLE `pre_user_vip` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `vip` int NOT NULL DEFAULT 1 COMMENT '等级',
  `name` varchar(20) DEFAULT NULL COMMENT '等级名称',
  `discount` int(11) NOT NULL DEFAULT 100 COMMENT '折扣比例(80表示8折)',
  `price` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '升级价格',
  `user_fanli_rmb` int(11) NOT NULL DEFAULT 0 COMMENT '用户返利值',
  `daili_fanli_rmb` int(11) NOT NULL DEFAULT 0 COMMENT '代理返利值',
  `fanli_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '返利类型：0百分比 1固定值',
  `desc` text DEFAULT NULL COMMENT '等级描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `pre_user_vip` VALUES 
(1, 1, 'VIP1', 100, 0, 0, 0, 0, '优惠个毛'),
(2, 2, 'VIP2', 60, 10, 0, 0, 0, '6折优惠'),
(3, 3, 'VIP3', 40, 30, 0, 0, 0, '4折优惠'),
(4, 4, 'VIP4', 20, 60, 0, 0, 0, '2折优惠'),
(5, 5, 'VIP5', 10, 100, 0, 0, 0, '1折优惠'),
(6, 6, 'VIP6', 100, 200, 0, 0, 0, '代理商');

-- 登录接口配置表
DROP TABLE IF EXISTS `pre_loginconfig`;
CREATE TABLE `pre_loginconfig` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `cid` varchar(255) DEFAULT NULL COMMENT '框架类型标识',
  `cids` int(11) NOT NULL DEFAULT 0 COMMENT '分类id',
  `biz` varchar(16) NOT NULL DEFAULT 'cloud' COMMENT '业务 cloud/dg',
  `sort` int(11) NOT NULL DEFAULT 10,
  `url` varchar(255) DEFAULT NULL COMMENT '接口地址',
  `query_api` varchar(255) DEFAULT NULL COMMENT '查询/代挂API根地址',
  `port` int(11) NOT NULL DEFAULT 0,
  `type` varchar(255) NOT NULL DEFAULT 'xlz' COMMENT '框架类型',
  `msg` text DEFAULT NULL COMMENT '接口公告',
  `msg_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '公告位置',
  `citybz` varchar(255) DEFAULT NULL COMMENT '接口备注',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1正常',
  `status_api` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1正常',
  `online_census` int(11) NOT NULL DEFAULT '0' COMMENT '在线人数',
  `max` int(1) NOT NULL DEFAULT 0 COMMENT '上限人数',
  `show_online_census` tinyint(1) NOT NULL DEFAULT '1',
  `exclusive` text DEFAULT NULL COMMENT '专属接口',
  `apipwd` varchar(32) DEFAULT NULL COMMENT '接口密码',
  `notify_time` int(11) NOT NULL DEFAULT '0',
  `notify_count` int(11) NOT NULL DEFAULT '0' COMMENT '通知次数',
  `protocol` text DEFAULT NULL COMMENT '自定义协议',
  `uptime` int(11) NOT NULL DEFAULT '0' COMMENT '监控时间',
  `hktype` tinyint(1) NOT NULL DEFAULT 0,
  `api_error_check` tinyint(1) NOT NULL DEFAULT '1' COMMENT '节点异常检测',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 登录协议表
DROP TABLE IF EXISTS `pre_protocol`;
CREATE TABLE `pre_protocol` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `sort` int(11) NOT NULL DEFAULT 10,
  `cid` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '登陆协议id',
  `is` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否自定义协议id',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1正常',
  `is_pwd` tinyint(1) NOT NULL DEFAULT 1,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `pre_protocol` (`sort`,`cid`,`name`,`type`,`is`,`status`,`is_pwd`) VALUES 
(1, 'QstarBot', '安卓QQ', 0, 0, 1, 2),
(2, 'QstarBot', '安卓平板', 1, 0, 1, 2),
(3, 'QstarBot', '手表QQ', 3, 0, 1, 0),
(4, 'Qstar_NT', '安卓QQ', 0, 0, 1, 2),
(5, 'Qstar_NT', '安卓平板', 1, 0, 1, 2),
(6, 'Qstar_NT', '手表QQ', 3, 0, 1, 0);

-- QQ账号表
DROP TABLE IF EXISTS `pre_qq`;
CREATE TABLE `pre_qq` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) DEFAULT NULL COMMENT '所属用户',
  `qq` varchar(15) DEFAULT NULL,
  `pwd` varchar(30) DEFAULT NULL,
  `cityid` VARCHAR(40) NOT NULL DEFAULT '0' COMMENT '登录接口ID或link_前缀',
  `online` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0自动上线',
  `dropline` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0否，1掉线重登',
  `protocol` varchar(30) DEFAULT NULL COMMENT '登陆协议',
  `login_zt` tinyint(1) NOT NULL DEFAULT '0' COMMENT '登陆状态1在线',
  `login_cuont` int(11) NOT NULL DEFAULT '0' COMMENT '登录次数',
  `uptime` datetime NULL,
  `addtime` datetime NULL,
  `endtime_arr` text DEFAULT NULL COMMENT '各分类到期时间JSON',
  `dropline_time` int(11) NOT NULL DEFAULT '0',
  `out_notify` text DEFAULT NULL COMMENT '掉线通知',
  `end_notify_arr` text DEFAULT NULL COMMENT '到期提醒按分类上次发送时间JSON',
  PRIMARY KEY (`id`),
  UNIQUE (`qq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000;

-- 代挂QQ账号表
DROP TABLE IF EXISTS `pre_dg_qq`;
CREATE TABLE `pre_dg_qq` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) DEFAULT NULL COMMENT '所属用户',
  `qq` varchar(15) DEFAULT NULL,
  `pwd` varchar(30) DEFAULT NULL,
  `cityid` VARCHAR(40) NOT NULL DEFAULT '0' COMMENT '登录接口ID或link_前缀',
  `online` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0自动上线',
  `dropline` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0否，1掉线重登',
  `protocol` varchar(30) DEFAULT NULL COMMENT '登陆协议',
  `login_zt` tinyint(1) NOT NULL DEFAULT '0' COMMENT '登陆状态1在线',
  `login_cuont` int(11) NOT NULL DEFAULT '0' COMMENT '登录次数',
  `uptime` datetime NULL,
  `addtime` datetime NULL,
  `endtime_arr` text DEFAULT NULL COMMENT '各分类到期时间JSON',
  `dropline_time` int(11) NOT NULL DEFAULT '0',
  `out_notify` text DEFAULT NULL COMMENT '掉线通知',
  `end_notify_arr` text DEFAULT NULL COMMENT '到期提醒按分类上次发送时间JSON',
  PRIMARY KEY (`id`),
  UNIQUE (`qq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000;

-- 资金变动记录表
DROP TABLE IF EXISTS `pre_points`;
CREATE TABLE `pre_points` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) NOT NULL DEFAULT 1,
  `type` varchar(255) DEFAULT NULL COMMENT '类型',
  `type2` varchar(20) DEFAULT NULL COMMENT '子类型',
  `rmb` varchar(20) DEFAULT NULL COMMENT '变动金额',
  `before_rmb` varchar(20) DEFAULT NULL COMMENT '变动前金额',
  `after_rmb` varchar(20) DEFAULT NULL COMMENT '变动后金额',
  `bz` varchar(255) DEFAULT NULL COMMENT '备注',
  `addtime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `zid` (`zid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 支付订单表
DROP TABLE IF EXISTS `pre_pay`;
CREATE TABLE `pre_pay` (
  `trade_no` varchar(64) NOT NULL,
  `api_trade_no` varchar(64) DEFAULT NULL,
  `type` varchar(10) DEFAULT NULL COMMENT '支付方式',
  `channel` varchar(10) NULL,
  `zid` int(11) unsigned NOT NULL DEFAULT '1',
  `tid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商品id',
  `name` text DEFAULT NULL COMMENT '商品名称',
  `input` text DEFAULT NULL COMMENT '输入参数',
  `num` int(11) unsigned NOT NULL DEFAULT '1',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0待支付 1已支付',
  `money` varchar(32) NULL,
  `ip` varchar(32) NULL,
  `domain` varchar(255) NULL,
  `shequid` tinyint(1) NOT NULL DEFAULT '0',
  `interface_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '支付接口ID',
  `addtime` datetime NULL,
  `endtime` datetime NULL,
  PRIMARY KEY (`trade_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 提现记录表
DROP TABLE IF EXISTS `pre_tixian`;
CREATE TABLE `pre_tixian` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) DEFAULT NULL,
  `money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '提现金额',
  `realmoney` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '实际到账',
  `tx_type` varchar(50) NOT NULL COMMENT '提现类型',
  `pay_type` int(1) NOT NULL DEFAULT '0' COMMENT '0支付宝，1微信，2QQ',
  `pay_account` varchar(50) NOT NULL COMMENT '收款账号',
  `pay_name` varchar(50) NOT NULL COMMENT '收款人',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0待处理 1已完成 2已退回',
  `remark` text DEFAULT NULL COMMENT '备注',
  `pay_img` varchar(255) DEFAULT NULL COMMENT '收款码',
  `addtime` datetime DEFAULT NULL,
  `endtime` datetime DEFAULT NULL,
  `note` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `zid` (`zid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 老用户记录表（免费体验）
DROP TABLE IF EXISTS `pre_old_qq`;
CREATE TABLE `pre_old_qq` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) DEFAULT NULL,
  `cid` text DEFAULT NULL,
  `qq` varchar(15) UNIQUE DEFAULT NULL,
  `addtime` datetime NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 登录订单表
DROP TABLE IF EXISTS `pre_login_order`;
CREATE TABLE `pre_login_order` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `order_no` varchar(32) NOT NULL COMMENT '订单号',
  `zid` int(11) DEFAULT NULL COMMENT '所属用户',
  `qq` varchar(15) DEFAULT NULL COMMENT 'QQ号',
  `pwd` varchar(100) DEFAULT NULL COMMENT '密码',
  `apiid` VARCHAR(40) DEFAULT NULL COMMENT '登录节点ID或link_前缀',
  `cid` int(11) DEFAULT NULL COMMENT '分类ID',
  `protocol` varchar(30) DEFAULT NULL COMMENT '登录协议',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态:0待处理,1成功,2失败',
  `msg` varchar(255) DEFAULT NULL COMMENT '结果消息',
  `addtime` datetime NULL,
  `endtime` datetime NULL COMMENT '完成时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `order_no` (`order_no`),
  KEY `zid` (`zid`),
  KEY `qq` (`qq`),
  KEY `status` (`status`),
  KEY `addtime` (`addtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 系统日志表
DROP TABLE IF EXISTS `pre_logs`;
CREATE TABLE `pre_logs` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) NOT NULL,
  `qq` varchar(20) NOT NULL,
  `type` varchar(20) NOT NULL,
  `result` text DEFAULT NULL,
  `result2` text DEFAULT NULL,
  `result3` text DEFAULT NULL,
  `addtime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 站内消息表
DROP TABLE IF EXISTS `pre_message`;
CREATE TABLE `pre_message` (
  `id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) unsigned NOT NULL DEFAULT '1',
  `type` int(1) NOT NULL DEFAULT '0' COMMENT '0全部 1直属',
  `title` VARCHAR(255) NOT NULL,
  `content` TEXT NOT NULL,
  `color` VARCHAR(20) DEFAULT NULL,
  `addtime` datetime NOT NULL,
  `count` int(11) unsigned NOT NULL DEFAULT 0,
  `active` tinyint(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `type` (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 卡密表
DROP TABLE IF EXISTS `pre_km`;
CREATE TABLE `pre_km` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) DEFAULT NULL COMMENT '生成者',
  `name` varchar(50) DEFAULT NULL COMMENT '卡密名称',
  `km` varchar(50) DEFAULT NULL COMMENT '卡密',
  `shopid` varchar(255) DEFAULT NULL COMMENT '商品ID',
  `rmb` varchar(11) NOT NULL DEFAULT '0' COMMENT '卡密金额',
  `tc_rmb` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '预存提成金额',
  `isuse` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0未使用，1已使用',
  `qq` varchar(15) DEFAULT NULL COMMENT '使用者qq',
  `usetime` datetime NULL COMMENT '使用的时间',
  `addtime` datetime NULL,
  `version` varchar(16) NOT NULL DEFAULT 'cloud' COMMENT '卡密版本 cloud/qzone/all',
  `card_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '卡种类型 0常规卡 1特殊卡',
  `time` varchar(11) NOT NULL DEFAULT '0' COMMENT '0时1天2月',
  `time_num` varchar(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 特殊卡使用记录表
DROP TABLE IF EXISTS `pre_km_special_used`;
CREATE TABLE `pre_km_special_used` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `qq` varchar(15) NOT NULL COMMENT '使用QQ号',
  `goods_id` int(11) unsigned NOT NULL COMMENT '商品ID（shopid字段）',
  `km_id` int(11) unsigned NOT NULL COMMENT '卡密ID',
  `usetime` datetime NOT NULL COMMENT '使用时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `qq_goods` (`qq`, `goods_id`),
  KEY `qq` (`qq`),
  KEY `goods_id` (`goods_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='特殊卡使用记录表-限制同QQ同商品只能激活一次';

-- 文章分类表
DROP TABLE IF EXISTS `pre_article_class`;
CREATE TABLE `pre_article_class` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) unsigned NOT NULL DEFAULT '1',
  `sort` int(11) NOT NULL DEFAULT '10',
  `name` varchar(255) NOT NULL,
  `shopimg` text DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 文章表
DROP TABLE IF EXISTS `pre_article`;
CREATE TABLE `pre_article` (
  `id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
  `zid` int(11) unsigned NOT NULL DEFAULT '1',
  `cid` int(11) NOT NULL DEFAULT 0,
  `title` VARCHAR(255) NOT NULL,
  `content` TEXT NOT NULL,
  `keywords` VARCHAR(255) DEFAULT NULL,
  `description` VARCHAR(255) DEFAULT NULL,
  `skeywords` VARCHAR(255) DEFAULT NULL,
  `color` VARCHAR(20) DEFAULT NULL,
  `addtime` datetime NOT NULL,
  `count` int(11) unsigned NOT NULL DEFAULT 0,
  `top` tinyint(1) NOT NULL DEFAULT 0,
  `active` tinyint(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 商品表
DROP TABLE IF EXISTS `pre_goods`;
CREATE TABLE `pre_goods` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `sort` int(11) NOT NULL DEFAULT '10',
  `name` varchar(255) NOT NULL COMMENT '商品名称',
  `type` int(11) NOT NULL DEFAULT '0' COMMENT '关联分类ID',
  `type_cloud` int(11) NOT NULL DEFAULT '0' COMMENT '云端分类ID（三版通用用）',
  `type_dg` int(11) NOT NULL DEFAULT '0' COMMENT '代挂分类ID（三版通用用）',
  `version` varchar(16) NOT NULL DEFAULT 'cloud' COMMENT '商品版本 cloud/dg/qzone/cloud_all/dg_all/tri_all',
  `num` int(11) NOT NULL DEFAULT '1' COMMENT '时长数量',
  `time_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0月 1天 2小时',
  `price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '原价',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1上架 0下架',
  `desc` text DEFAULT NULL COMMENT '商品描述',
  `limit_once` tinyint(1) NOT NULL DEFAULT '0' COMMENT '限购一次 0否 1是',
  `is_fixed_price` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用固定等级价格 0否 1是',
  `fixed_prices` text DEFAULT NULL COMMENT '固定等级价格JSON格式',
  `activity_enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '活动是否开启 0否 1是',
  `activity_start` datetime DEFAULT NULL COMMENT '活动开始时间',
  `activity_end` datetime DEFAULT NULL COMMENT '活动结束时间',
  `activity_discount` int(3) NOT NULL DEFAULT '100' COMMENT '活动折扣百分比(1-100)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `pre_goods` (`id`,`sort`,`name`,`type`,`version`,`num`,`time_type`,`price`,`status`,`desc`,`is_fixed_price`,`fixed_prices`,`activity_enabled`,`activity_start`,`activity_end`,`activity_discount`) VALUES 
(1, 10, '1个月', 1000, 'cloud', 1, 0, 5.00, 1, NULL, 0, NULL, 0, NULL, NULL, 100),
(2, 11, '6个月', 1000, 'cloud', 6, 0, 30.00, 1, NULL, 0, NULL, 0, NULL, NULL, 100),
(3, 12, '12个月', 1000, 'cloud', 12, 0, 50.00, 1, NULL, 0, NULL, 0, NULL, NULL, 100);

-- 登录分类表
DROP TABLE IF EXISTS `pre_login_class`;
CREATE TABLE `pre_login_class` (
  `id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
  `sort` int(11) NOT NULL DEFAULT 50,
  `name` VARCHAR(255) NOT NULL,
  `cid` INT(11) NOT NULL DEFAULT 0,
  `biz` varchar(16) NOT NULL DEFAULT 'cloud' COMMENT '业务 cloud/dg',
  `active` tinyint(1) NOT NULL DEFAULT 0,
  `free` INT(11) NOT NULL DEFAULT 0 COMMENT '免费体验天数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000;

INSERT INTO `pre_login_class` VALUES (1000, 50, '默认', 0, 'cloud', 0, 0);

-- 轮播图表
DROP TABLE IF EXISTS `pre_carousel`;
CREATE TABLE `pre_carousel` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL COMMENT '轮播图标题',
  `image` varchar(500) NOT NULL COMMENT '图片地址（外链或本地路径）',
  `link` varchar(500) DEFAULT NULL COMMENT '跳转链接',
  `sort` int(11) NOT NULL DEFAULT '50' COMMENT '排序',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1启用 0禁用',
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0外链 1上传',
  `addtime` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


-- 支付接口配置表
DROP TABLE IF EXISTS `pre_pay_interface`;
CREATE TABLE `pre_pay_interface` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `pay_type` varchar(20) NOT NULL COMMENT '支付类型：alipay/wxpay/qqpay',
  `interface_type` varchar(50) NOT NULL COMMENT '接口类型：alipay_official/alipay_face/qqpay_official/wxpay_official/epay等',
  `name` varchar(100) NOT NULL COMMENT '接口名称',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态：1启用 0禁用',
  `sort` int(11) NOT NULL DEFAULT '10' COMMENT '排序，数字越小越靠前',
  `config` text DEFAULT NULL COMMENT '接口配置JSON',
  `addtime` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `pay_type` (`pay_type`),
  KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 客服问答表
DROP TABLE IF EXISTS `pre_customer_service_qa`;
CREATE TABLE `pre_customer_service_qa` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=普通问答, 1=连续问答步骤',
  `chain_id` varchar(32) DEFAULT NULL COMMENT '连续问答链ID',
  `chain_name` varchar(100) DEFAULT NULL COMMENT '连续问答链名称',
  `step_number` int(11) NOT NULL DEFAULT '0' COMMENT '步骤序号(0=入口)',
  `trigger_keyword` varchar(100) DEFAULT NULL COMMENT '触发关键词',
  `question` varchar(255) DEFAULT NULL COMMENT '问题文本',
  `answer` text NOT NULL COMMENT '回答内容',
  `match_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0=精确匹配, 1=模糊匹配',
  `is_hotkey` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否显示为前台热键',
  `sort` int(11) NOT NULL DEFAULT '50' COMMENT '排序',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0=禁用, 1=启用',
  `addtime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_chain` (`chain_id`, `step_number`),
  KEY `idx_status_type` (`status`, `type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入客服配置（忽略已存在的记录，避免冲突报错）
INSERT IGNORE INTO `pre_config` (`k`,`v`) VALUES 
('cs_enabled', '1'),
('cs_bubble_icon', ''),
('cs_bubble_position', 'right'),
('cs_welcome_msg', '您好，欢迎咨询！请选择下方问题或直接输入。'),
('cs_no_match_msg', ''),
('cs_top_info', ''),
('cs_feedback_enabled', '1'),
('cs_feedback_email', '');

-- 客服咨询日志表
DROP TABLE IF EXISTS `pre_customer_service_log`;
CREATE TABLE `pre_customer_service_log` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  `user_qq` varchar(20) DEFAULT '' COMMENT '用户QQ号',
  `message` text COMMENT '消息内容',
  `direction` enum('user','bot') DEFAULT 'user' COMMENT '消息方向：user=用户，bot=机器人',
  `addtime` datetime DEFAULT NULL COMMENT '时间',
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_time` (`addtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客服咨询日志表';

-- 客服留言表
DROP TABLE IF EXISTS `pre_customer_service_feedback`;
CREATE TABLE `pre_customer_service_feedback` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',
  `user_name` varchar(100) DEFAULT '' COMMENT '用户名',
  `user_email` varchar(100) DEFAULT '' COMMENT '用户邮箱',
  `content` text COMMENT '留言内容',
  `reply` text COMMENT '回复内容',
  `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态：0=待处理，1=正在处理，2=已处理',
  `addtime` datetime DEFAULT NULL COMMENT '留言时间',
  `reply_time` datetime DEFAULT NULL COMMENT '回复时间',
  PRIMARY KEY (`id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_status` (`status`),
  KEY `idx_time` (`addtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='客服留言表';

-- =============================================
-- QQ空间秒赞系统数据库表（2.31）
-- =============================================

-- QQ账号表
DROP TABLE IF EXISTS `pre_qzone_qq`;
CREATE TABLE `pre_qzone_qq` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL COMMENT '绑定用户ID',
  `qq` varchar(20) NOT NULL COMMENT 'QQ号',
  `pass` varbinary(128) NULL DEFAULT NULL COMMENT 'QQ密码(加密)',
  `nickname` varchar(128) NOT NULL COMMENT 'QQ昵称',
  `skey` varchar(128) NOT NULL COMMENT 'skey',
  `pskey` varchar(128) NOT NULL COMMENT 'pskey',
  `superkey` varchar(128) NOT NULL COMMENT 'superkey',
  `gtk` varchar(128) NOT NULL COMMENT 'gtk',
  `qzonetoken` varchar(255) NOT NULL COMMENT 'qzonetoken',
  `login_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '登录状态 0有效 1失效',
  `login_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '登录时间',
  `vip_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'VIP到期时间',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `uk_qq`(`qq`),
  INDEX `idx_user_id`(`user_id`),
  INDEX `idx_login_status`(`login_status`),
  INDEX `idx_vip_time`(`vip_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='QQ空间账号表';

-- QQ空间功能配置表
DROP TABLE IF EXISTS `pre_qzone_config`;
CREATE TABLE `pre_qzone_config` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `qid` int(10) UNSIGNED NOT NULL COMMENT '关联qzone_qq表ID',
  `invalid_remind_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '失效提醒开关 0关闭 1开启',
  `cloud_auto_update_ck` tinyint(1) NOT NULL DEFAULT 0 COMMENT '云端自动更新CK开关 0关闭 1开启',
  `last_monitor_time` datetime DEFAULT NULL COMMENT '上次监控执行时间',
  `ssmz_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '说说秒赞开关',
  `ssmz_whitelist` varchar(1024) DEFAULT '' COMMENT '说说秒赞白名单(*分隔)',
  `ssmz_blacklist` varchar(1024) DEFAULT '' COMMENT '说说秒赞黑名单(*分隔)',
  `ssmz_hourly_max` int(10) UNSIGNED NOT NULL DEFAULT 300 COMMENT '每小时最大点赞数',
  `ssmz_cycle` int(10) UNSIGNED NOT NULL DEFAULT 60 COMMENT '秒赞执行频率(秒)',
  `ssmz_next_exec_time` datetime DEFAULT NULL COMMENT '秒赞下次执行时间',
  `ssmp_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '说说秒评开关',
  `ssmp_whitelist` varchar(1024) DEFAULT '' COMMENT '说说秒评白名单(*分隔)',
  `ssmp_blacklist` varchar(1024) DEFAULT '' COMMENT '说说秒评黑名单(*分隔)',
  `ssmp_pic_url` varchar(1024) DEFAULT '' COMMENT '评论图片URL(逗号分隔)',
  `ssmp_comment` varchar(1024) DEFAULT '' COMMENT '评论内容',
  `ssmp_hourly_max` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '每小时最大评论数',
  `ssmp_cycle` int(10) UNSIGNED NOT NULL DEFAULT 60 COMMENT '秒评执行频率(秒)',
  `ssmp_next_exec_time` datetime DEFAULT NULL COMMENT '秒评下次执行时间',
  `zdfss_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '自动发说说开关',
  `zdfss_delete_prev` tinyint(1) NOT NULL DEFAULT 0 COMMENT '删除上一条说说 0不删除 1删除',
  `zdfss_whitelist` varchar(1024) DEFAULT '' COMMENT '自动发说说白名单',
  `zdfss_exec_cycle` int(10) UNSIGNED DEFAULT 60 COMMENT '执行周期(分钟)',
  `zdfss_content` varchar(255) DEFAULT '' COMMENT '说说内容',
  `zdfss_pic_url` varchar(1024) DEFAULT '' COMMENT '说说图片URL(逗号分隔)',
  `zfss_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '转发说说开关',
  `zfss_content` varchar(255) DEFAULT '' COMMENT '转发附加内容',
  `zfss_forward_list` varchar(1024) DEFAULT '' COMMENT '转发名单(*分隔)',
  `zfss_exec_cycle` int(10) UNSIGNED DEFAULT 3600 COMMENT '转发执行周期(秒)',
  `sign_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '空间签到开关',
  `sign_cycle` int(10) UNSIGNED NOT NULL DEFAULT 1440 COMMENT '签到执行周期(分钟)',
  `sign_content` varchar(255) DEFAULT '' COMMENT '签到内容(逗号分隔随机)',
  `clear_ss_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '清空说说开关',
  `clear_ly_switch` tinyint(1) NOT NULL DEFAULT 0 COMMENT '清空留言开关',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `uk_qid`(`qid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='QQ空间功能配置表';

-- QQ空间操作日志表
DROP TABLE IF EXISTS `pre_qzone_log`;
CREATE TABLE `pre_qzone_log` (
  `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `qid` int(10) UNSIGNED NOT NULL COMMENT '关联QQ号ID',
  `type` varchar(20) NOT NULL COMMENT '日志类型',
  `user_id` int(11) NOT NULL DEFAULT 0 COMMENT '用户ID',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `feed_key` varchar(32) DEFAULT NULL COMMENT '说说唯一键',
  `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '执行状态',
  `content` varchar(500) DEFAULT '' COMMENT '日志内容',
  `result` text DEFAULT NULL COMMENT '执行结果',
  PRIMARY KEY (`id`),
  INDEX `idx_qid`(`qid`),
  INDEX `idx_qid_type`(`qid`, `type`),
  INDEX `idx_feed_key`(`feed_key`),
  INDEX `idx_create_time`(`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='QQ空间操作日志表';

-- 秒赞功能配置
INSERT IGNORE INTO `pre_config` (`k`,`v`) VALUES
('qzone_enabled', '1'),
('qzone_tail_pl', ''),
('qzone_tail_zdfss', ''),
('qzone_ssmz_hourly_vip', '0'),
('qzone_ssmp_hourly_vip', '0'),
('qzone_free_hourly_ssmz', '0'),
('qzone_free_hourly_ssmp', '0'),
('qzone_ssmz_cycle_vip', '0'),
('qzone_ssmp_cycle_vip', '0'),
('qzone_free_ssmz_cycle', '60'),
('qzone_free_ssmp_cycle', '60'),
('qzone_open', '0'),
('qzone_cloud_update_status', '1'),
('qzone_cloud_cookie', '0'),
('dg_open', '0'),
('version_name_cloud', '云端版'),
('version_name_qzone', '秒赞版'),
('version_name_all', '通用'),
('version_name_dg', '代挂版');

-- ================================
-- 追加：2.90 跨站节点对接增量
-- （新装库直接执行 install.sql 即已具备该版本结构）
-- ================================

-- 2.90 跨站节点对接：pre_node_auth、pre_node_link、访问日志；pre_qq/pre_dg_qq.cityid 与 pre_login_order.apiid 支持 link_ 前缀
-- 执行前请备份数据库。可重复执行：表已存在时请跳过或手动调整。
CREATE TABLE IF NOT EXISTS `pre_node_auth` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `app_id` varchar(32) NOT NULL COMMENT '凭证ID',
  `app_secret` varchar(64) NOT NULL COMMENT '通信密钥',
  `auth_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '授权类型: 1全站 2分类 3单节点',
  `class_id` int(11) DEFAULT NULL COMMENT '分类ID（auth_type=2时）',
  `node_id` int(11) DEFAULT NULL COMMENT '节点ID（auth_type=3时）',
  `site_name` varchar(100) DEFAULT NULL COMMENT '对接方站点名称',
  `site_url` varchar(255) DEFAULT NULL COMMENT '对接方站点URL',
  `contact_qq` varchar(20) DEFAULT NULL COMMENT '联系QQ',
  `expire_time` datetime DEFAULT NULL COMMENT '授权到期时间',
  `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1启用 0禁用',
  `remark` text DEFAULT NULL COMMENT '备注',
  `addtime` datetime DEFAULT NULL,
  `uptime` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `app_id` (`app_id`),
  KEY `idx_type_class` (`auth_type`, `class_id`),
  KEY `idx_type_node` (`auth_type`, `node_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='跨站节点授权表';

CREATE TABLE IF NOT EXISTS `pre_node_auth_log` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `app_id` varchar(32) NOT NULL,
  `node_id` int(11) NOT NULL,
  `action` varchar(50) NOT NULL COMMENT '操作类型: list/config/sync',
  `qq` varchar(15) DEFAULT NULL COMMENT 'QQ号(登录时)',
  `ip` varchar(45) DEFAULT NULL,
  `addtime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_app_time` (`app_id`, `addtime`),
  KEY `idx_node` (`node_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='节点访问日志表';

CREATE TABLE IF NOT EXISTS `pre_node_link` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `app_id` varchar(32) NOT NULL COMMENT '凭证ID',
  `app_secret` varchar(64) NOT NULL COMMENT '通信密钥',
  `api_url` varchar(255) NOT NULL COMMENT '被对接方API地址',
  `remote_node_id` int(11) NOT NULL COMMENT '被对接方节点ID',
  `remote_class_id` int(11) DEFAULT NULL COMMENT '被对接方分类ID',
  `remote_class_name` varchar(100) DEFAULT NULL COMMENT '被对接方分类名',
  `sync_type` varchar(32) DEFAULT NULL COMMENT '框架类型',
  `sync_cid` varchar(255) DEFAULT NULL COMMENT '登录协议标识',
  `sync_protocol` text DEFAULT NULL COMMENT '协议列表JSON',
  `local_class_id` int(11) NOT NULL DEFAULT 0 COMMENT '本地分类ID',
  `custom_name` varchar(100) DEFAULT NULL COMMENT '自定义名称',
  `biz` varchar(16) NOT NULL DEFAULT 'cloud' COMMENT '业务 cloud 或 dg',
  `msg` text DEFAULT NULL COMMENT '接口公告',
  `msg_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '公告位置',
  `max` int(11) NOT NULL DEFAULT 0 COMMENT '上限人数',
  `show_online_census` tinyint(1) NOT NULL DEFAULT 1 COMMENT '显示人数',
  `apipwd` varchar(32) DEFAULT NULL COMMENT '接口密码（对接方自设）',
  `api_error_check` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'API异常检测',
  `sort` int(11) NOT NULL DEFAULT 10 COMMENT '排序',
  `sync_online_census` int(11) NOT NULL DEFAULT 0 COMMENT '在线人数(缓存)',
  `expire_time` datetime DEFAULT NULL COMMENT '授权到期时间(缓存)',
  `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态 1启用 0禁用',
  `last_sync_time` datetime DEFAULT NULL COMMENT '上次同步时间',
  `addtime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_node_biz` (`api_url`, `remote_node_id`, `biz`),
  KEY `idx_app` (`app_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='对接节点链接表';

INSERT IGNORE INTO `pre_config` (`k`,`v`) VALUES ('node_auth_enabled', '1');

