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 com.xhpc.evcs.dto.CommonStationInfo;
import lombok.Data;

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

/**
 * 车为家
 *
 * @author yuyang
 * @Date 2025-07-16 9:55
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
        "StationID",
        "OperatorID",
        "EquipmentOwnerID",
        "StationName",
        "CountryCode",
        "AreaCode",
        "Address",
        "StationTel",
        "ServiceTel",
        "StationType",
        "StationStatus",
        "ParkNums",
        "StationLng",
        "StationLat",
        "Construction",
        "BusineHours",
        "OvertimeFee",
        "ElectricityFee",
        "ServiceFee",
        "ParkFee",
        "Payment",
        "EquipmentInfos",
        "ParkingDiscountType"
})
@Data
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
        setterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)

public class CWJStationInfo  extends CommonStationInfo {

    /**
     * 充电站国家代码
     */
    @Transient
    @JsonProperty("CountryCode")
    public String countryCcode;
    /**
     * 充电站省市辖区编码
     */
    @Transient
    @JsonProperty("AreaCode")
    public String areaCode;
    /**
     * 详情地址
     */
    @Transient
    @JsonProperty("Address")
    public String address;
    /**
     * 站点电话
     */
    @Transient
    @JsonProperty("StationTel")
    public String stationTel;
    /**
     * 服务电话
     */
    @Transient
    @JsonProperty("ServiceTel")
    public String serviceTel;
    /**
     * 站点类型
     */
    @Transient
    @JsonProperty("StationType")
    public Integer stationType;
    /**
     * 站点状态
     */
    @Transient
    @JsonProperty("StationStatus")
    public Integer stationStatus;
    /**
     * 车位数量
     */
    @Transient
    @JsonProperty("ParkNums")
    public Integer parkNums;
    /**
     * 经度
     */
    @Transient
    @JsonProperty("StationLng")
    public Double stationLng;
    /**
     * 纬度
     */
    @Transient
    @JsonProperty("StationLat")
    public Double stationLat;
    /**
     * 站点引导
     */
//    @Transient
//    @JsonProperty("SiteGuide")
//    public String siteGuide;
    /**
     * 建设场所
     */
    @Transient
    @JsonProperty("Construction")
    public Integer construction;
    /**
     * 站点照片
     */
//    @Transient
//    @JsonProperty("Pictures")
//    public String[] pictures;
    /**
     * 使用车型描述
     */
//    @Transient
//    @JsonProperty("MatchCars")
//    public String matchCars;
    /**
     * 车位楼层及数量描述
     */
//    @Transient
//    @JsonProperty("ParkInfo")
//    public String parkInfo;
    /**
     * 营业时间
     */
    @Transient
    @JsonProperty("BusineHours")
    public String busineHours;
    /**
     * 充 电 电 费 率
     */
    @Transient
    @JsonProperty("ElectricityFee")
    public String electricityFee;
    /**
     * 服务费率
     */
    @Transient
    @JsonProperty("ServiceFee")
    public String serviceFee;
    /**
     * 停车费
     */
    @Transient
    @JsonProperty("ParkFee")
    public String parkFee;
    /**
     * 支付方式
     */
    @Transient
    @JsonProperty("Payment")
    public String payment;
    /**
     * 是否支持预约
     */
//    @Transient
//    @JsonProperty("SupportOrder")
//    public Integer supportOrder;
    /**
     * 备注
     */
//    @Transient
//    @JsonProperty("Remark")
//    public String remark;

    /**
     * 充电设备信息列表
     */
    @Transient
    @JsonProperty("EquipmentInfos")
    public List<CWJEquipmentInfo> equipmentInfos = null;
    /**
     * 停车收费类型
     */
    @Transient
    @JsonProperty("ParkingDiscountType")
    public Integer parkingDiscountType;
    /**
     * 标签
     */
//    @Transient
//    @JsonProperty("Tags")
//    public String[] Tags;
    /**
     * 路书
     */
//    @Transient
//    @JsonProperty("RoadInfo")
//    public String[] roadInfo;

    @Transient
    @JsonProperty("OvertimeFee")
    String OvertimeFee;
}
