diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/ConnectorInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/ConnectorInfo.java new file mode 100644 index 000000000..5552760ad --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/ConnectorInfo.java @@ -0,0 +1,57 @@ +package com.jsowell.thirdparty.amap.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 充电设备接口信息 + */ + +@Data +public class ConnectorInfo { + + // 充电设备接口编码,同一运营商内唯一 + @JSONField(name = "ConnectorID") + private String connectorID; + + /** + * 充电设备接口类型 + * 1:家用插座(模式2) + * 2:交流接口插座(模式3,连接方式B) + * 3:交流接口插头(带枪线,模式3,连接方式C) + * 4:直流接口枪头(带枪线,模式4) 5:无线充电座 + * 6:其他 + */ + @JSONField(name = "ConnectorType") + private Integer connectorType; + + // 额定电压上限。单位:V + @JSONField(name = "VoltageUpperLimits") + private Integer voltageUpperLimits; + + // 额定电压上限。单位:V + @JSONField(name = "VoltageLowerLimits") + private Integer voltageLowerLimits; + + // 额定电流 单位:A + @JSONField(name = "Current") + private Integer current; + + // 额定功率 单位:kW 保留小数点后一位 + @JSONField(name = "Power") + private BigDecimal power; + + /** + * 国家标准 + * 1:2011 + * 2:2015 + */ + @JSONField(name = "NationalStandard") + private Integer nationalStandard; + + // 所属运营商的品牌名称 + @JSONField(name = "BrandDesc") + private String brandDesc; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/EquipmentInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/EquipmentInfo.java new file mode 100644 index 000000000..b6cb1e3e5 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/EquipmentInfo.java @@ -0,0 +1,43 @@ +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 EquipmentInfo { + // 设备唯一编码,对同一运营商,保证唯一 + @JSONField(name = "EquipmentID") + private String equipmentID; + + // 设备生产商名称 + @JSONField(name = "ManufacturerName") + private String manufacturerName; + + /** + * 设备类型 + * + * 1:直流设备 + * 2:交流设备 + * 3:交直流一体设备 + * 11:直流超充 + * 12:直流慢充 + * 13:交流快充 + */ + @JSONField(name = "EquipmentType") + private Integer equipmentType; + + // 充电设备接口列表 + @JSONField(name = "ConnectorInfos") + private List connectorInfos; + + // 充电设备总功率 单位:kW + @JSONField(name = "Power") + private BigDecimal power; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/PriceChargingInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/PriceChargingInfo.java new file mode 100644 index 000000000..3059765cc --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/PriceChargingInfo.java @@ -0,0 +1,46 @@ +package com.jsowell.thirdparty.amap.domain; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 站点充电价格 + * + * @author Lemon + * @Date 2023/6/14 11:02 + */ +@Data +public class PriceChargingInfo { + /** + * 时间段描述 + * 00:00-24:00表示全天电价相同 + * 02:00-03:00 + * 09:00-17:00 + */ + @JSONField(name = "FeeTime") + private String feeTime; + + /** + * 站点充电费 + * 只填数字或数字区间,单位:元/度。 + * 空表示未获取到价格,0.00表示免费 + * 格式:保留四位小数,如30.0000。 + * 示例: + * 2.0000 + */ + @JSONField(name = "ElectricityFee") + private BigDecimal electricityFee; + + /** + * 站点服务费 + * 只填数字或数字区间,单位:元/度。 + * 空表示未获取到价格,0.00表示免费 + * 格式:保留四位小数,如30.0000。 + * 示例: + * 2.0000 + */ + @JSONField(name = "ServiceFee") + private BigDecimal serviceFee; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/StationInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/StationInfo.java new file mode 100644 index 000000000..d6d734ab5 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/domain/StationInfo.java @@ -0,0 +1,148 @@ +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 StationInfo { + // 充电站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 String 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 priceChargingInfo; + + // 快充总桩数 + @JSONField(name = "FastEquipmentNum") + private Integer fastEquipmentNum; + + // 慢充总桩数 + @JSONField(name = "SlowEquipmentNum") + private Integer slowEquipmentNum; + + // 充电设备信息列表 + @JSONField(name = "EquipmentInfos") + private List equipmentInfos; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/AMapService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/AMapService.java new file mode 100644 index 000000000..419330e5b --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/amap/service/AMapService.java @@ -0,0 +1,5 @@ +package com.jsowell.thirdparty.amap.service; + +public class AMapService { + +}