package com.xhpc.evcs.cwj.dto;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Transient;
import java.util.List;

/**
 * @author yuyang
 * @Date 2025-07-16 10:04
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
        "EquipmentID",
        "EquipmentName",
        "ManufacturerID",
        "ManufacturerName",
        "EquipmentModel",
        "ProductionDate",
        "EquipmentType",
        "Power",
        "ConnectorInfos"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
        setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)

public class CWJEquipmentInfo {
    /**
     * 设备编码
     */
    @JsonProperty("EquipmentID")
    public String equipmentID;
    /**
     * 充电设备名称
     */
    @JsonProperty("EquipmentName")
    public String equipmentName;
    /**
     * 设备生产商组织机构代码
     */
    @JsonProperty("ManufacturerID")
    public String manufacturerID;
    /**
     * 设备生产商名称
     */
    @JsonProperty("ManufacturerName")
    public String manufacturerName;
    /**
     * 设备型号
     */
    @Transient
    @JsonProperty("EquipmentModel")
    public String equipmentModel;
    /**
     * 设备生产日期
     */
    @JsonProperty("ProductionDate")
    public String productionDate;
    /**
     * 设备类型
     */
    @JsonProperty("EquipmentType")
    public Integer equipmentType;
    /**
     * 充 电 设 备 经度
     */
//    @JsonProperty("EquipmentLng")
//    public Double equipmentLng;
    /**
     * 充电设备 纬度
     */
//    @JsonProperty("EquipmentLat")
//    public Double equipmentLat;
    /**
     * 充电设备总功率
     */
    @Column(columnDefinition = "Decimal(10,1)")
    @JsonProperty("Power")
    public Double power;
    /**
     * 充电设备 接口列表
     */
    @JsonProperty("ConnectorInfos")
    public List<CWJConnectorInfo> connectorInfos;

}
