use serde_json::Value;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ResolvedOrg {
    pub label: String,
    pub code: String,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub enum PeriodMode {
    Month,
    Week,
}

#[derive(Debug, Clone, PartialEq)]
pub struct ResolvedPeriod {
    pub mode: PeriodMode,
    pub mode_code: String,
    pub value: String,
    pub payload: Value,
}

pub fn missing_company_prompt() -> String {
    "已命中台区线损报表技能，但缺少供电单位，请补充如“兰州公司”或“城关供电分公司”。"
        .to_string()
}

pub fn ambiguous_company_prompt() -> String {
    "已命中台区线损报表技能，但供电单位存在歧义，请补充更完整名称。".to_string()
}

pub fn missing_period_mode_prompt() -> String {
    "已命中台区线损报表技能，但未识别到月/周类型，请补充“月累计”或“周累计”。"
        .to_string()
}

pub fn missing_period_prompt() -> String {
    "已命中台区线损报表技能，但缺少统计周期，请补充如“2026-03”或“2026年第12周”。"
        .to_string()
}

pub fn contradictory_period_mode_prompt() -> String {
    "已命中台区线损报表技能，但月/周类型存在冲突，请只保留“月累计”或“周累计”之一。"
        .to_string()
}

pub fn missing_week_year_prompt() -> String {
    "已命中台区线损报表技能，但周累计缺少年份，请补充如“2026年第12周”。"
        .to_string()
}
