package com.ruoyi.base.domain;

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;

/**
 * 播报内容对象 robot_ops_broadcast_content
 *
 * @author ruoyi
 * @date 2026-04-27
 */
public class RobotOpsBroadcastContent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 播报内容名称 */
    @Excel(name = "播报内容名称")
    private String contentName;

    /** 内容分类（1=通知、2=宣传、3=提示、4=安防提醒、0=自定义） */
    @Excel(name = "内容分类")
    private Long contentType;

    /** 播报文本 */
    @Excel(name = "播报文本")
    private String broadcastText;

    /** 启用状态：0停用，1启用 */
    @Excel(name = "启用状态", readConverterExp = "0=停用,1=启用")
    private String status;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 合成音频URL */
    @Excel(name = "音频路径")
    private String audioPath;

    /** 合成状态：0未合成，1成功，2失败，3合成中 */
    @Excel(name = "合成状态", readConverterExp = "0=未合成,1=成功,2=失败,3=合成中")
    private String audioStatus;

    /** 阿里云百炼TTS任务ID */
    private String audioTaskId;

    /** 音频时长(秒) */
    @Excel(name = "音频时长(秒)")
    private Integer audioDuration;

    /** 合成失败错误信息 */
    @Excel(name = "错误信息")
    private String audioErrorMsg;

    /** 创建时间 */
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;

    /** 更新时间 */
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;

    /** 创建者 */
    @Excel(name = "创建者")
    private String createBy;

    /** 更新者 */
    @Excel(name = "更新者")
    private String updateBy;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setContentName(String contentName)
    {
        this.contentName = contentName;
    }

    public String getContentName()
    {
        return contentName;
    }

    public void setContentType(Long contentType)
    {
        this.contentType = contentType;
    }

    public Long getContentType()
    {
        return contentType;
    }

    public void setBroadcastText(String broadcastText)
    {
        this.broadcastText = broadcastText;
    }

    public String getBroadcastText()
    {
        return broadcastText;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public String getRemark()
    {
        return remark;
    }

    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getAudioPath()
    {
        return audioPath;
    }

    public void setAudioPath(String audioPath)
    {
        this.audioPath = audioPath;
    }

    public String getAudioStatus()
    {
        return audioStatus;
    }

    public void setAudioStatus(String audioStatus)
    {
        this.audioStatus = audioStatus;
    }

    public String getAudioTaskId()
    {
        return audioTaskId;
    }

    public void setAudioTaskId(String audioTaskId)
    {
        this.audioTaskId = audioTaskId;
    }

    public Integer getAudioDuration()
    {
        return audioDuration;
    }

    public void setAudioDuration(Integer audioDuration)
    {
        this.audioDuration = audioDuration;
    }

    public String getAudioErrorMsg()
    {
        return audioErrorMsg;
    }

    public void setAudioErrorMsg(String audioErrorMsg)
    {
        this.audioErrorMsg = audioErrorMsg;
    }

    public void setCreateTime(java.util.Date createTime)
    {
        this.createTime = createTime;
    }

    public java.util.Date getCreateTime()
    {
        return createTime;
    }

    public void setUpdateTime(java.util.Date updateTime)
    {
        this.updateTime = updateTime;
    }

    public java.util.Date getUpdateTime()
    {
        return updateTime;
    }

    public void setCreateBy(String createBy)
    {
        this.createBy = createBy;
    }

    public String getCreateBy()
    {
        return createBy;
    }

    public void setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
    }

    public String getUpdateBy()
    {
        return updateBy;
    }

    @Override
    public String toString()
    {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("contentName", getContentName())
                .append("contentType", getContentType())
                .append("broadcastText", getBroadcastText())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("audioPath", getAudioPath())
                .append("audioStatus", getAudioStatus())
                .append("audioTaskId", getAudioTaskId())
                .append("audioDuration", getAudioDuration())
                .append("audioErrorMsg", getAudioErrorMsg())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
