-- ============================================================
-- 画像配置 / 敏感词配置 — 公司级配置表
-- 替代 LobsterAdminController 中的内存 Map 占位实现
-- ============================================================

-- 画像字段映射配置（节点 12 用户/画像 节点用）
CREATE TABLE IF NOT EXISTS company_lobster_profile_config (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    company_id BIGINT NOT NULL,
    field_key VARCHAR(64) NOT NULL COMMENT '客户画像字段（如 age, gender, occupation）',
    field_label VARCHAR(64) COMMENT '字段中文名',
    field_type VARCHAR(32) DEFAULT NULL COMMENT '字段类型 text/number/date',
    extract_rule TEXT COMMENT '提取规则（关键词/正则/AI prompt 模板）',
    extract_mode VARCHAR(32) DEFAULT 'ai' COMMENT 'keyword/regex/ai',
    enabled TINYINT DEFAULT 1,
    sort_order INT DEFAULT 0,
    create_by VARCHAR(64),
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
    update_by VARCHAR(64),
    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    KEY idx_company (company_id),
    KEY idx_company_field (company_id, field_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数字员工画像配置';

-- 敏感词列表
CREATE TABLE IF NOT EXISTS company_lobster_sensitive_word (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    company_id BIGINT NOT NULL,
    word VARCHAR(128) NOT NULL,
    category VARCHAR(32) COMMENT '分类：politic/violence/porn/finance/custom',
    action VARCHAR(32) DEFAULT 'block' COMMENT 'block/replace/warn',
    replace_text VARCHAR(128) COMMENT '替换文本（action=replace 时用）',
    enabled TINYINT DEFAULT 1,
    create_by VARCHAR(64),
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
    update_by VARCHAR(64),
    update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    KEY idx_company (company_id),
    KEY idx_company_word (company_id, word)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数字员工敏感词';
