package org.dromara.domain.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.domain.SenEventsReport;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

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


/**
 * 推送记录视图对象 sen_events_report
 *
 * @author luogang
 * @date 2024-09-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SenEventsReport.class)
public class SenEventsReportVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 上报平台
     */
    @ExcelProperty(value = "上报平台")
    private String reportPlatform;

    /**
     * 事件id
     */
    @ExcelProperty(value = "事件id")
    private Long eventId;
    /**
     * 监控点id
     */
    @ExcelProperty(value = "监控点id")
    private Long pointId;

    /**
     * 监控点名称
     */
    @ExcelProperty(value = "监控点名称")
    private String pointName;

    /**
     * 事件名称
     */
    @ExcelProperty(value = "事件名称")
    private String eventName;

    /**
     * 数据详情
     */
    @ExcelProperty(value = "数据详情")
    private String dataContent;

    /**
     * 数据类型
     */
    @ExcelProperty(value = "数据类型")
    private String dataType;

    /**
     * 上报状态（0-发送成功1-发送失败）
     */
    @ExcelProperty(value = "上报状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=-发送成功1-发送失败")
    private String reportStatus;

    /**
     * 描述
     */
    @ExcelProperty(value = "描述")
    private String reportDesc;

    /**
     * 重试次数
     */
    @ExcelProperty(value = "重试次数")
    private Integer retryNum;

    /**
     * 创建者
     */
    @ExcelProperty(value = "创建者")
    private Long createBy;

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

    /**
     * 更新者
     */
    @ExcelProperty(value = "更新者")
    private Long updateBy;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    private Date updateTime;
}
