package com.ym.mec.common.entity;

/**
 * @author hgw
 * Created by 2022-02-25
 */
public class ImRoomMessage extends BaseMessage {

    //objectName 类型-将所有人强制踢出房间
    public static final String FORCED_OFFLINE = "RC:ForcedOffline";

    //objectName 类型-观看者退出房间
    public static final String LOOKER_LOGIN_OUT = "RC:LookerLoginOut";

    //objectName 类型-观看者数量-该消息只有主播端接
    public static final String MEMBER_COUNT = "RC:Chatroom:MemberCountUp";

    //objectName 类型-商品变更
    public static final String LIVE_GOODS_CHANGE = "DY:LIVE_GOODS_CHANGE";

    //objectName 类型-在黑名单中添加该用户
    public static final String BLOCK_BLACK_USER = "RC:BLOCK_BLACK_USER";

    //objectName 类型-在黑名单中解除该用户
    public static final String UNBLOCK_BLACK_USER = "RC:UNBLOCK_BLACK_USER";

    /**
     * <p>必传
     * 消息类型
     */
    private String objectName;

    /**
     * <p>必传
     * 消息内容
     */
    private Object content;

    /**
     * <p>必传
     * 发送者id
     */
    private String fromUserId;

    /**
     * <p>必传
     * 发送到的房间uid
     */
    private String toChatroomId;

    /**
     * <p>非必传
     * <p>开通“聊天室消息云存储”服务情况下，针对融云服务端历史消息中是否存储此条消息，
     * <p>0 表示为不存储、 1 表示为存储，默认为 1 存储消息。
     * <p>客户端发送自定义消息时则根据消息注册的 ISPERSISTED 标识判断是否在服务端存储。
     */
    private Integer isPersisted = 1;

    /**
     * <p>非必传
     * <p>发送用户自己是否接收消息，0 表示为不接收，1 表示为接收，
     * <p>默认为 0 不接收，只有向一个聊天室发送消息时此参数有效。
     * <p>如开通了聊天室消息云存储功能，不为 1 时该消息不会存储到历史消息中。
     */
    private Integer isIncludeSender = 0;

    @Override
    public String getObjectName() {
        return objectName;
    }

    public void setObjectName(String objectName) {
        this.objectName = objectName;
    }

    public Object getContent() {
        return content;
    }

    public void setContent(Object content) {
        this.content = content;
    }

    public String getFromUserId() {
        return fromUserId;
    }

    public void setFromUserId(String fromUserId) {
        this.fromUserId = fromUserId;
    }

    public String getToChatroomId() {
        return toChatroomId;
    }

    public void setToChatroomId(String toChatroomId) {
        this.toChatroomId = toChatroomId;
    }

    /**
     * 0 表示为不存储、 1 表示为存储
     */
    public Integer getIsPersisted() {
        return isPersisted;
    }

    /**
     * 0 表示为不存储、 1 表示为存储
     */
    public void setIsPersisted(Integer isPersisted) {
        this.isPersisted = isPersisted;
    }

    /**
     * 0 表示为不接收，1 表示为接收
     */
    public Integer getIsIncludeSender() {
        return isIncludeSender;
    }

    /**
     * 0 表示为不接收，1 表示为接收
     */
    public void setIsIncludeSender(Integer isIncludeSender) {
        this.isIncludeSender = isIncludeSender;
    }
}
