package com.wzj.soopin.im.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.wzj.soopin.im.domain.SysMessage;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;

/**
 * 消息视图对象
 *
 * @author ruoyi
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysMessage.class)
public class SysMessageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ExcelProperty(value = "消息ID")
    private Long id;

    /** 消息标题 */
    @ExcelProperty(value = "消息标题")
    private String title;

    /** 消息内容 */
    @ExcelProperty(value = "消息内容")
    private String content;
    /** 扩展参数 */
    @ExcelProperty(value = "扩展参数")
    private String ext;

    /** 消息类型（AUTO自动/MANUAL手动） */
    @ExcelProperty(value = "消息类型")
    private String msgType;

    /** 触发条件 */
    @ExcelProperty(value = "触发条件")
    private String subType;

    /** 发送者ID */
    @ExcelProperty(value = "发送者ID")
    private String senderId;

    /** 发送者名称 */
    @ExcelProperty(value = "发送者")
    private String senderName;

    /** 定时发送时间 */
    @ExcelProperty(value = "定时发送时间")
    private Date scheduledTime;


    /** 创建时间 */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    /** 创建者 */
    private String createBy;

    /** 更新者 */
    private String updateBy;

    private SysMessageTemplateVo template;

    private Map<String, Object> params;
}
