package com.ruoyi.cc.domain;

import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.io.Serializable;

/**
 * IVR配置对象 cc_ivr
 * 
 * @author ruoyi
 * @date 2025-12-19
 */
@Data
@Accessors(chain = true)
public class CcIvr implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** rootId */
    private String rootId;

    /** DTMF digit key */
    @Excel(name = "DTMF digit key")
    private String digit;

    /** node name */
    @Excel(name = "node name")
    private String ivrNodeName;

    /** id of parent node. 返回上一级统一使用*号键 */
    @Excel(name = "id of parent node. 返回上一级统一使用*号键")
    private String parentNodeId;

    /** The path of the audio file, or the speech-to-text */
    @Excel(name = "The path of the audio file, or the speech-to-text")
    private String ttsText;

    /** acd、extension、hangup、gateway、play、function */
    @Excel(name = "acd、extension、hangup、gateway、play、function")
    private String action;

    /** Wait for the key press timeout */
    @Excel(name = "Wait for the key press timeout")
    private Long waitKeyTimeout;

    /** The maximum number of attempts to press a key */
    @Excel(name = "The maximum number of attempts to press a key")
    private Long maxPressKeyFailures;

    /** invalid text tips or wav path. */
    @Excel(name = "invalid text tips or wav path.")
    private String pressKeyInvalidTips;

    /**  */
    @Excel(name = "")
    private Long enabled;

    /** hangup、upaction */
    @Excel(name = "hangup、upaction")
    private String failedAction;

    /** 数字按键的可选范围 */
    @Excel(name = "数字按键的可选范围")
    private String digitRange;

    /** tts_provider */
    @Excel(name = "tts_provider")
    private String ttsProvider;

    /** name of tts speaker */
    @Excel(name = "name of tts speaker")
    private String voiceCode;

    /** aiTransferData */
    private String aiTransferData;

    /** aiInboundId */
    private String aiInboundId;

    /** aiTransferGroupId */
    private String aiTransferGroupId;

    /** aiTransferGatewayId */
    private String aiTransferGatewayId;

    /** aiTransferGatewayDestNumber */
    private String aiTransferGatewayDestNumber;

    /** aiTransferExtNumber */
    private String aiTransferExtNumber;

    /** maxLen */
    private Integer maxLen;

    /** minLen */
    private Integer minLen;

    /** userInputVarName */
    private String userInputVarName;

    /** hangupTips */
    private String hangupTips;

    /** Language of the tts */
    private String ttsLanguageCode;


    private String ttsTextfileUrl;

    private String invalidTipsfileUrl;

    private String hangupTipsfileUrl;


    private String ttsTextWav;

    private String pressKeyInvalidTipsWav;

    private String hangupTipsWav;

    /** Models of the voice */
    private String ttsModels;
}
