-- 概念分钟级异动数据表
-- 用于存储概念板块的实时异动信息，支持热点概览图表展示

CREATE TABLE IF NOT EXISTS concept_minute_alert (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    concept_id VARCHAR(32) NOT NULL COMMENT '概念ID',
    concept_name VARCHAR(100) NOT NULL COMMENT '概念名称',
    alert_time DATETIME NOT NULL COMMENT '异动时间（精确到分钟）',
    alert_type VARCHAR(20) NOT NULL COMMENT '异动类型：surge(急涨)/limit_up(涨停增加)/rank_jump(排名跃升)',
    trade_date DATE NOT NULL COMMENT '交易日期',

    -- 涨跌幅相关
    change_pct DECIMAL(10,4) COMMENT '当时涨跌幅(%)',
    prev_change_pct DECIMAL(10,4) COMMENT '之前涨跌幅(%)',
    change_delta DECIMAL(10,4) COMMENT '涨幅变化量(%)',

    -- 涨停相关
    limit_up_count INT DEFAULT 0 COMMENT '当前涨停数量',
    prev_limit_up_count INT DEFAULT 0 COMMENT '之前涨停数量',
    limit_up_delta INT DEFAULT 0 COMMENT '涨停变化数量',

    -- 排名相关
    rank_position INT COMMENT '当前涨幅排名',
    prev_rank_position INT COMMENT '之前涨幅排名',
    rank_delta INT COMMENT '排名变化（负数表示上升）',

    -- 指数位置（用于图表Y轴定位）
    index_code VARCHAR(20) DEFAULT '000001.SH' COMMENT '参考指数代码',
    index_price DECIMAL(12,4) COMMENT '异动时的指数点位',
    index_change_pct DECIMAL(10,4) COMMENT '异动时的指数涨跌幅(%)',

    -- 概念详情
    stock_count INT COMMENT '概念包含股票数',
    concept_type VARCHAR(20) DEFAULT 'leaf' COMMENT '概念类型：leaf/lv1/lv2/lv3',

    -- 额外信息（JSON格式，存储涨停股票列表等）
    extra_info JSON COMMENT '额外信息',

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    -- 索引
    INDEX idx_trade_date (trade_date),
    INDEX idx_alert_time (alert_time),
    INDEX idx_concept_id (concept_id),
    INDEX idx_alert_type (alert_type),
    INDEX idx_trade_date_time (trade_date, alert_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='概念分钟级异动数据表';


-- 创建指数分时快照表（用于异动时获取指数位置）
CREATE TABLE IF NOT EXISTS index_minute_snapshot (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    index_code VARCHAR(20) NOT NULL COMMENT '指数代码',
    trade_date DATE NOT NULL COMMENT '交易日期',
    snapshot_time DATETIME NOT NULL COMMENT '快照时间',

    price DECIMAL(12,4) COMMENT '指数点位',
    open_price DECIMAL(12,4) COMMENT '开盘价',
    high_price DECIMAL(12,4) COMMENT '最高价',
    low_price DECIMAL(12,4) COMMENT '最低价',
    prev_close DECIMAL(12,4) COMMENT '昨收价',
    change_pct DECIMAL(10,4) COMMENT '涨跌幅(%)',

    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    UNIQUE KEY uk_index_time (index_code, snapshot_time),
    INDEX idx_trade_date (trade_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指数分时快照表';
