package com.education.business.message.param;

import com.education.common.enums.PlatformEnum;
import com.education.common.enums.SocketMessageTypeEnum;

/**
 * @author zjt
 * @version 2.14.0
 * @Description
 * @createTime 2025/2/25 10:04
 */
public abstract class WebSocketMessage extends QueueMessage {

    /**
     * 学员id
     */
    private Integer userId;

    /**
     * socket session会话id
     */
    private String socketSessionId;

    /**
     * 用户hashToken
     */
    private String hashToken;

    /**
     * 推送平台
     */
    private PlatformEnum platformEnum;


    public WebSocketMessage(String messageId) {
        super(messageId);
    }

    public WebSocketMessage() {
    }

    public PlatformEnum getPlatformEnum() {
        return platformEnum;
    }

    public void setPlatformEnum(PlatformEnum platformEnum) {
        this.platformEnum = platformEnum;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getSocketSessionId() {
        return socketSessionId;
    }

    public void setSocketSessionId(String socketSessionId) {
        this.socketSessionId = socketSessionId;
    }

    public String getHashToken() {
        return hashToken;
    }

    public void setHashToken(String hashToken) {
        this.hashToken = hashToken;
    }


    public abstract SocketMessageTypeEnum getSocketMessageTypeEnum();

    @Override
    protected String getMessageIdPrefix() {
        return "websocket";
    }
}
