package com.sonic.pigeon.domain.input;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author zzhan
 * @Date 2020/10/28 11:23
 * @Version 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReceiveImMsgInput {

    private String key;

    /** 参见第三方回调事件类型，包括：点对点消息、群消息、聊天室消息、超大群消息 */
    private Integer eventType;

    /**  消息发送者的用户账号 */
    private String fromAccount;

    /**  发送方昵称 */
    private String fromNick;

    /**  发送客户端类型： AOS、IOS、PC、WINPHONE、WEB、REST */
    private String fromClientType;

    /**  发送设备id */
    private String fromDeviceId;

    /**  若eventType为1，则to为消息接收者的用户账号，字符串类型
     若eventType为2，则to为tid，即群id，可转为Long型数据
     若eventType为6，则to为roomid，即聊天室id，可转为Long型数据
     若eventType为22，则to为tid，即超大群id，可转为Long型数据 */
    private String to;

    /**  消息发送时间 */
    private String msgTimestamp;

    /**  TEXT ：文本消息
     PICTURE ：图片消息
     AUDIO ：语音消息
     VIDEO ：视频消息
     LOCATION ：地理位置
     NOTIFICATION ：通知
     FILE ：文件消息
     TIPS ：提示类型消息
     CUSTOM ：自定义消息 */
    private String msgType;

    /**  消息发送方的客户端IP地址 */
    private String fromClientIp;

    /**  消息发送方的客户端端口号 */
    private String fromClientPort;

    /**  客户端消息Id */
    private String msgidClient;

    /**  消息内容 */
    private String body;

    /**  消息附件 */
    private String attach;

    /**  消息扩展字段 */
    private String ext;

}
