package org.xyzh.common.dto.message;

import org.xyzh.common.dto.BaseDTO;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 用户接收消息表实体类
 *
 * @description 存储每个用户接收到的消息记录，包括阅读状态和发送状态
 * @filename TbSysMessageUser.java
 * @author Claude
 * @copyright xyzh
 * @since 2025-11-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class TbSysMessageUser extends BaseDTO {
    private static final long serialVersionUID = 1L;

    /**
     * 消息ID（关联tb_sys_message.messageID）
     */
    private String messageID;

    /**
     * 接收用户ID
     */
    private String userID;

    /**
     * 实际发送方式：system-系统消息/email-邮件/sms-短信
     */
    private String sendMethod;

    /**
     * 是否已读：0-未读，1-已读
     */
    private Boolean isRead;

    /**
     * 阅读时间
     */
    private Date readTime;

    /**
     * 发送状态：pending-待发送/success-发送成功/failed-发送失败
     */
    private String sendStatus;

    /**
     * 失败原因
     */
    private String failReason;

    /**
     * 创建人ID
     */
    private String creator;

    /**
     * 更新人ID
     */
    private String updater;
}
