package org.yzh.web.model.entity; import io.github.yezhihao.protostar.util.ToStringBuilder; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; import org.yzh.protocol.commons.MessageId; import org.yzh.protocol.t808.T0200; import java.util.Objects; @Data @Accessors(chain = true) public class DeviceDO { @Schema(description = "设备id") private String deviceId; @Schema(description = "设备手机号") private String mobileNo; @Schema(description = "车牌号") private String plateNo; @Schema(description = "机构id") protected int agencyId; @Schema(description = "司机id(人脸识别)") protected int driverId; @Schema(description = "协议版本号") private int protocolVersion; @Schema(description = "实时状态") private T0200 location; public void updateLocation(T0200 location) { if (this.location == null) { this.location = location; } else if (this.location.getDeviceTime().isBefore(location.getDeviceTime())) { this.location = location; } } @Override public boolean equals(Object that) { if (this == that) { return true; } if (that == null) { return false; } if (getClass() != that.getClass()) { return false; } DeviceDO other = (DeviceDO) that; return Objects.equals(this.deviceId, other.deviceId); } @Override public int hashCode() { return ((deviceId == null) ? 0 : deviceId.hashCode()); } protected StringBuilder toStringHead() { final StringBuilder sb = new StringBuilder(768); sb.append('['); sb.append("deviceId=").append(deviceId); sb.append(",mobileNo=").append(mobileNo); sb.append(",plateNo=").append(plateNo); sb.append(",agencyId=").append(agencyId); sb.append(",driverId=").append(driverId); sb.append(",protocolVersion=").append(protocolVersion); sb.append(",location=").append(location); sb.append(']'); sb.append(','); return sb; } @Override public String toString() { String result = ToStringBuilder.toString(toStringHead(), this, false, "messageId", "clientId", "protocolVersion", "serialNo", "properties", "packageTotal", "packageNo"); return result; } }