package com.usky.sas.common.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class DeviceVideoInfo {
    @ApiModelProperty("登录句柄")
    private Integer userId;
    @ApiModelProperty("同步源标识符")
    private String ssrc;
    @ApiModelProperty("视频流句柄")
    private Integer handle;
    @ApiModelProperty("播放地址")
    private String url;
    @ApiModelProperty("视频码率")
    private Integer bitrate;
    @ApiModelProperty("视频流类型 1实时预览 2回放")
    private Integer streamType;

    public DeviceVideoInfo() {
    }

    public Integer getUserId() {
        return this.userId;
    }

    public String getSsrc() {
        return this.ssrc;
    }

    public Integer getHandle() {
        return this.handle;
    }

    public String getUrl() {
        return this.url;
    }

    public Integer getBitrate() {
        return this.bitrate;
    }

    public Integer getStreamType() {
        return this.streamType;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public void setSsrc(String ssrc) {
        this.ssrc = ssrc;
    }

    public void setHandle(Integer handle) {
        this.handle = handle;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public void setBitrate(Integer bitrate) {
        this.bitrate = bitrate;
    }

    public void setStreamType(Integer streamType) {
        this.streamType = streamType;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof DeviceVideoInfo)) {
            return false;
        } else {
            DeviceVideoInfo other = (DeviceVideoInfo)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$userId = this.getUserId();
                Object other$userId = other.getUserId();
                if (this$userId == null) {
                    if (other$userId != null) {
                        return false;
                    }
                } else if (!this$userId.equals(other$userId)) {
                    return false;
                }

                Object this$ssrc = this.getSsrc();
                Object other$ssrc = other.getSsrc();
                if (this$ssrc == null) {
                    if (other$ssrc != null) {
                        return false;
                    }
                } else if (!this$ssrc.equals(other$ssrc)) {
                    return false;
                }

                Object this$handle = this.getHandle();
                Object other$handle = other.getHandle();
                if (this$handle == null) {
                    if (other$handle != null) {
                        return false;
                    }
                } else if (!this$handle.equals(other$handle)) {
                    return false;
                }

                label62: {
                    Object this$url = this.getUrl();
                    Object other$url = other.getUrl();
                    if (this$url == null) {
                        if (other$url == null) {
                            break label62;
                        }
                    } else if (this$url.equals(other$url)) {
                        break label62;
                    }

                    return false;
                }

                label55: {
                    Object this$bitrate = this.getBitrate();
                    Object other$bitrate = other.getBitrate();
                    if (this$bitrate == null) {
                        if (other$bitrate == null) {
                            break label55;
                        }
                    } else if (this$bitrate.equals(other$bitrate)) {
                        break label55;
                    }

                    return false;
                }

                Object this$streamType = this.getStreamType();
                Object other$streamType = other.getStreamType();
                if (this$streamType == null) {
                    if (other$streamType != null) {
                        return false;
                    }
                } else if (!this$streamType.equals(other$streamType)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof DeviceVideoInfo;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        Object $userId = this.getUserId();
        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
        Object $ssrc = this.getSsrc();
        result = result * PRIME + ($ssrc == null ? 43 : $ssrc.hashCode());
        Object $handle = this.getHandle();
        result = result * PRIME + ($handle == null ? 43 : $handle.hashCode());
        Object $url = this.getUrl();
        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
        Object $bitrate = this.getBitrate();
        result = result * PRIME + ($bitrate == null ? 43 : $bitrate.hashCode());
        Object $streamType = this.getStreamType();
        result = result * PRIME + ($streamType == null ? 43 : $streamType.hashCode());
        return result;
    }

    public String toString() {
        return "DeviceVideoInfo(userId=" + this.getUserId() + ", ssrc=" + this.getSsrc() + ", handle=" + this.getHandle() + ", url=" + this.getUrl() + ", bitrate=" + this.getBitrate() + ", streamType=" + this.getStreamType() + ")";
    }
}

