package org.dromara.main.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("cs_message")
public class CsMessage {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 归属会话ID
     */
    private Long sessionId;

    /**
     * 消息唯一编号
     */
    private String msgNo;

    /**
     * 发送方类型: 1=用户/商家, 2=客服, 3=系统
     */
    private Integer senderType;

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

    /**
     * 消息类型: text/image/file/job_card/order_card/emoji
     */
    private String msgType;

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

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

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

    /**
     * 文件大小（字节）
     */
    private Long fileSize;

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

    /**
     * 卡片类消息的结构化数据（JSON字符串）
     */
    private String payload;

    /**
     * 状态: 1=正常, 2=已撤回
     */
    private Integer status;

    /**
     * 是否已读: 0=未读, 1=已读
     */
    private Integer isRead;

    /**
     * 发送时间
     */
    private LocalDateTime sendTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
}
