package org.xyzh.api.message.vo;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.fastjson2.annotation.JSONField;
import java.util.Date;
import org.xyzh.common.vo.BaseVO;

/**
 * 用户消息接收记录VO
 * 用于前端展示用户消息信息
 */
@Data
@Schema(description = "用户消息接收记录VO")
public class MessageReceiverVO 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 typeName;
    
    @Schema(description = "用户ID")
    private String userId;
    
    @Schema(description = "用户姓名")
    private String userName;
    
    @Schema(description = "接收渠道")
    private String channel;
    
    @Schema(description = "渠道名称")
    private String channelName;
    
    @Schema(description = "消息状态：unread-未读/read-已读/handled-已处理/deleted-已删除")
    private String status;
    
    @Schema(description = "状态名称")
    private String statusName;
    
    @Schema(description = "状态颜色")
    private String statusColor;
    
    @Schema(description = "阅读时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date readTime;
    
    @Schema(description = "处理时间", format = "date-time")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;
    
    @Schema(description = "服务类型")
    private String serviceType;
}
