package com.fs.live.domain;




import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 直播对象 live
 *
 * @author fs
 * @date 2025-01-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class   Live extends BaseEntity {

    /** ID */

    private Long liveId;

    /**
     * 企业ID
     */
    private Long companyId;

    /**
     * 企业用户ID
     */
    private Long companyUserId;

    /**
     * 达人ID
     */
    private Long talentId;

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

    /** 直播描述 */
    @Excel(name = "直播描述")
    private String liveDesc;

    /** 显示类型 1横屏 2竖屏 */
    @Excel(name = "显示类型 1横屏 2竖屏")
    private Integer showType;

    /** 1待支付 2直播中 3已结束 */
    @Excel(name = "1未开播 2直播中 3已结束 4直播回放中")
    private Integer status;

    /** 直播ID */
    @Excel(name = "直播ID")
    private Long anchorId;

    /** 直播类型 1直播，2录播 */
    @Excel(name = "直播类型 1直播，2录播，3直播回放")
    private Integer liveType;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String startTimeS;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String endTimeE;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime;

    /** 直播封面 */
    @Excel(name = "直播封面")
    private String liveImgUrl;

    /** 直播配置 JOSN */
    @Excel(name = "直播配置 JOSN")
    private String liveConfig;

    /** 上下架 */
    @Excel(name = "上下架")
    private Integer isShow;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer isDel;

    /** 企业微信二维码 */
    @Excel(name = "企业微信二维码")
    private String qwQrCode;

    /** 直播地址 */
    @Excel(name = "直播地址")
    private String rtmpUrl;
    private String flvHlsUrl;
    private String idCardUrl;


    private String videoUrl;
    private Long videoId;
    private Integer videoType;

    private Long duration;


    private String liveCodeUrl;

    /** 直播配置 */
    private String configJson;

    /** 直播审核状态，销售端修改后需要总后台审核 0未审核 1已审核*/
    private Integer isAudit;
    /** 创建时间 */
    private Date createTime;
    private String companyName;
    private Long fileSize;
    private Integer globalVisible;
}
