package com.wecloud.im.ws.model;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @Description websocket服务端响应消息和下方消息的封装对象
 * @Author hewei hwei1233@163.com
 * @Date 2019-12-05
 */
@Data
@Accessors(chain = true)
public class WsResponse<T> implements Serializable {

    /**
     * 枚举类 {@link com.wecloud.im.ws.enums.WsResponseCmdEnum WsResponseCmdEnum} 请求uri的编码
     * 由于webSocket使用同一个通道发送数据，需要区分不同类型请求
     */
    private Integer cmd;

    /**
     * 状态码
     */
    private int code;

    /**
     * 状态描述
     */
    private String msg;

    /**
     * json数据
     */
    private T data;

    /**
     * 请求id, 以判空是否发送成功, 服务端处理完成后返回
     * 可以以当前时间戳为id
     */
    private String reqId;

}
