package com.usky.sas.service.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.usky.sas.domain.SasPic;

@JsonIgnoreProperties(
        ignoreUnknown = true
)
public class ParkingEventInfo {
    private String deviceId;
    private Integer channel;
    private Integer eventCode;
    private String triggerTime;
    private String receivingTime;
    private String note;
    private SasPic eventPic;
    private SasPic placePic;
    private Integer similarity;
    private String entranceCode;
    private Integer io;
    private String plateNo;
    private Integer plateCode;
    private Integer carCode;
    private String plateColor;

    public ParkingEventInfo() {
    }

    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 SasPic getEventPic() {
        return this.eventPic;
    }

    public SasPic getPlacePic() {
        return this.placePic;
    }

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

    public String getEntranceCode() {
        return this.entranceCode;
    }

    public Integer getIo() {
        return this.io;
    }

    public String getPlateNo() {
        return this.plateNo;
    }

    public Integer getPlateCode() {
        return this.plateCode;
    }

    public Integer getCarCode() {
        return this.carCode;
    }

    public String getPlateColor() {
        return this.plateColor;
    }

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

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

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

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

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

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

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

    public ParkingEventInfo setPlacePic(SasPic placePic) {
        this.placePic = placePic;
        return this;
    }

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

    public ParkingEventInfo setEntranceCode(String entranceCode) {
        this.entranceCode = entranceCode;
        return this;
    }

    public ParkingEventInfo setIo(Integer io) {
        this.io = io;
        return this;
    }

    public ParkingEventInfo setPlateNo(String plateNo) {
        this.plateNo = plateNo;
        return this;
    }

    public ParkingEventInfo setPlateCode(Integer plateCode) {
        this.plateCode = plateCode;
        return this;
    }

    public ParkingEventInfo setCarCode(Integer carCode) {
        this.carCode = carCode;
        return this;
    }

    public ParkingEventInfo setPlateColor(String plateColor) {
        this.plateColor = plateColor;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof ParkingEventInfo)) {
            return false;
        } else {
            ParkingEventInfo other = (ParkingEventInfo)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$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$placePic = this.getPlacePic();
                Object other$placePic = other.getPlacePic();
                if (this$placePic == null) {
                    if (other$placePic != null) {
                        return false;
                    }
                } else if (!this$placePic.equals(other$placePic)) {
                    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$entranceCode = this.getEntranceCode();
                Object other$entranceCode = other.getEntranceCode();
                if (this$entranceCode == null) {
                    if (other$entranceCode != null) {
                        return false;
                    }
                } else if (!this$entranceCode.equals(other$entranceCode)) {
                    return false;
                }

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

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

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

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

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

                return true;
            }
        }
    }

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

    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 $eventPic = this.getEventPic();
        result = result * 59 + ($eventPic == null ? 43 : $eventPic.hashCode());
        Object $placePic = this.getPlacePic();
        result = result * 59 + ($placePic == null ? 43 : $placePic.hashCode());
        Object $similarity = this.getSimilarity();
        result = result * 59 + ($similarity == null ? 43 : $similarity.hashCode());
        Object $entranceCode = this.getEntranceCode();
        result = result * 59 + ($entranceCode == null ? 43 : $entranceCode.hashCode());
        Object $io = this.getIo();
        result = result * 59 + ($io == null ? 43 : $io.hashCode());
        Object $plateNo = this.getPlateNo();
        result = result * 59 + ($plateNo == null ? 43 : $plateNo.hashCode());
        Object $plateCode = this.getPlateCode();
        result = result * 59 + ($plateCode == null ? 43 : $plateCode.hashCode());
        Object $carCode = this.getCarCode();
        result = result * 59 + ($carCode == null ? 43 : $carCode.hashCode());
        Object $plateColor = this.getPlateColor();
        result = result * 59 + ($plateColor == null ? 43 : $plateColor.hashCode());
        return result;
    }

    public String toString() {
        return "ParkingEventInfo(deviceId=" + this.getDeviceId() + ", channel=" + this.getChannel() + ", eventCode=" + this.getEventCode() + ", triggerTime=" + this.getTriggerTime() + ", receivingTime=" + this.getReceivingTime() + ", note=" + this.getNote() + ", eventPic=" + this.getEventPic() + ", placePic=" + this.getPlacePic() + ", similarity=" + this.getSimilarity() + ", entranceCode=" + this.getEntranceCode() + ", io=" + this.getIo() + ", plateNo=" + this.getPlateNo() + ", plateCode=" + this.getPlateCode() + ", carCode=" + this.getCarCode() + ", plateColor=" + this.getPlateColor() + ")";
    }
}
