package com.djhk.uav.uav.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.djhk.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 喊话对象 live_shout_audio
 *
 * @author jaichengshuai
 * @date 2023-05-30
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UavShoutAudio
{
    private static final long serialVersionUID = 1L;

    /** 喊话表主键 */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 喊话名称 */
    @Excel(name = "喊话名称")
    private String shoutName;

    /** 存储桶 */
    @Excel(name = "存储桶")
    private String bucketName;

    /** 喊话编号 */
    @Excel(name = "喊话编号")
    private String shoutNo;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String objectKey;

    /** 时长 */
    @Excel(name = "时长")
    private Integer duration;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deleteTime;

    /** 删除人 */
    @Excel(name = "删除人")
    private String deleteBy;

    private String appId;

    private Long orgId;

    private String createById;

    private String shoutText;

    private Integer isEnable;

    /** 喊话类型 0文件  1文本 */
    private String shoutType;

    @TableField(exist = false)
    private byte[] fileBytes;

    @TableField(exist = false)
    private String presignedUrl;

    @TableField(exist = false)
    private String uavNum;

    /** 喊话 0喊一次  1重复 */
    private String shoutMode;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 创建者 */
    private String createBy;

    /** 更新者 */
    private String updateBy;

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

    /** 备注 */
    @TableField(exist = false)
    private String remark;


}
