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;

/**
 * @author yuyang
 * @Date 2025-07-16 10:12
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
        "ConnectorID",
        "ConnectorName",
        "ConnectorType",
        "VoltageUpperLimits",
        "VoltageLowerLimits",
        "Current",
        "Power",
        "NationalStandard"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
        setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
public class CWJConnectorInfo {
    @JsonProperty("ConnectorID")
    public String connectorID;
    @JsonProperty("ConnectorName")
    public String connectorName;
    // 1：家用插座（模式 2）
    // 2：交流接口插座（模式 3， 连接方式 B ）
    // 3：交流接口插头（带枪线， 模式 3，连接方式 C）
    // 4：直流接口枪头（带枪线， 模式 4）
    // 5：无线充电座
    // 6：其他
    @JsonProperty("ConnectorType")
    public Integer connectorType;
    @JsonProperty("VoltageUpperLimits")
    public Integer voltageUpperLimits;
    @JsonProperty("VoltageLowerLimits")
    public Integer voltageLowerLimits;
    @JsonProperty("Current")
    public Integer current;

    @Column(columnDefinition = "Decimal(10,1)")
    @JsonProperty("Power")
    public Double power;

//    @JsonProperty("ParkNo")
//    public String ParkNo;

    @JsonProperty("NationalStandard")
    public Integer nationalStandard;
//    /**
//     * 是否有地锁
//     */
//    @Transient
//    @JsonProperty("ParkingLockFlag")
//    public Integer parkingLockFlag;
//    /**
//     * 充电设备接口二维码
//     */
//    @Transient
//    @JsonProperty("QRCode")
//    public Integer qRCode;
//    /**
//     * 枪编码
//     */
//    @Transient
//    @JsonProperty("Stubld")
//    public String stubld;

}
