package com.platform.modules.live.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;

/**
 * 流状态变更
 *
 * @author TONG
 * 2019-02-19 19:33:30
 */
@TableName("live_stream_status")
@AllArgsConstructor
@NoArgsConstructor
public class LiveStreamStatusEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    public LiveStreamStatusEntity(Integer time, String action, String app, String appName, String streamName, String node, String ip, String usrargs) {
        this.time = time;
        this.action = action;
        this.app = app;
        this.appName = appName;
        this.streamName = streamName;
        this.node = node;
        this.ip = ip;
        this.usrargs = usrargs;
    }

    /**
     * 数据ID
     */
    @TableId
    @NotBlank(message = "id不能为空")
    private Long id;
    /**
     * unix 时间戳
     */
    private Integer time;
    /**
     * publish 表示推流，publish_done 表示断流
     */
    private String action;
    /**
     * 默认为自定义的推流域名，如果未绑定推流域名即为播放域名
     */
    private String app;
    /**
     * 应用名称
     */
    private String appName;
    /**
     * 流名称
     */
    private String streamName;
    /**
     * CDN 接受流的节点或者机器名
     */
    private String node;
    /**
     * 推流的客户端 IP
     */
    private String ip;
    /**
     * 用户推流的参数
     */
    private String usrargs;

    public Long getId() {
        return id;
    }

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

    /**
     * 设置：unix 时间戳
     */
    public void setTime(Integer time) {
        this.time = time;
    }

    /**
     * 获取：unix 时间戳
     */
    public Integer getTime() {
        return time;
    }

    /**
     * 设置：publish 表示推流，publish_done 表示断流
     */
    public void setAction(String action) {
        this.action = action;
    }

    /**
     * 获取：publish 表示推流，publish_done 表示断流
     */
    public String getAction() {
        return action;
    }

    /**
     * 设置：默认为自定义的推流域名，如果未绑定推流域名即为播放域名
     */
    public void setApp(String app) {
        this.app = app;
    }

    /**
     * 获取：默认为自定义的推流域名，如果未绑定推流域名即为播放域名
     */
    public String getApp() {
        return app;
    }

    /**
     * 设置：应用名称
     */
    public void setAppName(String appName) {
        this.appName = appName;
    }

    /**
     * 获取：应用名称
     */
    public String getAppName() {
        return appName;
    }

    /**
     * 设置：流名称
     */
    public void setStreamName(String streamName) {
        this.streamName = streamName;
    }

    /**
     * 获取：流名称
     */
    public String getStreamName() {
        return streamName;
    }

    /**
     * 设置：CDN 接受流的节点或者机器名
     */
    public void setNode(String node) {
        this.node = node;
    }

    /**
     * 获取：CDN 接受流的节点或者机器名
     */
    public String getNode() {
        return node;
    }

    /**
     * 设置：推流的客户端 IP
     */
    public void setIp(String ip) {
        this.ip = ip;
    }

    /**
     * 获取：推流的客户端 IP
     */
    public String getIp() {
        return ip;
    }

    /**
     * 设置：用户推流的参数
     */
    public void setUsrargs(String usrargs) {
        this.usrargs = usrargs;
    }

    /**
     * 获取：用户推流的参数
     */
    public String getUsrargs() {
        return usrargs;
    }
}
