package com.xindazhou.message.service;

import java.util.Map;

/**
 * 推送服务接口
 *
 * @author xindazhou
 */
public interface PushService {

    /**
     * 推送状态更新
     *
     * @param userId 用户ID
     * @param vehicleId 车辆ID
     * @param statusData 状态数据
     */
    void pushStatusUpdate(Long userId, Long vehicleId, Map<String, Object> statusData);

    /**
     * 推送站内信
     *
     * @param userId 用户ID
     * @param messageData 消息数据
     */
    void pushInboxMessage(Long userId, Map<String, Object> messageData);

    /**
     * 推送到房间
     *
     * @param room 房间名称
     * @param event 事件名称
     * @param data 数据
     */
    void pushToRoom(String room, String event, Object data);

    /**
     * 推送给指定用户
     *
     * @param userId 用户ID
     * @param event 事件名称
     * @param data 数据
     */
    void pushToUser(Long userId, String event, Object data);

}

