-- 开放接口申请与审核初始化脚本

CREATE TABLE IF NOT EXISTS `xxk_open_api_apply` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `apply_no` VARCHAR(64) NOT NULL COMMENT '申请单号',
  `member_user_id` BIGINT NOT NULL COMMENT '会员ID',
  `username_snapshot` VARCHAR(64) DEFAULT NULL COMMENT '用户名快照',
  `mobile_snapshot` VARCHAR(32) DEFAULT NULL COMMENT '手机号快照',
  `contact_name` VARCHAR(64) NOT NULL COMMENT '联系人',
  `contact_mobile` VARCHAR(32) DEFAULT NULL COMMENT '联系电话',
  `contact_email` VARCHAR(128) DEFAULT NULL COMMENT '联系邮箱',
  `company_name` VARCHAR(128) DEFAULT NULL COMMENT '公司名称',
  `purpose` VARCHAR(255) NOT NULL COMMENT '申请用途',
  `scenario_description` TEXT NOT NULL COMMENT '使用场景说明',
  `allow_ip_list` TEXT DEFAULT NULL COMMENT 'IP白名单',
  `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态(0待审核 1已通过 2已驳回)',
  `submit_remark` VARCHAR(255) DEFAULT NULL COMMENT '补充说明',
  `submit_time` DATETIME DEFAULT NULL COMMENT '提交时间',
  `audit_time` DATETIME DEFAULT NULL COMMENT '审核时间',
  `audit_by` BIGINT DEFAULT NULL COMMENT '审核人ID',
  `audit_remark` VARCHAR(255) DEFAULT NULL COMMENT '审核备注',
  `open_api_app_id` BIGINT DEFAULT NULL COMMENT '关联开放应用ID',
  `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_apply_no` (`apply_no`),
  KEY `idx_xxk_open_api_apply_member_user_id` (`member_user_id`),
  KEY `idx_xxk_open_api_apply_status` (`status`),
  KEY `idx_xxk_open_api_apply_submit_time` (`submit_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开放接口申请表';
