package com.jsowell.thirdparty.platform.common;

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

import java.math.BigDecimal;

/**
 * TODO
 *
 * @author Lemon
 * @Date 2024/4/11 15:50:45
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ConnectorChargeStatusInfo {
    /**
     * 充电订单号
     */
    @JSONField(name = "StartChargeSeq")
    private String startChargeSeq;

    /**
     * 充电设接口编码
     */
    @JSONField(name = "ConnectorID")
    private String connectorID;

    /**
     * 充电订单状态
     * 1：启动中
     * 2：充电中
     * 3：停止中
     * 4：已结束
     * 5：订单挂起
     * 6：充电异常结束
     * 7：启动失败
     */
    @JSONField(name = "StartchargeSeqStatus")
    private Integer startchargeSeqStatus;

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

    /**
     * A 相电流
     * 保留 1 位小数
     */
    @JSONField(name = "CurrentA")
    private BigDecimal currentA;

    /**
     * A 相电压
     * 保留 1 位小数
     */
    @JSONField(name = "VoltageA")
    private BigDecimal voltageA;

    /**
     * 电池剩余电量
     * 保留 1 位小数
     */
    @JSONField(name = "Soc")
    private BigDecimal soc;

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

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

    /**
     * 累计充电量
     * 保留 2 位小数
     */
    @JSONField(name = "TotalPower")
    private BigDecimal totalPower;

    /**
     * 累计电费
     * 保留 2 位小数
     */
    @JSONField(name = "ElecMoney")
    private BigDecimal elecMoney;

    /**
     * 累计服务费
     * 保留 2 位小数
     */
    @JSONField(name = "SeviceMoney")
    private BigDecimal seviceMoney;

    /**
     * 累计总金额
     * 保留 2 位小数
     */
    @JSONField(name = "TotalMoney")
    private BigDecimal totalMoney;
}
