package com.hotwj.platform.noticeManagerment.systemNotification.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.noticeManagerment.systemNotification.domain.HotSystemNotification;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

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


/**
 * 系统通知视图对象 hot_system_notification
 *
 * @author shihongwei
 * @date 2026-01-07
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotSystemNotification.class)
public class HotSystemNotificationVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 等级（紧急和普通）
     */
    @ExcelProperty(value = "等级")
    private String level;

    /**
     * 消息内容
     */
    @ExcelProperty(value = "消息内容")
    private String content;

    /**
     * 来源类型
     */
    @ExcelProperty(value = "来源类型")
    private String sourceType;

    /**
     * 发送人类型（系统、政府端人员、企业端人员）
     */
    @ExcelProperty(value = "发送人类型")
    private String senderType;

    /**
     * 发送人ID
     */
    @ExcelProperty(value = "发送人ID")
    private Long senderId;

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

    /**
     * 发送人手机号
     */
    @ExcelProperty(value = "发送人手机号")
    private String senderMobile;

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

    /**
     * 状态（已读、未读）
     */
    @ExcelProperty(value = "状态")
    private String status;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "删除状态")
    private Long isDeleted;

    /**
     * 接收人类型（企业端人员、驾驶员）
     */
    @ExcelProperty(value = "接收人类型")
    private String receiverType;

    /**
     * 接收人ID
     */
    @ExcelProperty(value = "接收人ID")
    private String receiverId;

    /**
     * 接收人姓名
     */
    @ExcelProperty(value = "接收人姓名")
    private String receiverName;

    /**
     * 接收人所属企业Id
     */
    @ExcelProperty(value = "接收人所属企业Id")
    private Long companyId;

    /**
     * 收到时间
     */
    @ExcelProperty(value = "收到时间")
    private Date receiveTime;


}
