package com.xindazhou.vehicle.api.dto.mq;

import com.xindazhou.framework.mq.redis.core.stream.AbstractRedisStreamMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Map;

/**
 * 车辆报警消息（Redis MQ消息类）
 *
 * 用于车辆服务向消息服务发送报警通知
 * 通过Redis MQ异步发送，解耦车辆服务和消息服务
 *
 * 注意：此类位于API模块，供多个服务使用（车辆服务发送，消息服务消费）
 *
 * @author xindazhou
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class VehicleAlarmMessage extends AbstractRedisStreamMessage {

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 车辆ID
     */
    private Long vehicleId;

    /**
     * 报警类型
     */
    private String alarmType;

    /**
     * 报警数据
     */
    private Map<String, Object> alarmData;

    /**
     * 时间戳
     */
    private Long timestamp;

}

