From a036966b9e5250bbe3bf8c0d9ff6aec504b42072 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 25 Sep 2023 14:41:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E5=8D=97=E7=91=9E?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nanrui/domain/NRConnectorInfo.java | 74 ++++++++ .../nanrui/domain/NRConnectorStatusInfo.java | 73 ++++++++ .../nanrui/domain/NREquipmentInfo.java | 69 +++++++ .../thirdparty/nanrui/domain/NROrderInfo.java | 106 +++++++++++ .../nanrui/domain/NRStationInfo.java | 173 ++++++++++++++++++ .../nanrui/domain/NRStationStatusInfo.java | 22 +++ 6 files changed, 517 insertions(+) create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorInfo.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorStatusInfo.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NREquipmentInfo.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NROrderInfo.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationInfo.java create mode 100644 jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationStatusInfo.java diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorInfo.java new file mode 100644 index 000000000..ad6f423b2 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorInfo.java @@ -0,0 +1,74 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 充电设备接口列表 + * + * @author Lemon + * @Date 2023/9/25 13:53 + */ +@Data +public class NRConnectorInfo { + /** + * 充电设备接口编码 + */ + @JSONField(name = "ConnectorID") + private String connectorID; + + /** + * 充电设备接口名称 + */ + @JSONField(name = "ConnectorName") + private String connectorName; + + /** + * 充电设备接口类型 + * 1:家用插座(模式 2) + * 2:交流接口插座(模式 3,连接方式 B ) + * 3:交流接口插头(带枪线,模式 3,连接方式 C) + * 4:直流接口枪头(带枪线,模式 4) + * 5:无线充电座; + */ + @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; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorStatusInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorStatusInfo.java new file mode 100644 index 000000000..58229c941 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRConnectorStatusInfo.java @@ -0,0 +1,73 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 充电设备接口状态 + * + * @author Lemon + * @Date 2023/9/25 14:05 + */ +@Data +public class NRConnectorStatusInfo { + + /** + * 充电设备接口编码 + */ + @JSONField(name = "ConnectorID") + private String connectorID; + + /** + * 充电设备接口状态 + */ + @JSONField(name = "Status") + private Integer status; + + /** + * A 相电流 + */ + @JSONField(name = "CurrentA") + private Integer currentA; + + /** + * A 相电压 + */ + @JSONField(name = "VoltageA") + private Integer voltageA; + + /** + * 剩余电量 + * 保留小数点后一位 + * + * 默认:0 + * 交流充电桩采集不到SOC 值的填 0 + */ + @JSONField(name = "SOC") + private BigDecimal soc; + + /** + * 开始充电时间 + * 格 式 为 yyyy-MM-dd HH:mm:ss + */ + @JSONField(name = "Begin_time") + private String beginTime; + + /** + * 本次已充电量 + * 保留小数点后三位 + * + * 单位:kWh + */ + @JSONField(name = "Current_kwh") + private BigDecimal currentKwh; + + /** + * 时间戳 + * 数据生成时间(秒级时间戳) + */ + @JSONField(name = "Time_stamp") + private Integer timeStamp; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NREquipmentInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NREquipmentInfo.java new file mode 100644 index 000000000..4a56c305d --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NREquipmentInfo.java @@ -0,0 +1,69 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 充电设备信息 + * + * @author Lemon + * @Date 2023/9/25 13:49 + */ +@Data +public class NREquipmentInfo { + /** + * 设备编码 + * 设备唯一编码,对同一运营商,保证唯一 + */ + @JSONField(name = "EquipmentID") + private String equipmentID; + + /** + * 设备名称 + */ + @JSONField(name = "EquipmentName") + private String equipmentName; + + /** + * 充电桩投运日期 + * yyyy-MM-dd 格式 + */ + @JSONField(name = "OpenForBusinessDate") + private String openForBusinessDate; + + /** + * 设备类型 + * 1:直流设备 + * 2:交流设备 + * 3:交直流一体设备 + */ + @JSONField(name = "EquipmentType") + private Integer equipmentType; + + /** + * 设备状态 + * 0:未知 + * 1:建设中 + * 5:关闭下线 + * 6:维护中 + * 50:正常使用 + */ + @JSONField(name = "EquipmentStatus") + private Integer equipmentStatus; + + /** + * 额定功率 + * 单位:kW + */ + @JSONField(name = "Power") + private BigDecimal power; + + /** + * 充电设备接口列表 + */ + @JSONField(name = "ConnectorInfos") + private List connectorInfos; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NROrderInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NROrderInfo.java new file mode 100644 index 000000000..c79271306 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NROrderInfo.java @@ -0,0 +1,106 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * 订单信息 + * + * @author Lemon + * @Date 2023/9/25 14:33 + */ +@Data +public class NROrderInfo { + /** + * 运营商 ID + * 统一社会信用代码 + */ + @JSONField(name = "OperatorID") + private String operatorId; + + /** + * 充电设备接口编码 + */ + @JSONField(name = "ConnectorID") + private String connectorID; + + /** + * 充电业务编号 + */ + @JSONField(name = "StartChargeSeq") + private String startChargeSeq; + + /** + * 用户发起充电类型 + * 1:充电运营商平台注册用户 + * 2:监管平台注册用户 + * 3:其他 + */ + @JSONField(name = "UserChargeType") + private String userChargeType; + + /** + * 本次充电电量 + * 单位 kWh,精度 0.001, + * 如果不设置峰谷电价,平电量等于本次充电电量,其他分电量为零 + */ + @JSONField(name = "Elect") + private String elect; + + /** + * 尖阶段电量 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "CuspElect") + private String cuspElect; + + /** + * 峰阶段电量 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "PeakElect") + private String peakElect; + + /** + * 平阶段电量 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "FlatElect") + private String flatElect; + + /** + * 谷阶段电量 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "ValleyElect") + private String valleyElect; + + /** + * 本次充电开始时间 + * yyyy-MM-dd HH:mm:ss + */ + @JSONField(name = "StartTime") + private String startTime; + + /** + * 本次充电结束时间 + * yyyy-MM-dd HH:mm:ss + * + */ + @JSONField(name = "EndTime") + private String endTime; + + /** + * 电表总起值 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "MeterValueStart") + private String meterValueStart; + + /** + * 电表总止值 + * 单位 kWh,精度 0.001 + */ + @JSONField(name = "MeterValueEnd") + private String meterValueEnd; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationInfo.java new file mode 100644 index 000000000..32e8c1fb3 --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationInfo.java @@ -0,0 +1,173 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 南瑞充电平台站点信息 + * + * @author Lemon + * @Date 2023/9/25 13:38 + */ +@Data +public class NRStationInfo { + /** + * 充电站id + * 运营商自定义的唯一编码 + */ + @JSONField(name = "StationID") + private String stationId; + + /** + * 运营商id + * 统一社会信用代码 + */ + @JSONField(name = "OperatorID") + private String operatorID; + + /** + * 设备所属方ID + * 设备所属方组织机构代码 + */ + @JSONField(name = "EquipmentOwnerID") + private String equipmentOwnerID; + + /** + * 充电站名称 + */ + @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; + + /** + * 服务电话 + */ + @JSONField(name = "ServiceTel") + private String serviceTel; + + /** + * 站点类型 + * 1:公共充电区 + * 2:专用充电区 + * 3:居民充电区 + * 255:其他 + */ + @JSONField(name = "StationType") + private Integer stationType; + + /** + * 站点状态 + * 0:未知 + * 1:建设中 + * 5:关闭下线 + * 6:维护中 + * 50:正常使用 + */ + @JSONField(name = "StationStatus") + private Integer stationStatus; + + /** + * 车位数量 + * 可停放进行充电的车位总数 + * 默认:0 未知 + * + */ + @JSONField(name = "ParkNums") + private Integer parkNums; + + /** + * 经度 + */ + @JSONField(name = "StationLng") + private BigDecimal stationLng; + + /** + * 纬度 + */ + @JSONField(name = "StationLat") + private BigDecimal stationLat; + + /** + * 建设场所 + * 101:公共服务场所 + * 102:公共停车场 + * 103:城市交通节点 + * 104:加油站 + * 105:具备停车条件的 + * 充电区域 + * 106:高速服务区 + * 201:政府机关 + * 202:公共机构 + * 203:企业事业单位 + * 204:公交 + * 205:环卫 + * 206:物流 + * 207:出租车 + * 208:港口码头 + * 301:居民(小)区 + * 255:其他 + */ + @JSONField(name = "Construction") + private Integer construction; + + /** + * 站点照片 + * 充电设备照片、充电车位照片、停车场入口照片 + */ + @JSONField(name = "Pictures") + private List pictures; + + /** + * 站点投运日期 + * yyyy-MM-dd 格式 + */ + @JSONField(name = "OpenForBusinessDate") + private String openForBusinessDate; + + /** + * 是否全天开放 + * 0:否 + * 1:是 + */ + @JSONField(name = "OpenAllDay") + private Integer openAllDay; + + /** + * 营业时间 + */ + @JSONField(name = "BusineHours") + private String busineHours; + + /** + * 最低单价 + */ + @JSONField(name = "MinElectricityPrice") + private BigDecimal minElectricityPrice; + + /** + * 充电设备信息 + */ + @JSONField(name = "EquipmentInfos") + private List equipmentInfos; +} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationStatusInfo.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationStatusInfo.java new file mode 100644 index 000000000..40c948a4b --- /dev/null +++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/nanrui/domain/NRStationStatusInfo.java @@ -0,0 +1,22 @@ +package com.jsowell.thirdparty.nanrui.domain; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +import java.util.List; + +/** + * 充电站状态信息 + * + * @author Lemon + * @Date 2023/9/25 14:32 + */ +@Data +public class NRStationStatusInfo { + + @JSONField(name = "StationID") + private String stationId; + + @JSONField(name = "ConnectorStatusInfos") + private List connectorStatusInfos; +}