package com.rj.common;

import com.rj.controller.AudioManagementController;

/**
 * 音频文本分析场景类型
 * 不同场景对应不同的系统/用户提示词以及大模型配置。
 */
public enum AudioAnalysisSceneType {

    /**
     * 家具销售/家居意向场景
     */
    SCENARIO_FURNITURE_SALE(
            "prompts/audio_text_analysis_furniture_system.txt",
            "prompts/audio_text_analysis_furniture_user.txt",
            "qwen-plus",
            AudioManagementController.SCENARIO_FURNITURE_SALE
    ),
    SCENARIO_SOFT_SALE(
            "prompts/audio_text_analysis_soft_sale_system_prompts.txt",
            "prompts/audio_text_analysis_soft_sale_user_prompts.txt",
            "qwen-plus",
            AudioManagementController.SCENARIO_SOFT_SALE
    ),
    SCENARIO_SMALL_BEEUTIFUL_SALE(
            "prompts/audio_text_analysis_soft_sale_system_prompts.txt",
            "prompts/audio_text_analysis_soft_sale_user_prompts.txt",
            "qwen-plus",
            AudioManagementController.SCENARIO_SMALL_BEEUTIFUL_SALE
    ),
    /**
     * 会议纪要/会议分析场景
     * 提示词文件和模型可根据实际需要进行调整。
     */
    SCENARIO_SUMMARY(
            "prompts/audio_text_analysis_summary_system_prompts.txt",
            "prompts/audio_text_analysis_summary_user_prompts.txt",
            "qwen-plus",
            AudioManagementController.SCENARIO_SUMMARY
    ),

    /**
     * 房产销售/置业顾问场景
     */
    SCENARIO_CAR_SALE(
            "prompts/audio_text_analysis_real_estate_system.txt",
            "prompts/audio_text_analysis_real_estate_user.txt",
            "qwen-plus",
            AudioManagementController.SCENARIO_CAR_SALE
    );

    private final String systemPromptPath;
    private final String userPromptPath;
    private final String modelName;
    private final String sceneName;

    AudioAnalysisSceneType(String systemPromptPath, String userPromptPath, String modelName,String sceneName) {
        this.systemPromptPath = systemPromptPath;
        this.userPromptPath = userPromptPath;
        this.modelName = modelName;
        this.sceneName = sceneName;
    }

    public String getSystemPromptPath() {
        return systemPromptPath;
    }

    public String getUserPromptPath() {
        return userPromptPath;
    }

    public String getModelName() {
        return modelName;
    }

    public String getSceneName() {
        return sceneName;
    }
}


