package com.usky.sas.service.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.usky.sas.domain.SasPic;
import io.swagger.annotations.ApiModelProperty;

@JsonIgnoreProperties(
        ignoreUnknown = true
)
public class SnapEventInfo {
    @ApiModelProperty("设备编号")
    private String deviceId;
    @ApiModelProperty("通道号")
    private Integer channel;
    @ApiModelProperty("事件编码")
    private Integer eventCode;
    @ApiModelProperty("触发时间")
    private String triggerTime;
    @ApiModelProperty("接收时间")
    private String receivingTime;
    @ApiModelProperty("备注")
    private String note;
    @ApiModelProperty("用户参数对象")
    private UserParams userParams;
    @ApiModelProperty("事件图片")
    private SasPic eventPic;
    @ApiModelProperty("场景图片")
    private SasPic scenePic;
    @ApiModelProperty("相似度")
    private Integer similarity;
    @ApiModelProperty("图片质量")
    private Integer quality;
    @ApiModelProperty("人员计数数量")
    private Integer count;
    @ApiModelProperty("证件类型编码")
    private Integer credentialType;
    @ApiModelProperty("证件号")
    private String credentialNo;
    @ApiModelProperty("人名")
    private String name;
    @ApiModelProperty("人员编码")
    private String personCode;

    public SnapEventInfo() {
    }

    public String getDeviceId() {
        return this.deviceId;
    }

    public Integer getChannel() {
        return this.channel;
    }

    public Integer getEventCode() {
        return this.eventCode;
    }

    public String getTriggerTime() {
        return this.triggerTime;
    }

    public String getReceivingTime() {
        return this.receivingTime;
    }

    public String getNote() {
        return this.note;
    }

    public UserParams getUserParams() {
        return this.userParams;
    }

    public SasPic getEventPic() {
        return this.eventPic;
    }

    public SasPic getScenePic() {
        return this.scenePic;
    }

    public Integer getSimilarity() {
        return this.similarity;
    }

    public Integer getQuality() {
        return this.quality;
    }

    public Integer getCount() {
        return this.count;
    }

    public Integer getCredentialType() {
        return this.credentialType;
    }

    public String getCredentialNo() {
        return this.credentialNo;
    }

    public String getName() {
        return this.name;
    }

    public String getPersonCode() {
        return this.personCode;
    }

    public SnapEventInfo setDeviceId(String deviceId) {
        this.deviceId = deviceId;
        return this;
    }

    public SnapEventInfo setChannel(Integer channel) {
        this.channel = channel;
        return this;
    }

    public SnapEventInfo setEventCode(Integer eventCode) {
        this.eventCode = eventCode;
        return this;
    }

    public SnapEventInfo setTriggerTime(String triggerTime) {
        this.triggerTime = triggerTime;
        return this;
    }

    public SnapEventInfo setReceivingTime(String receivingTime) {
        this.receivingTime = receivingTime;
        return this;
    }

    public SnapEventInfo setNote(String note) {
        this.note = note;
        return this;
    }

    public SnapEventInfo setUserParams(UserParams userParams) {
        this.userParams = userParams;
        return this;
    }

    public SnapEventInfo setEventPic(SasPic eventPic) {
        this.eventPic = eventPic;
        return this;
    }

    public SnapEventInfo setScenePic(SasPic scenePic) {
        this.scenePic = scenePic;
        return this;
    }

    public SnapEventInfo setSimilarity(Integer similarity) {
        this.similarity = similarity;
        return this;
    }

    public SnapEventInfo setQuality(Integer quality) {
        this.quality = quality;
        return this;
    }

    public SnapEventInfo setCount(Integer count) {
        this.count = count;
        return this;
    }

    public SnapEventInfo setCredentialType(Integer credentialType) {
        this.credentialType = credentialType;
        return this;
    }

    public SnapEventInfo setCredentialNo(String credentialNo) {
        this.credentialNo = credentialNo;
        return this;
    }

    public SnapEventInfo setName(String name) {
        this.name = name;
        return this;
    }

    public SnapEventInfo setPersonCode(String personCode) {
        this.personCode = personCode;
        return this;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                return true;
            }
        }
    }

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

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Object $deviceId = this.getDeviceId();
        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
        Object $channel = this.getChannel();
        result = result * 59 + ($channel == null ? 43 : $channel.hashCode());
        Object $eventCode = this.getEventCode();
        result = result * 59 + ($eventCode == null ? 43 : $eventCode.hashCode());
        Object $triggerTime = this.getTriggerTime();
        result = result * 59 + ($triggerTime == null ? 43 : $triggerTime.hashCode());
        Object $receivingTime = this.getReceivingTime();
        result = result * 59 + ($receivingTime == null ? 43 : $receivingTime.hashCode());
        Object $note = this.getNote();
        result = result * 59 + ($note == null ? 43 : $note.hashCode());
        Object $userParams = this.getUserParams();
        result = result * 59 + ($userParams == null ? 43 : $userParams.hashCode());
        Object $eventPic = this.getEventPic();
        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
        Object $scenePic = this.getScenePic();
        result = result * 59 + ($scenePic == null ? 43 : $scenePic.hashCode());
        Object $similarity = this.getSimilarity();
        result = result * 59 + ($similarity == null ? 43 : $similarity.hashCode());
        Object $quality = this.getQuality();
        result = result * 59 + ($quality == null ? 43 : $quality.hashCode());
        Object $count = this.getCount();
        result = result * 59 + ($count == null ? 43 : $count.hashCode());
        Object $credentialType = this.getCredentialType();
        result = result * 59 + ($credentialType == null ? 43 : $credentialType.hashCode());
        Object $credentialNo = this.getCredentialNo();
        result = result * 59 + ($credentialNo == null ? 43 : $credentialNo.hashCode());
        Object $name = this.getName();
        result = result * 59 + ($name == null ? 43 : $name.hashCode());
        Object $personCode = this.getPersonCode();
        result = result * 59 + ($personCode == null ? 43 : $personCode.hashCode());
        return result;
    }

    public String toString() {
        return "SnapEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", userParams=" + this.getUserParams() + ", eventPic=" + this.getEventPic() + ", scenePic=" + this.getScenePic() + ", similarity=" + this.getSimilarity() + ", quality=" + this.getQuality() + ", count=" + this.getCount() + ", credentialType=" + this.getCredentialType() + ", credentialNo=" + this.getCredentialNo() + ", name=" + this.getName() + ", personCode=" + this.getPersonCode() + ")";
    }
}
