package com.njcn.gather.event.eventlist.pojo.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 暂态事件明细。
 */
@Data
@TableName("r_mp_event_detail")
public class MpEventDetailPO implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("event_id")
    private String eventId;

    private String measurementPointId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime startTime;

    private String eventType;

    private String advanceReason;

    private String advanceType;

    private BigDecimal featureAmplitude;

    private BigDecimal duration;

    private String eventassIndex;

    private Double dqTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime dealTime;

    private Integer num;

    private Integer fileFlag;

    private Integer dealFlag;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime firstTime;

    private String firstType;

    private BigDecimal firstMs;

    private Double energy;

    private Double severity;

    private String sagsource;

    private String phase;

    private String eventDescribe;

    private String wavePath;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime createTime;

    private Double transientValue;

    private String verifyReason;

    private String verifyReasonDetail;
}
