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;
|
}
|
}
|