-- V6: 第三方平台集成(涂鸦/Google/Alexa等) -- 存储各平台的 API 凭证和配置信息 -- 1. 平台配置表(存储第三方平台API凭证,支持多租户) CREATE TABLE IF NOT EXISTS `platform_config` ( `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)', `platform_code` VARCHAR(32) NOT NULL COMMENT '平台编码(tuya/google_home/alexa)', `platform_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '平台显示名称', `tenant_id` BIGINT NOT NULL DEFAULT 0 COMMENT '租户ID(0=全局)', `enabled` TINYINT NOT NULL DEFAULT 0 COMMENT '是否启用(0禁用/1启用)', -- 涂鸦相关字段 `access_id` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '涂鸦Access ID', `access_secret` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '涂鸦Access Secret(加密存储)', `api_region` VARCHAR(10) NOT NULL DEFAULT 'cn' COMMENT 'API区域(cn/us/eu/in)', -- Google Home 相关字段 `project_id` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'Google Cloud Project ID', `client_id` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'OAuth Client ID', `client_secret` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'OAuth Client Secret(加密)', -- Alexa 相关字段 `alexa_client_id` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'Alexa Client ID', `alexa_secret` VARCHAR(200) NOT NULL DEFAULT '' COMMENT 'Alexa Client Secret(加密)', `region` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '服务区域', -- 通用字段 `config_json` TEXT NULL COMMENT '额外配置(JSON格式)', `remark` VARCHAR(255) NULL COMMENT '备注', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `create_by` BIGINT NULL COMMENT '创建人ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `update_by` BIGINT NULL COMMENT '更新人ID', `deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除', PRIMARY KEY (`id`), UNIQUE KEY `uk_platform_tenant` (`platform_code`, `tenant_id`, `deleted`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='第三方平台配置表'; -- 2. 涂鸦用户授权表(存储用户与涂鸦的OAuth绑定关系) CREATE TABLE IF NOT EXISTS `tuya_user_binding` ( `id` BIGINT NOT NULL COMMENT '主键ID', `member_id` BIGINT NOT NULL COMMENT '会员ID', `tuya_user_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '涂鸦用户UID', `tuya_open_id` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '涂鸦Open ID', `access_token` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '访问令牌(加密)', `refresh_token` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '刷新令牌(加密)', `token_expire_at` DATETIME NULL COMMENT 'Token过期时间', `default_home_id` BIGINT NOT NULL DEFAULT 0 COMMENT '默认家庭ID', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态(0解绑/1有效)', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `create_by` BIGINT NULL COMMENT '创建人ID', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `update_by` BIGINT NULL COMMENT '更新人ID', PRIMARY KEY (`id`), UNIQUE KEY `uk_member` (`member_id`, `status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='涂鸦用户绑定表'; -- 插入默认涂鸦配置记录(占位符,需在后台修改为真实值) INSERT INTO `platform_config` (`id`, `platform_code`, `platform_name`, `tenant_id`, `enabled`, `access_id`, `api_region`, `remark`, `create_time`, `update_time`, `deleted`) VALUES (1, 'tuya', '涂鸦智能', 0, 0, '', 'cn', '请在后台管理页面填写涂鸦IoT开放平台的API凭证', NOW(), NOW(), 0);