package com.jsowell.thirdparty.amap.domain;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 充电站信息
 */

@Data
public class AMapStationInfo {
    // 充电站ID  运营商自定义的唯一编码
    @JSONField(name = "StationID")
    private String stationID;

    // 运营商ID
    @JSONField(name = "OperatorID")
    private String operatorID;

    // 设备所属方ID  设备所属运营平台组织机构代码
    @JSONField(name = "EquipmentOwnerID")
    private String equipmentOwnerID;

    // 充电站运营商品牌名称
    // -拼接poi名称使用，请谨慎填写
    @JSONField(name = "OperatorName")
    private String operatorName;

    /**
     * 充电站名称的描述
     * -拼接poi名称使用，请谨慎填写
     */
    @JSONField(name = "StationName")
    private String stationName;

    // 充电站国家代码  比如CN
    @JSONField(name = "CountryCode")
    private String countryCode;

    // 充电站省市辖区编码
    @JSONField(name = "AreaCode")
    private String areaCode;

    // 详细地址，不含省市区
    @JSONField(name = "Address")
    private String address;

    // 平台服务电话，例如400的电话
    @JSONField(name = "ServiceTel")
    private String serviceTel;

    /**
     * 站点类型
     * 1：公共
     * 50：个人
     * 60：换电站
     * 70：充换电站
     * 100：公交（专用）
     * 101：环卫（专用）
     * 102：物流（专用）
     * 103：出租车（专用）
     * 106：车企站（专用）
     * 255：其他
     */
    @JSONField(name = "StationType")
    private Integer stationType;

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

    /**
     * 营业状态
     * 0：完全对外
     * 7：不对外开放
     */
    @JSONField(name = "OpenType")
    private Integer openType;

    // 车位数量  可停放进行充电的车位总数，默认：0 未知
    @JSONField(name = "ParkNums")
    private Integer parkNums;

    // 经度
    @JSONField(name = "StationLng")
    private BigDecimal stationLng;

    // 纬度
    @JSONField(name = "StationLat")
    private BigDecimal stationLat;

    /**
     * 建设场所
     * 1：居民区
     * 2：公共机构
     * 3：企事业单位
     * 4：写字楼
     * 5：工业园区
     * 6：交通枢纽
     * 7：大型文体设施
     * 8：城市绿地
     * 9：大型建筑配建停车场
     * 10：路边停车位
     * 11：城际高速服务区
     * 12：商业综合体
     * 13：购物中心
     * 14：景区
     * 15：酒店
     * 255：其他
     */
    @JSONField(name = "Construction")
    private Integer construction;

    /**
     * 营业时间描述。
     * 结构化时间，如：
     * 00:00-24:00;
     * 08:00-20:00
     */
    @JSONField(name = "BusineHours")
    private String busineHours;

    // 充电收费信息
    @JSONField(name = "PriceChargingInfo")
    private List<AMapPriceChargingInfo> PriceChargingInfo;

    // 快充总桩数
    @JSONField(name = "FastEquipmentNum")
    private Integer fastEquipmentNum;

    // 慢充总桩数
    @JSONField(name = "SlowEquipmentNum")
    private Integer slowEquipmentNum;

    // 充电设备信息列表
    @JSONField(name = "EquipmentInfos")
    private List<AMapEquipmentInfo> EquipmentInfos;
}
