-- AI 任务执行日志表
-- 版本: 1.0
-- 创建日期: 2026-01-28

-- 任务执行日志表
CREATE TABLE IF NOT EXISTS ai_task_execution_log (
    id                   BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
    task_no              VARCHAR(32) NOT NULL COMMENT '任务编号',
    group_id             BIGINT NOT NULL COMMENT '集团ID',
    brand_grouping_id    BIGINT COMMENT '品牌组合ID',
    brand_grouping_name  VARCHAR(128) COMMENT '品牌组合名称',
    dealer_grouping_id   BIGINT NOT NULL COMMENT '商家组合ID',
    dealer_grouping_name VARCHAR(128) COMMENT '商家组合名称',
    step_name            VARCHAR(64) NOT NULL COMMENT '步骤名称',
    step_order           INT DEFAULT 0 COMMENT '步骤顺序',
    status               TINYINT DEFAULT 0 COMMENT '状态: 0-进行中 1-成功 2-失败 3-跳过',
    input_data           TEXT COMMENT '输入数据(JSON)',
    output_data          TEXT COMMENT '输出数据(JSON)',
    error_message        TEXT COMMENT '错误信息',
    retry_count          INT DEFAULT 0 COMMENT '重试次数',
    sql_query            TEXT COMMENT 'SQL查询语句(如有)',
    llm_prompt           TEXT COMMENT 'LLM提示词(如有)',
    llm_response         TEXT COMMENT 'LLM响应(如有)',
    llm_tokens           INT DEFAULT 0 COMMENT 'LLM Token消耗',
    execution_time_ms    INT DEFAULT 0 COMMENT '执行耗时(毫秒)',
    start_time           DATETIME COMMENT '开始时间',
    end_time             DATETIME COMMENT '结束时间',
    create_time          DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    INDEX idx_task_no (task_no),
    INDEX idx_group_date (group_id, create_time),
    INDEX idx_dealer_grouping (dealer_grouping_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI任务执行日志表-记录每个步骤的执行详情';

-- LLM补货建议明细表(商家组合维度)
CREATE TABLE IF NOT EXISTS ai_llm_suggestion_detail (
    id                    BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
    task_no               VARCHAR(32) NOT NULL COMMENT '任务编号',
    group_id              BIGINT NOT NULL COMMENT '集团ID',
    dealer_grouping_id    BIGINT NOT NULL COMMENT '商家组合ID',
    dealer_grouping_name  VARCHAR(128) COMMENT '商家组合名称',
    shop_id               BIGINT NOT NULL COMMENT '库房ID',
    shop_name             VARCHAR(128) COMMENT '库房名称',
    part_code             VARCHAR(64) NOT NULL COMMENT '配件编码',
    part_name             VARCHAR(256) COMMENT '配件名称',
    unit                  VARCHAR(32) COMMENT '单位',
    cost_price            DECIMAL(14,2) DEFAULT 0 COMMENT '成本价',
    current_storage_cnt   DECIMAL(14,2) DEFAULT 0 COMMENT '当前库存数量',
    avg_sales_cnt         DECIMAL(14,2) DEFAULT 0 COMMENT '平均销量(月)',
    current_ratio         DECIMAL(10,4) COMMENT '当前库销比',
    suggest_cnt           INT DEFAULT 0 COMMENT 'LLM建议采购数量',
    suggest_amount        DECIMAL(14,2) DEFAULT 0 COMMENT 'LLM建议采购金额',
    suggestion_reason     TEXT COMMENT 'LLM建议依据/理由',
    priority              INT DEFAULT 0 COMMENT '优先级(1-高 2-中 3-低)',
    llm_confidence        DECIMAL(5,2) COMMENT 'LLM置信度(0-1)',
    statistics_date       VARCHAR(16) COMMENT '统计日期',
    create_time           DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    INDEX idx_task_no (task_no),
    INDEX idx_dealer_grouping (dealer_grouping_id),
    INDEX idx_shop_part (shop_id, part_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LLM补货建议明细表-存储LLM生成的商家组合维度配件补货建议及依据';
