CREATE TABLE `whitelist` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '白名单ID', `user_id` INT(11) NOT NULL COMMENT '用户ID', `whitelist_ip` VARCHAR(255) NOT NULL COMMENT '白名单IP', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='白名单表,存储用户的IP白名单'; CREATE TABLE `secrets` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '密钥ID', `user_id` INT(11) NOT NULL UNIQUE COMMENT '用户ID', `secret_id` VARCHAR(64) NOT NULL UNIQUE COMMENT '密钥ID', `aes_key` VARCHAR(32) NOT NULL COMMENT 'AES 128位密钥', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='密钥表,存储用户的密钥信息'; CREATE TABLE `products` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '产品ID', `product_name` VARCHAR(255) NOT NULL COMMENT '产品名称', `product_code` VARCHAR(64) NOT NULL UNIQUE COMMENT '产品编号', `product_description` TEXT COMMENT '产品简介', `product_content` TEXT COMMENT '产品内容', `product_group` VARCHAR(32) NOT NULL COMMENT '产品分类', `product_price` DECIMAL(10, 2) NOT NULL COMMENT '产品价格', `is_enabled` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否启用,1-启用,0-禁用', `is_visible` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否展示,1-展示,0-隐藏', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品表,存储产品的详细信息'; CREATE TABLE `user_products` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户产品ID', `user_id` INT(11) NOT NULL COMMENT '用户ID', `product_id` INT(11) NOT NULL COMMENT '产品ID', `product_price` DECIMAL(10, 2) NOT NULL COMMENT '产品价格', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户产品表,存储用户开通的产品记录'; CREATE TABLE `pay_order` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `user_id` INT(11) NOT NULL COMMENT '用户ID', `out_trade_no` VARCHAR(64) NOT NULL UNIQUE COMMENT '商户订单号,唯一', `amount` DECIMAL(10, 2) NOT NULL COMMENT '支付金额', `status` TINYINT NOT NULL DEFAULT 0 COMMENT '订单状态 0-待支付, 1-支付成功, 2-支付失败', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `payment_time` TIMESTAMP NULL COMMENT '支付完成时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付订单表';