package com.cmvr.tts.domain.vo;

import com.cmvr.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 车载语料数据VO对象(包含关联信息)
 *
 * @author cmvr
 */
@Data
@ApiModel("车载语料数据视图对象")
public class CorpusInfoVo {
    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private String id;

    /**
     * 文本内容
     */
    @Excel(name = "文本内容")
    @ApiModelProperty("文本内容")
    private String text;

    /**
     * 拼音
     */
    @ApiModelProperty("拼音")
    private String pinyin;

    /**
     * 所属分类ID
     */
    @ApiModelProperty("所属分类ID")
    private String categoryId;

    /**
     * 分类名称
     */
    @Excel(name = "分类名称")
    @ApiModelProperty("分类名称")
    private String categoryName;

    /**
     * 语种
     */
    @ApiModelProperty("语种")
    private String language;

    /**
     * 语种名称
     */
    @Excel(name = "语种")
    @ApiModelProperty("语种名称")
    private String languageName;

    /**
     * 方言
     */
    @ApiModelProperty("方言")
    private String dialect;

    /**
     * 情绪
     */
    @ApiModelProperty("情绪")
    private String emotion;

    /**
     * 情绪名称
     */
    @Excel(name = "情绪")
    @ApiModelProperty("情绪名称")
    private String emotionName;

    /**
     * 音色
     */
    @ApiModelProperty("音色")
    private String voice;

    /**
     * 音色名称
     */
    @Excel(name = "音色")
    @ApiModelProperty("音色名称")
    private String voiceName;

    /**
     * 说话人
     */
    @ApiModelProperty("说话人")
    private String speaker;

    /**
     * 适用场景
     */
    @ApiModelProperty("适用场景")
    private String scene;

    /**
     * 音频文件路径
     */
    @ApiModelProperty("音频文件路径")
    private String audioFilePath;

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

    /**
     * 文件大小(字节)
     */
    @Excel(name = "文件大小")
    @ApiModelProperty("文件大小(字节)")
    private Long fileSize;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者")
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
}
