package com.emotion.dto.websocket;

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * WebSocket聊天请求对象
 * 
 * @author huazhongmin
 * @date 2025-07-23
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatRequest {
    
    /**
     * 消息内容
     */
    @NotBlank(message = "消息内容不能为空")
    private String content;
    
    /**
     * 发送者ID
     */
    @NotBlank(message = "发送者ID不能为空")
    private String senderId;
    
    /**
     * 发送者类型
     */
    @NotBlank(message = "发送者类型不能为空")
    private String senderType;
    
    /**
     * 消息类型
     */
    @NotBlank(message = "消息类型不能为空")
    private String messageType;
    
    /**
     * 会话ID（可选）
     */
    private String conversationId;
    
    /**
     * 发送时间戳
     */
    private Long timestamp;
}
