package com.zsElectric.boot.charging.entity;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * 充电设备信息实体类 - 字段首字母大写格式
 */
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
@JsonIgnoreProperties(ignoreUnknown = true)
public class EquipmentInfo {
    
    /** 设备编码 - 对同一运营商保证唯一,≤64字符 */
    @JsonProperty("EquipmentID")
    private String EquipmentID;
    
    /** 设备生产商组织机构代码 - 9字符 */
    @JsonProperty("ManufacturerID")
    private String ManufacturerID;
    
    /** 设备生产商名称 - ≤128字符 */
    @JsonProperty("ManufacturerName")
    private String ManufacturerName;
    
    /** 设备型号 - ≤64字符 */
    @JsonProperty("EquipmentModel")
    private String EquipmentModel;
    
    /** 设备生产日期 - YYYY-MM-DD格式 */
    @JsonProperty("ProductionDate")
    private String ProductionDate;
    
    /** 设备类型 - 1-直流设备,2-交流设备,3-交直流一体设备,4-无线设备,5-其他 */
    @JsonProperty("EquipmentType")
    private Integer EquipmentType;
    
    /** 充电设备接口列表 */
    @JsonProperty("ConnectorInfos")
    private List<ConnectorInfo> ConnectorInfos;
    
    /** 充电设备经度 - GCJ-02坐标系 */
    @JsonProperty("EquipmentLng")
    private Double EquipmentLng;
    
    /** 充电设备纬度 - GCJ-02坐标系 */
    @JsonProperty("EquipmentLat")
    private Double EquipmentLat;
    
    /** 充电设备总功率 - 单位:kW,保留小数点后1位 */
    @JsonProperty("Power")
    private Double Power;
    
    /** 充电设备名称 - ≤128字符 */
    @JsonProperty("EquipmentName")
    private String EquipmentName;
}
