package com.jsowell.thirdparty.lianlian.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 充电设备接口充电中状态信息
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorChargeStatusInfo {
    /**
     * 充电订单号  Y
     * 对接平台系统订单编号
     */
    @JSONField(name = "StartChargeSeq")
    private String startChargeSeq;

    /**
     * 充电设备接口编码  Y
     * 平台下唯一枪口号
     */
    @JSONField(name = "ConnectorID")
    private String connectorID;

    /**
     * 充电设备接口状态  Y
     * 1：空闲
     * 2：占用（未充电）
     * 3：占用（充电中）
     * 4：占用（预约锁定）
     * 255：故障
     */
    @JSONField(name = "ConnectorStatus")
    private Integer connectorStatus;

    /**
     * 车辆识别码  N
     * 车辆识别号码或车架号码，由17位英数组成
     */
    @JSONField(name = "Vin")
    private String vin;

    /**
     * A相电流  Y
     * 单位：A，默认：0 含直流(输出)
     */
    @JSONField(name = "CurrentA")
    private BigDecimal currentA;

    /**
     * B相电流  N
     * 单位：A，默认：0
     */
    @JSONField(name = "CurrentB")
    private BigDecimal currentB;

    /**
     * C相电流  N
     * 单位：A，默认：0
     */
    @JSONField(name = "CurrentC")
    private BigDecimal currentC;

    /**
     * A相电压  Y
     * 单位：V，默认：0含直流(输出)
     */
    @JSONField(name = "VoltageA")
    private BigDecimal voltageA;

    /**
     * B相电压  N
     * 单位：V，默认：0
     */
    @JSONField(name = "VoltageB")
    private BigDecimal voltageB;

    /**
     * C相电压  N
     * 单位：V，默认：0
     */
    @JSONField(name = "VoltageC")
    private BigDecimal voltageC;

    /**
     * 电池剩余电量(默认：0)  Y
     */
    @JSONField(name = "Soc")
    private BigDecimal soc;

    /**
     * 开始充电时间  Y
     * 格式“yyyy-MM-dd HH:mm:ss”
     */
    @JSONField(name = "StartTime")
    private String startTime;

    /**
     * 本次采样时间  Y
     * 格式“yyyy-MM-dd HH:mm:ss”
     */
    @JSONField(name = "EndTime")
    private String endTime;

    /**
     * 累计充电量  Y
     * 单位：度，小数点后2位
     */
    @JSONField(name = "TotalPower")
    private BigDecimal totalPower;

    /**
     * 累计电费  Y
     * 单位：元，小数点后2位
     */
    @JSONField(name = "ElecMoney")
    private BigDecimal elecMoney;

    /**
     * 累计服务费  Y
     * 单位：元，小数点后2位
     */
    @JSONField(name = "SeviceMoney")
    private BigDecimal seviceMoney;

    /**
     * 累计总金额  Y
     * 单位：元，小数点后2位
     */
    @JSONField(name = "TotalMoney")
    private BigDecimal totalMoney;
}
