CREATE TABLE gx_cc_daily_park_omni_revenue_ods ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键', report_date DATE NOT NULL COMMENT '报告日期', park VARCHAR(100) NOT NULL COMMENT '园区名称', total_omni_revenue DECIMAL(15, 2) NOT NULL COMMENT '总收入', business_created_timestamp DATE NOT NULL COMMENT '业务创建时间', business_modified_timestamp DATE NOT NULL COMMENT '业务修改时间', created_by VARCHAR(50) NOT NULL COMMENT '创建人', etl_created_timestamp DATETIME NOT NULL COMMENT 'ETL创建时间', etl_modified_timestamp DATETIME NOT NULL COMMENT 'ETL修改时间', UNIQUE KEY idx_report_date_park (report_date, park) COMMENT '日期和园区唯一索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门票总收入'; CREATE TABLE gx_cc_daily_park_ig_revenue_ods ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键', report_date DATE NOT NULL COMMENT '报告日期', park VARCHAR(100) NOT NULL COMMENT '园区名称', total_ig_revenue DECIMAL(15, 2) NOT NULL COMMENT '总收入', business_created_timestamp DATE NOT NULL COMMENT '业务创建时间', business_modified_timestamp DATE NOT NULL COMMENT '业务修改时间', created_by VARCHAR(50) NOT NULL COMMENT '创建人', etl_created_timestamp DATETIME NOT NULL COMMENT 'ETL创建时间', etl_modified_timestamp DATETIME NOT NULL COMMENT 'ETL修改时间', UNIQUE KEY idx_report_date_park (report_date, park) COMMENT '日期和园区唯一索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区内交易总收入'; -- 出勤表 CREATE TABLE IF NOT EXISTS ods_attendance ( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID', report_hour DATETIME NOT NULL COMMENT '报表小时(精确到小时)', park VARCHAR ( 100 ) NOT NULL COMMENT '乐园名称', total_attendance INT NOT NULL DEFAULT 0 COMMENT '总出勤人数', annual_pass INT NOT NULL DEFAULT 0 COMMENT '年卡用户出勤人数', vip_attendance INT NOT NULL DEFAULT 0 COMMENT 'VIP出勤人数', -- 添加 report_hour 和 park 的联合唯一索引,避免重复数据 UNIQUE KEY uk_report_park ( report_hour, park ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '乐园小时级出勤报表ODS表'; -- 乐园收入报表表 CREATE TABLE ods_revenue ( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', report_date DATE NOT NULL COMMENT '报表日期', park VARCHAR(100) NOT NULL COMMENT '乐园名称', total_fb_revenue DECIMAL(12, 2) NOT NULL COMMENT '餐饮总收入', total_retail_revenue DECIMAL(12, 2) NOT NULL COMMENT '零售总收入', total_ticket_revenue DECIMAL(12, 2) NOT NULL COMMENT '门票总收入', UNIQUE KEY uk_report_date_park (report_date, park) COMMENT '日期+乐园唯一索引,避免重复数据' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='乐园每日收入报表'; CREATE TABLE `ods_emarsys` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键', `report_timestamp` datetime DEFAULT NULL COMMENT '报告时间', `campaign_id` varchar(50) DEFAULT NULL COMMENT '活动', `origin_campaign_id` varchar(50) DEFAULT NULL COMMENT '活动来源ID', `campaign_name` varchar(255) DEFAULT NULL COMMENT '活动名称', `campaign_type` varchar(50) DEFAULT NULL COMMENT '活动类型', `campaign_category_name` varchar(50) DEFAULT NULL COMMENT '活动分类', `contact_id` varchar(50) DEFAULT NULL COMMENT 'contact_id', `launch_id` varchar(50) DEFAULT NULL COMMENT 'launch_id', `email_send_time` datetime DEFAULT NULL COMMENT '启动邮件发送时间', `email_first_open` datetime DEFAULT NULL COMMENT '首次邮件打开时间', `email_first_click` datetime DEFAULT NULL COMMENT '首次邮件点击时间', `last_activity_timestamp` datetime DEFAULT NULL COMMENT '最后点击活动时间', PRIMARY KEY (`id`), -- 联合唯一索引:避免同一日期、平台的重复数据 UNIQUE KEY uk_ods_emarsys_report_campaign (`report_timestamp`, `campaign_id`), KEY `idx_report_time` (`report_timestamp`), KEY `idx_campaign_id` (`campaign_id`), KEY `idx_email_send_time` (`email_send_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Emarsys 活动报表数据'; CREATE TABLE IF NOT EXISTS ods_yi_app_metrics_screen_views ( id INT AUTO_INCREMENT PRIMARY KEY, report_hour VARCHAR(50) NOT NULL, app_platform VARCHAR(50) NULL, screen_name VARCHAR(255) NULL, page_views_count INT UNSIGNED NULL, -- 联合唯一索引:避免同一小时、平台、页面的重复数据 UNIQUE KEY uk_report_platform_screen (report_hour, app_platform, screen_name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='页面浏览量统计数据表'; CREATE TABLE IF NOT EXISTS ods_yi_app_metrics_engagement ( id INT AUTO_INCREMENT PRIMARY KEY, report_date VARCHAR(50) NOT NULL COMMENT '报告日期(如2025100101)', app_platform VARCHAR(50) NOT NULL COMMENT '应用平台(Android/iOS)', sessions_count INT UNSIGNED NULL COMMENT '会话数', avg_engagement_time_sec DECIMAL(10, 2) NULL COMMENT '平均参与时间(秒)', total_revenue DECIMAL(10, 2) NULL COMMENT '总收入', -- 联合唯一索引:避免同一日期、平台的重复数据 UNIQUE KEY uk_report_platform (report_date, app_platform) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用会话统计数据表';