package org.example.background.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

@Data
public class ElectricityData implements Serializable {

    //id
    @TableId
    private String electricityId;

    //终端地址 (设备编号)
    private String zdId;

    //互感电流倍率
    private Float taMultiplier;

    //互感电压倍率
    private Float tvMultiplier;

    //A相电流
    private Float aPhaseCurrent;

    //B相电流
    private Float bPhaseCurrent;

    //c相电流
    private Float cPhaseCurrent;

    //A相电压
    private Float aPhaseVoltage;

    //B相电压
    private Float bPhaseVoltage;

    //c相电压
    private Float cPhaseVoltage;

    //AB相电压
    private Float abPhaseVoltage;

    //BC相电压
    private Float bcPhaseVoltage;

    //AC相电压
    private Float acPhaseVoltage;

    //功率因数
    private Float powerFactor;

    //总有功功率
    private Float totalActivePower;

    //总无功功率
    private Float totalReactivePower;

    //视在功率
    private Float apparentPower;

    //频率
    private Float frequency;

    //正向有功电量
    private Float positiveActiveCharge;

    //反向有功电量
    private Float reverseActiveCharge;

    //正向有功尖电量
    private Float positiveActiveTipCharge;

    //正向有功峰电量
    private Float forwardActivePeakCharge;

    //正向有功平电量
    private Float positiveActivePowerLevel;

    //正向有功谷电量
    private Float positiveActiveValleyCharge;

    //反向有功尖电量
    private Float reverseActiveTipCharge;

    //反向有功峰电量
    private Float reverseActivePeakCharge;

    //反向有功平电量
    private Float reverseActivePowerLevel;

    //反向有功谷电量
    private Float reverseActiveValleyCharge;

    //@ApiModelProperty(value = "入库时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    //@ApiModelProperty(value = "整点采集时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date acquisitionTime;

    //@ApiModelProperty(value = "终端抄表时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date readTime;
}
