| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586 |
- -- department
- CREATE TABLE `department`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '部门ID',
- `code` VARCHAR(10) NOT NULL COMMENT '部门编码',
- `name` VARCHAR(30) DEFAULT NULL COMMENT '部门名称',
- `unique_id` VARCHAR(100) NOT NULL COMMENT '唯一标识符',
- `sync_trace_id` DATETIME NOT NULL COMMENT '同步时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_department_code` (`code`),
- UNIQUE KEY `uk_department_unique_id` (`unique_id`),
- INDEX `idx_department_sync_time` (`sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='部门信息表';
- -- park
- CREATE TABLE `park`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `code` VARCHAR(20) NOT NULL,
- `name` VARCHAR(60) NOT NULL,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_park_code` (`code`),
- UNIQUE KEY `uk_park_sync_trace_id` (`sync_trace_id`),
- INDEX `idx_park_synch_time` (`synch_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- hotel
- CREATE TABLE `hotel`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `code` VARCHAR(10) NOT NULL,
- `name` VARCHAR(30),
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_hotel_code` (`code`),
- UNIQUE KEY `uk_hotel_sync_trace_id` (`sync_trace_id`),
- INDEX `idx_hotel_synch_time` (`synch_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_revenue_attendance
- CREATE TABLE `kpi_revenue_attendance`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `park_code` VARCHAR(32) NOT NULL COMMENT '1.YI 2.SWAD 3.FWAD 4.YWW 5.WBW 6.QAW 7.CLYMB 8.TeamLab',
- `date` DATETIME NOT NULL,
- `attendance` INT,
- `onsite_concierge_revenue` DECIMAL(24, 6) COMMENT 'AED',
- `revenue_generated` DECIMAL(24, 6) COMMENT 'AED',
- `ap_visitors` INT,
- `vip_visitors` INT,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_kpi_revenue_attendance_date` (`park_code`, `date`),
- INDEX `idx_kpi_date` (`date`),
- INDEX `idx_kpi_sync` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_concierge
- CREATE TABLE `kpi_concierge`
- (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `department` varchar(10) DEFAULT NULL,
- `date` datetime NOT NULL,
- `revenue_generated` int DEFAULT NULL COMMENT 'AED',
- `call_sla` decimal(24, 6) DEFAULT NULL,
- `call_offered` int DEFAULT NULL,
- `call_waiting` int DEFAULT NULL,
- `call_capacity` int DEFAULT NULL,
- `call_occupancy` int DEFAULT NULL,
- `call_abandonment` int DEFAULT NULL,
- `call_aht` int DEFAULT NULL COMMENT 'mins',
- `call_cast` decimal(5, 2) DEFAULT NULL,
- `chatbot_sla` decimal(24, 6) DEFAULT NULL,
- `chatbot_contacts_offered` int DEFAULT NULL,
- `chatbot_transfers` int DEFAULT NULL,
- `synch_time` datetime NOT NULL,
- `sync_trace_id` varchar(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_kpi_concierge_date` (`department`,`date`),
- KEY `idx_kpi_date` (`date`),
- KEY `idx_kpi_sync` (`synch_time`,`sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- google_reviews_post
- CREATE TABLE `google_reviews_post`
- (
- `id` int NOT NULL AUTO_INCREMENT,
- `subject` varchar(255) DEFAULT NULL,
- `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,
- `content_url` varchar(255) DEFAULT NULL COMMENT 'content_url',
- `avatar_url` varchar(255) DEFAULT NULL,
- `like_num` int DEFAULT '0',
- `comment_count` int DEFAULT '0',
- `review_date` datetime DEFAULT NULL,
- `reposts` int DEFAULT '0',
- `park_code` varchar(10) DEFAULT NULL,
- `synch_time` datetime NOT NULL,
- `sync_trace_id` varchar(100) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `idx_review_park` (`park_code`),
- KEY `idx_review_date` (`review_date`),
- KEY `idx_review_sync` (`synch_time`),
- FULLTEXT KEY `idx_review_content` (`subject`,`content`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_social_media_sentimental
- CREATE TABLE `kpi_social_media_sentimental`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `park_code` VARCHAR(20) NOT NULL,
- `date` DATETIME NOT NULL,
- `google_review` decimal(24, 6) default null,
- `trip_advisor` decimal(24, 6) default null,
- `google_evaluation_word` TEXT,
- `trip_advisor_evaluation_word` TEXT,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_kpi_social_media_sentimental_date` (`park_code`, `date`),
- INDEX `idx_sentiment_date` (`date`),
- INDEX `idx_sentiment_sync` (`synch_time`),
- FULLTEXT INDEX `idx_sentiment_words` (`google_evaluation_word`, `trip_advisor_evaluation_word`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_digital_gx
- CREATE TABLE `kpi_digital_gx`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `app_uptime` DATETIME,
- `downtime_notification` INT DEFAULT 0,
- `current_app_sessions` INT DEFAULT 0,
- `most_used_screens` VARCHAR(255),
- `avg_timespend` DECIMAL(24, 6) COMMENT 'Average time in minutes',
- `app_revenue` DECIMAL(24, 6),
- `yas_app_csat` DECIMAL(24, 6) COMMENT 'Customer Satisfaction Score (0-100)',
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- INDEX `idx_digital_uptime` (`app_uptime`),
- INDEX `idx_digital_sync` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_yas_island_campaigns
- CREATE TABLE `kpi_yas_island_campaigns`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `mtd_campaigns` INT,
- `total_campaign_email_sent` INT,
- `delivered` INT,
- `email_open_rate` DECIMAL(24, 6),
- `click_rate` DECIMAL(24, 6),
- `annual_passholders_total` INT,
- `renewed` INT,
- `expired` INT,
- `date` DATETIME,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_campaign_date` (`date`),
- INDEX `idx_sync_info` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_journey_touch_point
- CREATE TABLE `kpi_journey_touch_point`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `park_code` VARCHAR(32) NOT NULL COMMENT '1.YI 2.SWAD 3.FWAD 4.YWW 5.WBW 6.QAW 7.CLYMB 8.TeamLab',
- `experience_project` VARCHAR(100),
- `value` DECIMAL(24, 6),
- `date` DATETIME,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_journey_touch_point_date_parkcode_exp` (`date`,`park_code`,`experience_project`),
- INDEX `idx_sync_info` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_park_guest_experience
- CREATE TABLE `kpi_park_guest_experience`
- (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `park_code` varchar(20) DEFAULT NULL,
- `gss` decimal(24, 6) DEFAULT NULL,
- `nps` decimal(24, 6) DEFAULT NULL,
- `new_vog_measurements` decimal(24, 6) DEFAULT NULL,
- `happiness_meters` decimal(24, 6) DEFAULT NULL,
- `queue_time` decimal(24, 6) DEFAULT NULL,
- `park_ticket_type` varchar(255) DEFAULT NULL,
- `date` datetime DEFAULT NULL,
- `visitor_origin` varchar(30) DEFAULT NULL,
- `sentiment` varchar(20) DEFAULT NULL,
- `revenue` decimal(24, 6) DEFAULT NULL,
- `synch_time` datetime NOT NULL,
- `sync_trace_id` varchar(100) NOT NULL,
- `project` varchar(100) NOT NULL COMMENT 'project',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_park_guest_experience_date_parkcode_project` (`date`,`park_code`,`project`),
- KEY `idx_date` (`date`),
- KEY `idx_visitor_origin` (`visitor_origin`),
- KEY `idx_sentiment` (`sentiment`),
- KEY `idx_sync` (`synch_time`,`sync_trace_id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_hotel
- CREATE TABLE `kpi_hotel`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `hotel_code` VARCHAR(255),
- `gss` DECIMAL(24, 6),
- `gss_yesterday` DECIMAL(24, 6),
- `nps` DECIMAL(24, 6),
- `nps_yesterday` DECIMAL(24, 6),
- `check_in` INT,
- `booking` INT,
- `datetime` DATETIME,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_hotel_datetime` (`hotel_code`, `datetime`),
- INDEX `idx_datetime` (`datetime`),
- INDEX `idx_sync` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi park
- CREATE TABLE `kpi_park`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `park_code` VARCHAR(255),
- `gss` DECIMAL(24, 6),
- `gss_yesterday` DECIMAL(24, 6),
- `nps` DECIMAL(24, 6),
- `nps_yesterday` DECIMAL(24, 6),
- `visitor_in_park` INT,
- `total_attendance` INT,
- `datetime` DATETIME,
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_kpi_park_datetime` (`park_code`, `datetime`),
- INDEX `idx_datetime` (`datetime`),
- INDEX `idx_sync` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- -- kpi_visitor_country_breakdown
- CREATE TABLE `kpi_visitor_country_breakdown`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `park_code` VARCHAR(20) NOT NULL COMMENT '园区代码',
- `country` VARCHAR(50) NOT NULL COMMENT '国家名称',
- `visitor_count` INT UNSIGNED NOT NULL COMMENT '游客数量',
- `percentage` DECIMAL(5, 2) NOT NULL COMMENT '占比百分比(%)',
- `data_date` DATE NOT NULL COMMENT '数据日期(YYYY-MM-DD)',
- `synch_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据同步时间',
- `women` INT UNSIGNED NOT NULL COMMENT '女生',
- `man` INT UNSIGNED NOT NULL COMMENT '男生',
- `sync_trace_id` VARCHAR(100) NOT NULL COMMENT '同步追踪ID',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_country_date` (`park_code`,`country`, `data_date`) COMMENT '同一个园区同一国家同一天数据唯一',
- KEY `idx_data_date` (`data_date`) COMMENT '按日期查询索引'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='游客按居住国家分布统计';
- -- kpi_transport
- CREATE TABLE IF NOT EXISTS kpi_transport
- (
- id
- BIGINT
- NOT
- NULL
- AUTO_INCREMENT
- COMMENT
- '主键ID',
- on_time_rate
- DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '准点率(%)',
- on_schedule_rate DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '准点率(冗余字段,与on_time_rate一致)',
- line_count INT NOT NULL COMMENT '线路数量(条)',
- passenger_count INT NOT NULL COMMENT '乘客数量(万人)',
- bus_count INT NOT NULL COMMENT '公交车数量(辆)',
- on_time_rate_change DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '准点率环比变化(%)',
- data_date DATE NOT NULL COMMENT '统计日期',
- synch_time DATETIME NOT NULL COMMENT '数据同步时间',
- sync_trace_id VARCHAR
- (
- 100
- ) NOT NULL COMMENT '同步追踪唯一ID',
- PRIMARY KEY
- (
- id
- ),
- UNIQUE KEY `uk_transport_date`
- (
- `data_date`
- )
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '运输行业KPI指标表(含同步信息)';
- -- 同步日志表
- CREATE TABLE sys_data_sync_log
- (
- log_id BIGINT PRIMARY KEY AUTO_INCREMENT,
- job_id BIGINT NOT NULL COMMENT 'XXL-Job任务ID',
- trace_id VARCHAR(100) NOT NULL COMMENT '全链路追踪ID',
- source_system VARCHAR(100) NOT NULL COMMENT '原系统',
- source_table VARCHAR(255) NOT NULL COMMENT '原表',
- target_table VARCHAR(100) NOT NULL COMMENT '目标表',
- data_count INT NOT NULL COMMENT '同步数据量',
- status CHAR(1) NOT NULL COMMENT '状态(0成功 1失败)',
- error_msg TEXT COMMENT '错误信息',
- start_time DATETIME NOT NULL COMMENT '开始时间',
- end_time DATETIME COMMENT '结束时间',
- duration BIGINT COMMENT '耗时(ms)',
- create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
- ) ENGINE=InnoDB COMMENT='数据同步日志表';
- CREATE TABLE `park_events`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `event_title` VARCHAR(255) NOT NULL COMMENT '活动标题',
- `event_description` TEXT COMMENT '活动描述',
- `start_date` DATE NOT NULL COMMENT '活动开始日期',
- `end_date` DATE NOT NULL COMMENT '活动结束日期',
- `venue` VARCHAR(100) NOT NULL COMMENT '活动地点',
- `event_image_url` VARCHAR(500) COMMENT '活动图片URL',
- `park_code` VARCHAR(50) NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `synch_time` DATETIME NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` VARCHAR(100) COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY (`id`),
- -- 联合唯一索引:确保同一园区、同一时间段内标题唯一
- UNIQUE KEY `uk_park_event_unique` (`park_code`, `event_title`, `start_date`, `end_date`),
- -- 普通索引(优化查询)
- KEY `idx_event_date` (`start_date`, `end_date`), -- 按日期范围查询
- KEY `sync_trace_id` (`synch_time`) -- 按同步时间查询
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区活动信息表';
- -- 园区票类型
- CREATE TABLE `park_ticket_type`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `park_code` VARCHAR(50) NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `statistics_date` DATE NOT NULL COMMENT '统计日期',
- `monthly_sales_total` INT NOT NULL COMMENT '月度售票总量(图片中:17392)',
- `ticket_type` VARCHAR(50) NOT NULL COMMENT '游客类型(动态类型,如AP/VIP/Elite/General admission)',
- `ticket_rate` DECIMAL(5, 2) NOT NULL COMMENT '该类型占比(%,如8.00,支持动态类型)',
- `synch_time` DATETIME NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` VARCHAR(100) COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_park_ticket_type` (`park_code`, `statistics_date`, `ticket_type`) COMMENT '同一园区同一月份同一类型数据唯一',
- KEY `idx_statistics_date` (`statistics_date`),
- KEY `idx_ticket_type` (`ticket_type`),
- KEY `idx_synch_time` (`synch_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区月度售票类型统计表';
- CREATE TABLE `park_age_group_statistics`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `park_code` VARCHAR(50) NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `statistics_date` DATE NOT NULL COMMENT '统计日期(如2025-08-31)',
- `age_group` VARCHAR(20) NOT NULL COMMENT '年龄段(如0-17、18-24、25-34、36-54)',
- `age_ratio` DECIMAL(5, 2) NOT NULL COMMENT '该年龄段占比(%,如8.00)',
- `synch_time` DATETIME NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` VARCHAR(100) COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_park_date_group` (`park_code`, `statistics_date`, `age_group`) COMMENT '同一园区同一日期同一年龄段数据唯一',
- KEY `idx_statistics_date` (`statistics_date`),
- KEY `idx_age_group` (`age_group`),
- KEY `idx_synch_time` (`synch_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区游客年龄段统计表';
- CREATE TABLE `new_vog_measurements`
- (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `park_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `measurement_time` datetime NOT NULL COMMENT '测量时间(精确到小时,如2025-08-25 08:00:00)',
- `vog_value` int NOT NULL COMMENT 'VOG测量值(图片中的柱状图数值,如158、247)',
- `synch_time` datetime NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_new_vog_measurements_time` (`park_code`,`measurement_time`) COMMENT '同一园区同一时间点数据唯一',
- KEY `idx_measurement_time` (`measurement_time`),
- KEY `idx_park_code` (`park_code`),
- KEY `idx_synch_time` (`synch_time`)
- ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='VOG测量数据表(每小时统计)';
- CREATE TABLE IF NOT EXISTS sentiment_analysis
- (
- `id`
- INT
- (
- 11
- ) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `park_code` varchar
- (
- 50
- ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `positive_count` INT
- (
- 11
- ) NOT NULL DEFAULT 0 COMMENT '正面情感数量',
- `negative_count` INT
- (
- 11
- ) NOT NULL DEFAULT 0 COMMENT '负面情感数量',
- `neutral_count` INT
- (
- 11
- ) NOT NULL DEFAULT 0 COMMENT '中性情感数量',
- `positive_rate` DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '正面情感百分比(%)',
- `negative_rate` DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '负面情感百分比(%)',
- `neutral_rate` DECIMAL
- (
- 5,
- 2
- ) NOT NULL COMMENT '中性情感百分比(%)',
- `positive_trend` DECIMAL
- (
- 5,
- 2
- ) NULL COMMENT '正面环比变化(%)',
- `negative_trend` DECIMAL
- (
- 5,
- 2
- ) NULL COMMENT '负面环比变化(%)',
- `neutral_trend` DECIMAL
- (
- 5,
- 2
- ) NULL COMMENT '中性环比变化(%)',
- `tags` VARCHAR
- (
- 512
- ) NULL COMMENT '热门标签(逗号分隔)',
- `analysis_date` DATE NOT NULL COMMENT '分析日期',
- `synch_time` DATETIME NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` VARCHAR
- (
- 100
- ) COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY
- (
- `id`
- ),
- UNIQUE KEY `uk_analysis_date`
- (
- `analysis_date`,
- `park_code`
- ) COMMENT '确保每天数据唯一'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户情感分析结果表';
- CREATE TABLE IF NOT EXISTS map_center
- (
- `id`
- INT
- (
- 11
- ) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `park_code` varchar
- (
- 50
- ) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '园区编码(如FERRARI_WORLD)',
- `analysis_date` DATE NOT NULL COMMENT '分析日期',
- `business_start_time` varchar
- (
- 50
- ) NULL COMMENT '营业时间-开始时间(如:10:00)',
- `business_end_time` varchar
- (
- 50
- ) NULL COMMENT '营业时间-结束时间(如:20:00)',
- `facility_name` VARCHAR
- (
- 100
- ) not NULL COMMENT '设施名称(如:Formula rossa)',
- `facility_status` ENUM
- (
- 'OPEN',
- 'CLOSED',
- 'MAINTENANCE',
- 'SCHEDULED'
- ) NOT NULL COMMENT '设施状态:开放/关闭/维护/计划中',
- `display_order` INT
- (
- 11
- ) NOT NULL DEFAULT 0 COMMENT '展示顺序(用于前端排序)',
- `synch_time` DATETIME NOT NULL COMMENT '数据同步时间',
- `sync_trace_id` VARCHAR
- (
- 100
- ) COMMENT '同步追踪ID(用于数据同步审计)',
- PRIMARY KEY
- (
- `id`
- ),
- UNIQUE KEY `uk_map_center_date_parkCode`
- (
- `analysis_date`,
- `park_code`,
- `facility_name`
- ) COMMENT '确保设施名称唯一',
- KEY `idx_sync_trace_id`
- (
- `sync_trace_id`
- ) COMMENT '追踪id'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='园区中心展示信息表(营业时间、设施状态)';
- CREATE TABLE `sync_rule`
- (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `module_name` varchar(100) NOT NULL COMMENT '功能模块名称',
- `field_name` varchar(100) NOT NULL COMMENT '指标字段名',
- `rule_type` tinyint NOT NULL COMMENT '规则类型(1:空值默认值 2:阈值告警)',
- `default_value` varchar(255) DEFAULT NULL COMMENT '默认值',
- `threshold_min` decimal(24, 6) DEFAULT NULL COMMENT '阈值下限',
- `threshold_max` decimal(24, 6) DEFAULT NULL COMMENT '阈值上限',
- `alert_email` varchar(500) DEFAULT NULL COMMENT '告警邮箱(多个用逗号分隔)',
- `status` tinyint DEFAULT '1' COMMENT '状态(1启用 0停用)',
- `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- `remark` varchar(500) DEFAULT NULL COMMENT '备注',
- PRIMARY KEY (`id`),
- UNIQUE KEY `idx_module_field` (`module_name`,`field_name`,`rule_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据同步规则表';
- CREATE TABLE `alert_record`
- (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `module_name` varchar(100) NOT NULL COMMENT '模块名称',
- `field_name` varchar(100) NOT NULL COMMENT '指标字段',
- `current_value` decimal(24, 6) NOT NULL COMMENT '当前值',
- `threshold_min` decimal(24, 6) DEFAULT NULL COMMENT '阈值下限',
- `threshold_max` decimal(24, 6) DEFAULT NULL COMMENT '阈值上限',
- `alert_time` datetime NOT NULL COMMENT '报警时间',
- `alert_status` tinyint DEFAULT '0' COMMENT '处理状态(0未处理 1已发送 2已忽略)',
- `process_time` datetime DEFAULT NULL COMMENT '处理时间',
- `process_by` varchar(64) DEFAULT NULL COMMENT '处理人',
- `alert_content` text COMMENT '报警内容',
- `alert_emails` varchar(500) DEFAULT NULL COMMENT '通知邮箱',
- PRIMARY KEY (`id`),
- UNIQUE KEY `idx_module_field` (`module_name`,`field_name`,`alert_time`),
- KEY `idx_status_time` (`alert_status`,`alert_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='报警记录表';
- CREATE TABLE `kpi_revenue`
- (
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `date` DATETIME NOT NULL,
- `revenue_generated` DECIMAL(24, 6) COMMENT 'AED',
- `onsite_concierge_revenue` DECIMAL(24, 6) COMMENT 'AED',
- `synch_time` DATETIME NOT NULL,
- `sync_trace_id` VARCHAR(100) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_kpi_park_date` (`date`),
- INDEX `idx_kpi_date` (`date`),
- INDEX `idx_kpi_sync` (`synch_time`, `sync_trace_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
- CREATE TABLE `kpi_daily_park_revenue`
- (
- `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `report_date` date NOT NULL COMMENT '报告日期',
- `park_code` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '园区编码',
- `ticket_revenue` decimal(15, 2) COMMENT '门票总收入',
- `retail_revenue` decimal(15, 2) COMMENT '园区内交易总收入',
- `synch_time` datetime NOT NULL COMMENT '同步时间',
- `sync_trace_id` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '同步追踪id',
- PRIMARY KEY (`id`),
- UNIQUE KEY `idx_report_date_park` (`report_date`,`park_code`) COMMENT '日期和园区唯一索引'
- ) ENGINE=InnoDB AUTO_INCREMENT=382 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区内交易总收入';
|