package org.xyzh.api.message.vo;

import java.util.List;

import org.xyzh.api.message.dto.TbMessageReceiverDTO;
import org.xyzh.common.vo.BaseVO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @description    消息VO（包含消息详情和发送范围）
 * @filename    MessageVO.java
 * @author    yslg
 * @copyright yslg
 * @since 2025-11-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "消息VO")
public class MessageVO extends BaseVO {
    
    @Schema(description = "消息ID")
    private String messageId;

    @Schema(description = "消息标题")
    private String title;

    @Schema(description = "消息内容")
    private String content;

    @Schema(description = "消息类型")
    private String type;

    @Schema(description = "消息状态")
    private String status;

    @Schema(description = "消息发送范围列表")
    private List<MessageRangeChannelVO> messageRanges;

    @Schema(description = "消息接收记录列表（管理员查看时使用）")
    private List<TbMessageReceiverDTO> messageReceivers;
}
