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;
import java.util.List;

/**
 * 充电设备信息
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EquipmentInfo {
    /**
     * 设备编码  Y
     * 设备唯一编码，对同一对接平台，保证唯一
     */
    @JSONField(name = "EquipmentID")
    private String equipmentID;

    /**
     * 设备生产商组织机构代码  Y
     */
    @JSONField(name = "ManufacturerID")
    private String manufacturerID;

    /**
     * 设备型号  N
     * 由设备生厂商定义的设备型号
     */
    // private String EquipmentModel;

    /**
     * 设备名称  N
     */
    // private String EquipmentName;

    /**
     * 设备生产日期  N
     * YYYY-MM-DD
     */
    // private String ProductionDate;

    /**
     * 建设时间  Y
     * YYYY-MM-DD
     */
    @JSONField(name = "ConstructionTime")
    private String constructionTime;

    /**
     * 设备类型(1-直流设备；2-交流设备；3-交直流一体设备)  Y
     */
    @JSONField(name = "EquipmentType")
    private Integer equipmentType;

    /**
     * 设备状态  Y
     * 0：未知
     * 1：建设中
     * 5：关闭下线
     * 6：维护中
     * 50：正常使用
     */
    @JSONField(name = "EquipmentStatus")
    private Integer equipmentStatus;

    /**
     * 额定功率(单位：kW)  Y
     */
    @JSONField(name = "EquipmentPower")
    private BigDecimal equipmentPower;

    /**
     * 新国标(0-否；1-是)  Y
     * 是否新国标
     */
    @JSONField(name = "NewNationalStandard")
    private Integer newNationalStandard;

    /**
     * 充电设备接口列表  Y
     * 该充电设备所有的充电设备接口的信息对象集合
     */
    @JSONField(name = "ConnectorInfos")
    private List<ConnectorInfo> connectorInfos;

    /**
     * 充电设备经度  N
     * GCJ-02坐标系
     */
    // private BigDecimal EquipmentLng;

    /**
     * 充电设备纬度  N
     * GCJ-02坐标系
     */
    // private BigDecimal EquipmentLat;

    /**
     * 是否支持VIN码识别(0-否；1-是)  Y
     */
    @JSONField(name = "VinFlag")
    private Integer vinFlag;

}
