CREATE TABLE IF NOT EXISTS mci_send_record (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    task_id VARCHAR(64) NOT NULL COMMENT '发送任务 ID，一次 API 调用一个 task_id',
    tenant_code VARCHAR(64) NOT NULL COMMENT '所属租户/业务系统',
    target_type VARCHAR(32) NOT NULL COMMENT '目标类型：person / person_list / conversation / tag / rule',
    target_value JSON COMMENT '目标值：具体 ID 列表',
    audience_rule JSON COMMENT '受众规则：标签/属性组合条件',
    conversation_id BIGINT COMMENT '实际发送到的会话 ID',
    person_id BIGINT COMMENT '实际发送到的联系人 ID',
    account_id BIGINT COMMENT '实际使用的发送账号 ID',
    channel_type VARCHAR(32) COMMENT '实际使用的渠道',
    channel_strategy JSON COMMENT '渠道策略',
    content_type VARCHAR(32) NOT NULL COMMENT '内容类型：text / markdown / image / file 等',
    content_body TEXT NOT NULL COMMENT '实际发送内容',
    callback_url VARCHAR(512) COMMENT '发送结果回调地址（任务级）',
    send_status TINYINT NOT NULL DEFAULT 0 COMMENT '发送状态：0待发送 1发送中 2成功 3失败',
    channel_result JSON COMMENT '渠道返回结果',
    send_time DATETIME COMMENT '实际发送时间',
    finish_time DATETIME COMMENT '最终完成时间',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    deleted TINYINT NOT NULL DEFAULT 0,
    UNIQUE KEY uk_task_target (task_id, conversation_id, person_id),
    KEY idx_tenant_task (tenant_code, task_id),
    KEY idx_tenant_time (tenant_code, create_time),
    KEY idx_conversation_time (conversation_id, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发送记录表';
