-- 开放接口应用初始化脚本
-- 当前版本采用 appId + appSecret 换 accessToken 的轻量模式。

CREATE TABLE IF NOT EXISTS `xxk_open_api_app` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `app_id` VARCHAR(64) NOT NULL COMMENT '应用ID',
  `app_name` VARCHAR(128) NOT NULL COMMENT '应用名称',
  `app_secret` VARCHAR(128) NOT NULL COMMENT '应用密钥',
  `member_user_id` BIGINT NOT NULL COMMENT '绑定会员ID',
  `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态(0停用 1启用)',
  `allow_ip_list` TEXT DEFAULT NULL COMMENT '允许访问IP列表，逗号/换行分隔',
  `last_auth_time` DATETIME DEFAULT NULL COMMENT '最近换取token时间',
  `last_auth_ip` VARCHAR(64) DEFAULT NULL COMMENT '最近换取token IP',
  `remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
  `create_by` BIGINT DEFAULT NULL COMMENT '创建人ID',
  `update_by` BIGINT DEFAULT NULL COMMENT '更新人ID',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除(0否 1是)',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_xxk_open_api_app_app_id` (`app_id`),
  UNIQUE KEY `uk_xxk_open_api_app_member_user_id` (`member_user_id`),
  KEY `idx_xxk_open_api_app_member_user_id` (`member_user_id`),
  KEY `idx_xxk_open_api_app_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开放接口应用表';
