CollisionAvoidanceSystem/src/main/java/com/dongni/collisionavoidance/webSocket/event/CollisionWarningEvent.java

50 lines
1.2 KiB
Java

package com.dongni.collisionavoidance.websocket.event;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.Instant;
import java.util.UUID;
import com.dongni.collisionavoidance.websocket.message.CollisionWarningPayload;
/**
* 碰撞预警事件
* 当检测到碰撞风险时发布此事件
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CollisionWarningEvent implements WebSocketEvent {
private final String eventId;
private final long timestamp;
private final String eventType;
private final CollisionWarningPayload payload;
public CollisionWarningEvent(CollisionWarningPayload payload) {
this.eventId = UUID.randomUUID().toString();
this.timestamp = Instant.now().toEpochMilli() * 1000; // 微秒级时间戳
this.eventType = "collision_warning";
this.payload = payload;
}
@Override
public String getEventId() {
return eventId;
}
@Override
public long getTimestamp() {
return timestamp;
}
@Override
public String getEventType() {
return eventType;
}
@Override
public CollisionWarningPayload getPayload() {
return payload;
}
}