package com.jsowell.thirdparty.platform.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.*;

/**
 * 充电设备接口状态信息
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SupConnectorStatusInfo {
    /**
     * 名称: 平台运营商ID
     * 描述: 运营商服务平台ID
     */
    @JSONField(name = "OperatorID")
    private String operatorID;

    /**
     * 名称: 设备运营商ID
     * 描述: 设备所属方ID
     */
    @JSONField(name = "EquipmentOwnerID")
    private String equipmentOwnerID;

    /**
     * 名称: 充换电站ID
     * 描述: 唯一标识，运营商内唯一
     */
    @JSONField(name = "StationID")
    private String stationID;

    /**
     * 名称: 设备编码
     * 描述: 充电设备唯一标识，运营商内唯一
     */
    @JSONField(name = "EquipmentID")
    private String equipmentID;

    /**
     * 名称: 充电设备接口编码
     * 描述: 唯一标识，运营商自定义，运营商内唯一
     */
    @JSONField(name = "ConnectorID")
    private String connectorID;

    /**
     * 名称: 设备接口分类
     * 描述: 1：车辆充电设备接口
     * 2：换电站内的电池箱充电设备接口
     */
    @JSONField(name = "EquipmentClassification")
    private String equipmentClassification;

    /**
     * 名称: 接口状态
     * 描述: 0：离网1：空闲2：占用（未充电）3：占用（充电中）4：占用（预约锁定）255：故障其它：自定义
     */
    @JSONField(name = "Status")
    private Integer status;

    /**
     * 名称: 接口状态描述
     * 描述: 接口状态为自定义时的含义描述，接口状态为自定义时必填
     */
    @JSONField(name = "StatusDesc")
    private String statusDesc;

    /**
     * 名称: 车位状态
     * 描述: 0：未知10：空闲50：占用
     */
    @JSONField(name = "ParkStatus")
    private String parkStatus;

    /**
     * 名称: 地锁状态
     * 描述: 0：未知10：已解锁50：已上锁
     */
    @JSONField(name = "LockStatus")
    private String lockStatus = "0";

    /**
     * 名称: 电池状态
     * 描述: 0.空闲可用2.空闲不可用3.充电中4.车载中5.故障
     */
    @JSONField(name = "BatteryStatus")
    private String batteryStatus;

    /**
     * 名称: 电池箱编码
     * 描述: 电池系统唯一识别号
     */
    @JSONField(name = "BatteryPackID")
    private String batteryPackID;

    /**
     * 名称: 设备状态最后一次更新时间
     * 描述: 最近一次状态变化的时间，格式“yyyy-MM-ddHH:mm:ss”
     */
    @JSONField(name = "LastChangeTime")
    private String lastChangeTime;
}
