-- 为 pla_account 表添加 JSON 配置字段（简化版）
-- 执行时间：2025-01-XX
-- 说明：将自动投递、自动沟通、自动回复、自动活跃的配置项统一到 JSON 配置字段中
-- 注意：如果字段已存在，执行会报错，可以忽略或手动删除已存在的字段

-- ============================================
-- 添加自动投递配置字段（deliver_config）
-- ============================================
ALTER TABLE `pla_account` 
ADD COLUMN `deliver_config` JSON COMMENT '自动投递配置（JSON对象，包含：deliver_interval-投递间隔分钟数, min_salary-最低薪资, max_salary-最高薪资, page_count-滚动获取职位列表次数, max_deliver-每次最多投递数量, filter_keywords-过滤关键词, exclude_keywords-排除关键词）' 
AFTER `auto_deliver`;

-- ============================================
-- 添加自动沟通策略配置字段（chat_strategy）
-- ============================================
ALTER TABLE `pla_account` 
ADD COLUMN `chat_strategy` JSON COMMENT '自动沟通策略配置（JSON对象，包含：chat_interval-沟通间隔分钟数, is_chat_outsourcing-是否沟通外包岗位, time_range-沟通时间段配置）' 
AFTER `auto_chat`;

-- ============================================
-- 添加自动回复配置字段（reply_config）
-- ============================================
ALTER TABLE `pla_account` 
ADD COLUMN `reply_config` JSON COMMENT '自动回复配置（JSON对象）' 
AFTER `auto_reply`;

-- ============================================
-- 添加自动活跃动作配置字段（active_actions）
-- ============================================
-- 如果字段已存在且为 TEXT 类型，则修改注释；如果不存在，则添加
ALTER TABLE `pla_account` 
ADD COLUMN `active_actions` TEXT COMMENT '自动活跃动作配置（JSON对象，包含：active_interval-活跃间隔分钟数, actions-活跃动作列表）' 
AFTER `auto_active`;

-- ============================================
-- 初始化默认配置值（可选）
-- ============================================
-- 为已有数据初始化默认配置（如果字段为空）
UPDATE `pla_account` 
SET `deliver_config` = JSON_OBJECT(
    'deliver_interval', 30,
    'min_salary', 0,
    'max_salary', 0,
    'page_count', 3,
    'max_deliver', 10,
    'filter_keywords', JSON_ARRAY(),
    'exclude_keywords', JSON_ARRAY()
)
WHERE `deliver_config` IS NULL;

UPDATE `pla_account` 
SET `chat_strategy` = JSON_OBJECT(
    'chat_interval', 30,
    'is_chat_outsourcing', 0,
    'time_range', JSON_OBJECT(
        'start_time', '09:00',
        'end_time', '18:00',
        'workdays_only', 1
    )
)
WHERE `chat_strategy` IS NULL;

UPDATE `pla_account` 
SET `reply_config` = JSON_OBJECT()
WHERE `reply_config` IS NULL;

UPDATE `pla_account` 
SET `active_actions` = '{"active_interval": 60, "actions": []}'
WHERE `active_actions` IS NULL OR `active_actions` = '';

-- ============================================
-- 注意事项
-- ============================================
-- 1. deliver_config、chat_strategy、reply_config 使用 JSON 类型（MySQL 5.7+）
-- 2. active_actions 使用 TEXT 类型（兼容已有数据库结构）
-- 3. 如果 MySQL 版本低于 5.7，请将其他 JSON 类型改为 TEXT 类型
-- 4. 执行前建议先备份数据库
-- 5. 如果字段已存在，ALTER TABLE 会报错，可以忽略或先删除已存在的字段

