package com.djhk.uav.uav.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.djhk.common.annotation.Excel;
import com.djhk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 直播信息维护   Service接口
 * @description
 * @author mayongkai
 * @date 2023/3/13 11:16:58
 * @version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class UavLiveInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    //推送码率（单位：B/s）
    @TableField(exist = false)
    private String inBitrate;

    //推送流量
    @TableField(exist = false)
    private String inBytes;

    @TableField(exist = false)
    private String outBytes;

    @TableField(exist = false)
    private String time;

    @TableField(exist = false)
    private Integer pageNum;

    @TableField(exist = false)
    private Integer pageSize;

    /** 直播状态 */
    @TableField(exist = false)
    private String liveStatus;

    /** 录像保存(天),不传默认3天（可在直播配置中统一配置） */
    @TableField(exist = false)
    private String recordReserve;

    /** 直播管理信息表 */
    private Long id;

    /** 自定义直播ID */
    private String liveId;

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

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

    private String uavName;

    /** 直播名称 */
    @Excel(name = "直播名称")
    private String liveName;

    /** 推流开关,默认开启 */
    @Excel(name = "推流开关,默认开启")
    private Boolean actived;

    /** 推流鉴权,默认开启 */
    @Excel(name = "推流鉴权,默认开启")
    private Boolean authed;

    /** 分享开关,默认关闭 */
    @Excel(name = "分享开关,默认关闭")
    private Boolean shared;

    /** 推流有效期开始, YYYY-MM-DD HH:mm:ss */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "推流有效期开始, YYYY-MM-DD HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date beginAt;

    /** 推流有效期结束, YYYY-MM-DD HH:mm:ss */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "推流有效期结束, YYYY-MM-DD HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endAt;

    @TableField(exist = false)
    private List<String> dateList;


    /** 存储路径 */
    @Excel(name = "存储路径")
    private String storePath;

    /** 延时直播 延时秒数 */
    @Excel(name = "延时直播 延时秒数")
    private String delay;

    /** 推流地址 */
    @Excel(name = "推流地址")
    private String url;

    /** 分享链接 */
    @Excel(name = "分享链接")
    private String sharedLink;

    /** 推送总流量(单位：B) */
    @Excel(name = "推送总流量(单位：B)")
    private String inFlow;

    /** 播放总流量(单位：B) */
    @Excel(name = "播放总流量(单位：B)")
    private String outFlow;

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

    /** 设备详情 */
    @TableField(exist = false)
    private Boolean deviceFlag;

    /** 设备详情 */
    @TableField(exist = false)
    private String flightPlanNo;

    @TableField(exist = false)
    private String liveType;

    @TableField(exist = false)
    private String appId;


}
