This commit is contained in:
2023-09-25 14:54:34 +08:00
6 changed files with 517 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<NRConnectorInfo> connectorInfos;
}

View File

@@ -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;
}

View File

@@ -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<String> 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<NREquipmentInfo> equipmentInfos;
}

View File

@@ -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<NRConnectorStatusInfo> connectorStatusInfos;
}