package org.dromara.main.domain.bo;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Map;

@Data
public class CsMessageBo {

    /**
     * 会话ID
     */
    @NotNull(message = "会话ID不能为空")
    private Long sessionId;

    /**
     * 消息唯一编号
     */
    @NotBlank(message = "消息编号不能为空")
    private String msgNo;

    /**
     * 发送者ID
     */
    private Long senderId;

    /**
     * 消息类型
     */
    @NotBlank(message = "消息类型不能为空")
    private String msgType;

    /**
     * 文本消息内容
     */
    private String content;

    /**
     * 文件URL
     */
    private String fileUrl;

    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 文件大小
     */
    private Long fileSize;

    /**
     * 文件类型
     */
    private String fileType;

    /**
     * 卡片数据（用于job_card和order_card）
     */
    private Map<String, Object> payload;


    // 在 CsMessageBo 类中确认或补充以下字段
//    private Long sessionId;
    private Long beforeMsgId; // 可选，用于增量加载（上一页最后一条消息的ID）
}
